sábado, novembro 22, 2008

Piada Nerd

"Estavam o seno e o cosseno dançando em uma festa, quando eles vêem a exponencial quieta num canto. Daí, eles vão até lá e dizem:

- Por que você está aí isolada exponencial? Por que você não se integra?

E a exponencial responde:

- Me integrar pra quê, se eu fico na mesma?
"

Huahuhau, muito boa Rafael!

quarta-feira, novembro 12, 2008

SBGames 2008

Infelizmente não pude ir ao SBGames, evento que começou no dia 10 e termina hoje, em Belo Horizonte. Pra compensar, tratei de pegar tudo que o site tem a oferecer sobre o evento, e olha a capa do Kit de Sobreviência que eles disponibilizaram (bom demais):


No mais, vale conferir os PDFs com os artigos, posters e tutoriais do congresso. Tudo isto está disponível neste link.

domingo, novembro 02, 2008

Making of do Max Payne


Não, não é o making of do filme que está sendo feito sobre o jogo. Trata-se de um artigo sobre os dois primeiros (e até então únicos) jogos da série. É bem interessante, vale o clique:

The Making of Max Payne

Até a próxima!

sábado, setembro 20, 2008

XIII Maratona de Programação da SBC

Para quem não sabe, acabou às sete da noite a etapa regional da XIII Maratona de Programação da Sociedade Brasileira de Computação (SBC), uma competição patrocinada pela IBM e que faz parte do Concurso de Programação da Association for Computing Machinery (ACM-ICPC) , a acontecer em Estocolmo, na Suécia.

Essa foi a primeira vez o UNIFESO (onde eu estudo) cediou uma etapa regional da Maratona e também minha primeira participação na competição. A notícia boa é que minha equipe venceu e agora está classificada para a final nacional, em Vila Velha, perto de Vitória, no Centro Universitário Vila Velha (UVV).

Aos meus colegas de equipe: parabéns, vocês são bons pra caramba!

quarta-feira, setembro 17, 2008

Meme - Os jogos que já joguei

O Bruno Croci me convidou pra esse meme sobre quais jogos eu já joguei. A brincadeira consiste em criar uma lista usando o Gaming Social do Orkut.

Eu comecei a lista, mas não tive tempo de terminar. No fim de semana eu ponho mais títulos.

Entre os que já estão lá meu destaque vai pra Call of Duty 4. Pessoal, é sério, quem não jogou TEM que jogar. Esse jogo certamente é um dos melhores que eu já joguei até hoje.



Como a maioria dos blogs que eu acompanho já foram convidados, vou deixar o convite em aberto pra quem quiser participar.

É isso, até a próxima.

segunda-feira, setembro 01, 2008

Artigo sobre Sockets

No semestre passado, o David e eu escrevemos um artigo sobre Sockets para a disciplina de Sistemas Distribuídos na faculdade. O artigo basicamente descreve um rápido histórico e as principais funções para se trabalhar com Sockets no ambiente Windows (usando WinSock).

Para cada função descrita, entre elas criação e destruição de Sockets, conexão, envio e recepção de mensagens, um trecho de código é apresentado em conjunto, exemplificando seu funcionamento.

Apesar de não ser algo muito complexo, o texto pode ajudar quem quer começar a trabalhar com Sockets, seja para a criação de jogos em rede ou não. Quem se interessar, pode baixar o PDF aqui.

Até a próxima.

sábado, julho 19, 2008

sábado, julho 12, 2008

O que você está jogando atualmente?

O Rodrigo perguntou e eu tomei a liberdade de responder aqui. Bem, eu jogo vários jogos ao mesmo tempo, sem realmente de dedicar a um específico, mas vou citar os principais:

  • Fifa 08: é o que mais jogo, me amarro no modo "Manager" onde você atual como um técnico por várias temporadas. Atualmente estou na 3° temporada com o time do Milan e já fui bi-campeão italiano e campeão da Liga dos Campeões.
  • The Elder Scrolls IV - Oblivion: RPG bem bacana, ainda estou bem no começo (mais ou menos umas três horas de jogo.
  • Neverwinter Nigths 2: Outro RPG fodástico. Também estou bem no começo.
  • Splinter Cell: esse eu estou bem longe, numa parte onde tenho que resgatar uns caras que o vilão do jogo queria eliminar ao vivo pela internet.
  • The Matrix - Path of Neo: eu tenho esse jogo há muito tempo, mas nunca tinha jogado pra valer. Agora eu estou na primeira missão dentro da Matrix mesmo (antes disso era tudo parte do treinamento).
  • Fable - The Lost Chapters: estou numa missão chatissíma onde eu tenho que salvar uns mercadores que insistem em morrer.
  • Xpand Rally Xtreme: um rally básico pra relaxar.
  • Halo 2: esse eu começei hoje e me surpreendi. Gostei bastante do estilo do jogo que, apesar de não diferir muito de outros FPS, é bem interessante e ainda traz umas cutcenes muito bem feitas.

  • The Elder Scrolls IV - Oblivion
    É isso. E você, o que está jogando atualmente?

    domingo, julho 06, 2008

    Jogo da Velha

    Conforme eu comentei anteriormente, eu estava fazendo um jogo da velha para a disciplina de Sistemas Distribuídos na faculdade. O período acabou e o jogo ficou quase pronto.

    Ele está funcionando bem, porém algumas vezes acontecem uns bugs que eu ainda não consegui solucionar. O mais comum (mas não tão comum assim) é um jogador vencer e o jogo dizer que deu empate. Uma outra coisa que está faltando é implementar a desconexão de um jogador do servidor, por enquanto quando isso acontece o servidor pode ficar instável e enviar mensagens erradas (além de "prender" o outro jogador no jogo).

    Apesar disso, o jogo já está praticamente pronto e eu estou disponibilizando os binários pra quem quiser testar. O código-fonte, conforme combinado com o professor da disciplina, estará disponível em breve, assim que eu tiver um tempo para incluir uns comentários e deixá-lo mais legível.

    Pra jogar, basta rodar o servidor.exe e depois dois ou mais cliente.exe. Um novo jogo é criado sempre que dois clientes se conectam, então se um número ímpar de clientes estiverem conectados, o último a entrar fica aguardando numa fila.

    O jogo funciona localmente (com o IP loop back 127.0.0.1) ou em rede, bastando mudar o endereço no arquivo ip.txt (coloque o endereço da máquina onde o servidor está rodando). Se for jogar em rede, recomendo que desligue o seu Firewall caso o jogo apresente algum problema de conexão.

    Por fim, o jogo foi desenvolvido no Visual C++ 2008 Express Edition (com Allegro e WinSocket) e pode ser necessário instalar o pacote de redistribuição do VC++ para jogar. Se for o caso, o instalador (de 1.7MB) pode ser encontrado aqui.

    Para fazer o download e testar o jogo da velha, basta clicar aqui. Qualquer dúvida ou sugestão, falem nos comentários. Se encontrarem algum bug (além dos já comentados) não deixem de falar também.

    P.S.: O carnaval da tela de jogo é culpa do David.
    P.S.2: Agradecimentos à galera, tanto da faculdade quanto do MSN, que me ajudou a testar e encontrar os bugs no jogo.

    domingo, junho 15, 2008

    Sistemas Distribuídos

    O sonho de muita gente por aí é criar um MMO revolucionário, mas antes de fazer um jogo para desbancar World of Warcraft, que tal aprender um pouco sobre transmissão de dados em rede?

    Para a matéria de Sistemas Distribuídos na faculdade, minha turma tem que fazer uma série de pequenos aplicativos utilizando Sockets e deixá-los disponíveis num site. Aí está uma boa oportunidade de ver essa biblioteca funcionando na prática e adquirir um pouco de conhecimento antes de partir para algo mais complexo.

    Alguns estão sendo feitos com base em um chat cliente/servidor que eu e o David fizemos em um outro trabalho desta mesma matéria (confira os fontes e os executáveis aqui). Depois eu vou exportar esse trabalho em PDF e publicar aqui.

    A minha parte do trabalho, como não podia deixar de ser, envolve jogos: eu tenho que fazer um jogo da velha em rede, onde um servidor controla multiplos clientes. O trabalho já está bem avançado e tem que ser entregue até o dia 23/06. Quando estiver pronto eu posto por aqui.

    Para mais detalhes sobre este e os outros projetos, veja a página da disciplina: Sistemas Distribuídos - UNIFESO.

    domingo, junho 01, 2008

    Notebook novo

    Aviso aos navegantes: ainda estou vivo! Faz um tempão que eu não posto por aqui, mas ando bastante sem tempo nessas últimas semanas, então espero que vocês me perdoem :D. A verdade é que de novo os professores resolveram nos encher de trabalhos no fim do período, e somando isso ao meu trabalho durante o dia num sobra tempo pra mais nada.

    Ainda assim eu gosto bastante desse blog e não vou abandoná-lo assim tão facilmente. O período tá quase acabando e eu vou ter mais tempo livre e volto a me dedicar mais ao blog.

    Enquanto isso, uma novidade que provavelmente não vai interessar a ninguém, mas aí vai: comprei um Notebook! As configurações do bichinho:

    Processador: AMD Turion 64 X2 1.6GHz (dual core)
    Memória: 1 GB
    HD: 120 GB
    Placa de Vídeo: nVidia GeForce Go 7400 (128 MB dedicado e até 512 MB compartilhado)

    Não é uma super máquina fodástica, mas é uma avião se comparado ao meu desktop, e roda bem alguns jogos recentes. Eu andei testando alguns (só testando mesmo, porque tempo pra jogar tá difícil), confira a lista:

    The Elder Scrolls IV: Oblivion
    World in Conflict
    The Godfather
    Guitar Hero III
    Gears of War
    Beyond Good & Evil

    Nem todos rodam com uma configuração muito alta, mas todos funcionam bem com os gráficos em um nível "aceitável". Gears of War é o mais pesado entre esses e roda com os gráficos no mínimo e mesmo assim a imagem fica muito boa.

    Pra finalizar, essa semana chegou meu Neverwinter Nights 2. Não sou muito de comprar jogos originais (a grana ainda não permite), mas esse eu fiz questão. Ainda não joguei muito, porém já deu pra perceber que as melhoras deixaram o jogo mais parecido com Star Wars KOTOR (no formato dos diálogos, na maneira que a história flui e nos gráficos) o que é muito bom.

    Por enquanto é isso, prometo que dessa vez não vai demorar mais um mês até o próximo post!

    P.S.: Dauto, pode deixar que eu não esqueci do meme não.

    segunda-feira, maio 12, 2008

    Meme - Como é o seu desktop?

    A Cindy começou e chamou o Vinícius, que convidou o Rodrigo e este passou a bola pra mim. Trata-se de um meme para mostrar como é sua área de trabalho. Abaixo, a minha (sem arrumar, recebi o convite e tirei o screenshot na hora :D).

    Eu não deixo atalhos pra programas na área de trabalho (acesso eles pelo Iniciar ou pelo Quick Launch). Sobre o conteúdo:

  • Pasta Desktop: era pra ser uma pasta onde eu guardaria tudo que fica na área de trabalho, pra deixar menos entulho na tela, mas não adiantou muito não.

  • Pasta Silverlight: eu tava tentando estudar Silverlight pra desenvolver pra Web (não gosto muito de Flash), mas já faz um bom tempo que não mexo nessa pasta.

  • Pasta TCC, arquivos "Casos de Uso" e "Features": coisas do meu trabalho de conclusão da faculdade.

  • Drag and Drop e XML: mais coisas pro TCC. Se eu fosse mais organizado, essas pastas poderiam estar DENTRO da pasta TCC.

  • Jogos Opensource: uma lista de jogos que estão esperando para virar uma série de posts há um bom tempo.

  • Músicas: uma espécie de purgatório dos MP3. As músicas que eu gosto estão em "Minhas Músicas". Essas estão aguardando pra ver se entram pra "Minhas Músicas" ou se vão pra lixeira.

  • Construção de Objetos de Aprendizagem: projeto de pesquisa da monitoria da faculdade (olhando minha área de trabalho até parece que eu sou estudioso ¬¬)

  • the_state_of_indie_gaming: artigo bem legal sobre jogos indie (falei dele num post anterior)

  • Text of Steve Jobs' Commencement address (2005): um texto do Steve Jobs que eu vi a recomendação em algum blog (desculpe, eu não lembro qual) e salvei o link pra ler depois (e ainda não li).

  • O resto: bem, de resto tem mais coisas da faculdade, um link pra uns livros de IA no 4Shared (não contem pra ninguém) e etc.


  • Pra prosseguir com o meme, eu chamo o Bruno, o Luan e o Skhaz.

    domingo, maio 04, 2008

    Visual Game Framework - Pong


    Fiz um pequeno Pong usando meu Visual Game Framework pra testar suas funcionalidades.

    Estou liberando o jogo compilado (bem simples, com partidas sem fim) e o código-fonte (que serve para demonstrar como os jogos com o Framework são feitos). Acompanha o download todas as Dlls necessárias para rodar e compilar o projeto, ou seja, com o arquivo VisualGameFramework.dll já é possível desenvolver jogos, porém em breve eu devo fazer um lançamento oficial, com documentação e tal.

    Quem olhar o código vai ver que nem tudo é feito de forma a se obter o melhor desempenho (por exemplo, testes que poderiam ser unidos em um só usando um operador binário aparecem como Ifs aninhados). Obviamente este código pode ser melhorado, mas ele foi escrito de uma forma que poderia ser gerado automaticamente por um programa (meu projeto de TCC deve gerar código de acordo com as escolhas do usuário). Claro que se alguém se interessar em desenvolver usando o Framework, será possível escrever código otimizado sem problemas.

    É isso. Testem o Framework e deixem seus comentários. Certamente eles vão me ajudar.

    Download: aqui.

    PS.: Pong rubro-negro em homenagem ao Mengão!!!

    Rapidinhas

  • A Wiki do GamedevBR já está no ar e conta com a sua colaboração. Clique e participe.

  • O Bruno Croci está de blog novo - o Codimark. Não perca.

  • O Gamasutra publicou um interessante artigo sobre o estado atual dos jogos indie. Para ler, clique aqui

  • Foram divulgadas algumas datas do SBGames 2008. Se tudo correr bem, talvez eu inscreva meu TCC no nesse evento.
  • Unidev Game Contest 2008


    Já está rolando o Unidev Game Contest 2008, onde desenvolvedores poderão competir com jogos completos ou demonstrações. O concurso começou no último dia 29 e vai até 31 de dezembro (Opinião pessoal: prazo muito, muito longo).

    Mais informações:
  • Regras: http://forum.unidev.com.br/phpbb2/viewtopic.php?t=44230

  • Fórum dos projetos (marcados como [Unidev Game Contest 2008]): http://forum.unidev.com.br/phpbb2/viewforum.php?f=71

  • Dúvidas e comentários: http://forum.unidev.com.br/phpbb2/viewtopic.php?t=44183

  • domingo, abril 27, 2008

    Estatísticas de código do Visual Game Framework

    Bem, o Visual Game Framework finalmente chegou num estágio pronto para ser usado. Obviamente sempre há mais coisas a serem feitas e eu tenho muitas idéias pra adicionar ao Framework, mas eu decidi fechá-lo agora pra poder liberar a versão 1.0, senão o desenvolvimento não termina nunca.

    No momento eu não pretendo mais mexer no código, então resolvi dar uma olhada nas estatísticas do projeto, ou seja, quantidade de linhas de código, comentários, etc.

    Pra contar as linhas eu usei um plugin do Code::Blocks, que é ótimo mas pouco prático pra quem trabalha com C# (alguém conhece alguma forma melhor, especialmente pro .Net?). Abaixo, o resultado:

    Como podem ver, são cerca de 6,5 mil linhas de código, sendo metade delas código propriamente dito, e quase 40% desse total é preenchido por comentários. Os comentários já são bastante completos, porém mais pra frente eu pretendo adicionar exemplos de utilização dos métodos também, o que irá aumentar ainda mais essa proporção.

    São 30 arquivos .cs, divididos em 25 classes e 5 tipos enumerados.

    Correção: dos trinta arquivos, são 22 classes, 7 enumerados e 1 arquivo gerado automaticamente pelo Visual C# para tratar as strings do arquivo de recursos. Destes, o maior arquivo é Jogo.cs, que controla a lógica central do jogo e conta com pouco mais de 1300 linhas (cerca de 20% do projeto).

    Agora chega de informação inútil. Em breve, mais novidades.

    Até a próxima.

    sábado, abril 26, 2008

    Coral com músicas da Nintendo

    Muito bacana esse vídeo com um coral vocalizando (e encenando) músicas de alguns jogos clássicos da Nintendo.



    Agradecimentos ao Rafael pela dica!

    sábado, abril 12, 2008

    Aquisições de Ontem

    Um dia desses eu vi o Rodrigo comentando que tinha saído uma Fullgames do Splinter Cell e eu sempre tive vontade de jogar esse jogo (tanto que uma vez enchi o David pra baixar pra mim, mas o jogo veio em alemão :[), então resolvi fazer uma visitinha a uma banca pra comprar a revista.

    A idéia era comprar só o Splinter Cell (R$15,90), mas eu resolvi me dar um presentinho extra e levei também o Elder Scrolls III: Morrowind (mesmo preço). O resultado pode ser visto abaixo.


    Sobre os jogos, o que eu mais joguei até agora foi o Splinter Cell. Apesar de curioso sobre o jogo, eu achava que não ia ter muita paciência para esse estilo de espionagem, principalmente na questão de ter que ficar escondendo os corpos e tal (eu adorei Metal Gear Solid, mas a furtividade dele é bem diferente), mas na verdade até que o jogo flui bem.

    O jogo tem gráficos muito bonitos, com destaque muito especial para as luzes e sombras, mas ele agarrou pra caramba com a configuração no máximo. Está ai minha única grande queixa até agora, afinal meu computador passa e muito da configuração recomendada.

    Um outro ponto negativo, que quebra um pouco o clima mas não é muito grave, são aqueles aparelhos fluorescentes que o Sam Fisher carrega (a máscara e um troço que parece um rádio, nas costas). É tosco, porque você se oculta no escuro mas esses aparelhos não se apagam, entregando facilmente sua posição. Mas isso não parece ter efeito no jogo, já que se você tiver nas sombras os inimigos não te acham, independente dessas luzes. Veja a imagem abaixo e tire suas conclusões se é ou não é estranho (para os inimigos, neste ponto eu estou totalmente oculto).


    Falando um pouco sobre o Elder Scrolls... bem, não há muito o que falar. Eu joguei só uns minutinhos pra ver como é o jogo, mas nesses poucos minutos já deu pra achar um bug horrível: o personagem principal ficou agarrado numa cerca (não, não é uma feature do jogo) e foi um sacrifício tirá-lo de lá. Tirando isso, o jogo parece ser interessante, o cenário é bonito (para os padrões de alguns anos atrás, claro) e bastante amplo. A interação com os objetos também é bem bacana, dá pra pegar grande parte das coisas que você vê pela frente.

    Talvez um outro fator contra seja a falta de diálogos dublados. Depois de jogar Neverwinter Nights (que tem boa parte dos diálogos dublados) e Star Wars Knights of the Old Republic (que tem TODOS os diálogos dublados), fica meio chato ter que ficar lendo uma tonelada de texto durante as conversas.

    Pra finalizar, eu recomendo os dois jogos, podem comprar que vale a pena. Não se deixem levar pelos defeitos que eu apontei porque eu sou meio chato mesmo e estes detalhes não chegam a estragar o jogo.

    Não vou prometer, mas se possível eu falo com mais detalhes sobre os jogos conforme eu for jogando. Até a próxima.

    domingo, abril 06, 2008

    Nevewinter Nights - Hordes of the Underdark

    Acabei de zerar a expansão Hordes of the Underdark do Nevewinter Nights, muito bom! Esse jogo é demais e a expansão não tem nem comentários. Pra se ter uma idéia, a parte final do jogo se passa no inferno e não é um inferno comum, mas um inferno congelado!

    Tirei um screenshot pra mostrar o mestre final (ô carinha difícil de matar):

    Pra que entende de D&D, abaixo segue minha ficha de personagem. Isso sim que é apelação de nível épico! Detalhe pros quase 400 pontos de vida e a CA 49!

    Enfim, Neverwinter Nights é um jogo bom demais, se tiver a oportunidade não deixe de jogar.

    sábado, março 29, 2008

    Curiosidade: Número de Tipos no .Net

    Saiu num dos blogs do MSDN, o número total de tipos presentes no .Net Framework até o momento. Algum paltipe? Deve ter passado longe! São nada mais, nada menos que 11417 tipos na versão 3.5!!!

    O post original ainda mostra a quantidade de Assemblies (98), Namespaces (309) e Membros (109657). Está explicado porque a documentação da Microsoft é tão boa, ou você consegue decorar isso tudo?

    Veja mais detalhes aqui.

    sábado, março 15, 2008

    GamedevBR


    Já está no ar o GamedevBR, o mais novo membro da blogosfera brasileira. O blog é um iniciativa do Rodrigo Flausino e inicialmente irá contar com a colaboração do Tiago Frossard, Ricardo Rinaldi, Djonata Krieser e este que vos fala.

    O conteúdo, como o próprio nome já entrega, é desenvolvimento de jogos. A idéia é unir várias cabeças pensantes pra falar do assunto, passando dicas, informações, curiosidades e o que mais vier à mente.

    Eu particularmente acho que está é uma grande investida. Blogs "comunitários" costumam ser muito bons quando tocados a sério e algumas das minhas principais leituras diárias são blogs deste tipo, como o Continue, o Meio Bit e o Meio Bit Games. Se você gosta do assunto, não deixe de visitar e recomendar ;P

    Quanto a este blog, meus caros dois leitores diários (contando a minhã mãe), não há motivo de se alarmar. Eu ainda vou continuar meus projetos particulares e outras bobagens por aqui, então nada deve mudar.

    Então é isso, não perca tempo, visite: GamedevBR.

    sábado, março 08, 2008

    UniDev Mobile Contest #1 - Fim

    Conforme anunciado pelo Bruno, o contest de J2ME chegou ao fim.

    Infelizmente a participação foi muito baixa, mas pra mim a competição foi muito útil. Eu estudei alguns aspectos do J2ME que eu não conhecia, criei um tutorial sobre o assunto, e ainda recebi dicas muito importantes.

    Quanto ao meu jogo, a versão mais recente pode ser baixada aqui, mas eu pretendo liberar em breve uma nova versão com as alterações sugeridas pelo André Kishimoto e também uma versão com resolução 132x176 compatível com meu novo celular.

    Sobre os outros jogos, apesar de não finalizados, eu acho que vale dar uma olhada pra ver o que estava sendo feito e quem sabe pressionar um pouco pra que eles sejam finalizados :) Seguem os tópicos na Unidev: Pepate e Badaruba.

    E ainda não acabou. O Paraquedismo ainda está concorrendo na categoria mobile do PDJ Contest. Torçam por mim.

    quarta-feira, fevereiro 27, 2008

    Um pouco do que eu ando fazendo

    Já se foram duas semanas de aula e por enquanto as coisas ainda estão tranquilas na faculdade. Com isso, eu estou tendo bastante tempo pra trabalhar no meu TCC e no AllegroNet, e resolvi falar um pouco sobre o que eu estou fazendo no momento:

  • Estou quase terminando a documentação em XML do AllegroNet, usando como base o manual do Allegro e adicionando detalhes da implementação no C#. Quando concluir a documentação, eu pretendo publicar o projeto no SourceForge.


  • Acho que não tinha comentado aqui, mas eu não estava conseguindo implementar as funções de callback do Allegro no .Net. Esse problema foi resolvido usando delegates.


  • Outro problema que eu tinha no wrapper do Allegro era que, por algum motivo estranho, as funções que usam o tipo fixed (que nada mais é que um alias para long) não estavam funcionando dentro do .Net. Para resolver isso, eu reproduzi essas funções numa DLL nativa, sendo que agora eu passo o parâmetro como int e o valor é convertido para fixed nesta DLL.


  • Como as fontes de bitmap do Allegro não suportam caracteres especiais (como acentos) eu estava atrás de uma forma de contornar isso e resolvi usar o AlFont. Em função disso, também estou fazendo um wrapper do AlFont para .Net e as funções principais (como textprinf, textout, text_lenght e text_height) já estão funcionando.


  • Mudando um pouco de assunto, eu revisei o tutorial sobre temporizadores no J2ME e adicionei syntax highlight com o Prettify. Agora os códigos estão coloridos e bem mais agradáveis de ler.


  • That's all folks.

    quinta-feira, fevereiro 21, 2008

    Meme - Como é a sua estação de trabalho?

    Muito bem! O Rodrigo Flausino me convidou para um meme iniciado pelo André Kishimoto sobre como é a sua (ou neste caso, a minha) estação de trabalho.

    Antes de mais nada, quero me desculpar por não postar nenhuma foto, mas é que a única câmera que eu tenho aqui é a do celular e ele simplesmente se recusa a enviar emails, então não consigo passar as fotos pro computador (também não consigo achar um cabo USB pra ele).

    Mas vamos lá. As configurações do meu modesto PC:
    Processador: Celeron 1.8 GHz
    RAM: 1 GB
    HD: 110 GB
    Placa de Vídeo: GeForce FX 5200 128MB
    Extras: Multifuncional HP Deskjet F380, Joypad Leadership Gamer (é tipo um controle de PS2, com entrada para o videogame e uma USB para computador)

    Meu computador fica numa estante com alguns livros, com destaque para O Senhor dos Anéis, O Hobbit, O Silmarillion e Contos Inacabados (será que já deu pra perceber que eu sou fã do Tolkien?!), Uma Breve História do Tempo, Deuses, Espaçonaves e Terra, e alguns livros de RPG (incluíndo o ótimo Forgotten Realms e os três módulos básicos do D&D3.0). Além dos livros, tem umas revistas (a maioria revistas antigas de RPG) e umas caixas com uns (poucos) jogos originais de PC que eu tenho em cima do gabinete.

    Na parte de baixo tem umas apostilas e mais uns livros, uns CDs de música e outros de PSOne, um controle de N64 perdido e uma coleção de fitas cassete com músicas gravadas do rádio que eu não escuto há séculos mas não tenho coragem de jogar fora.

    A estante e meu monitor estão com vários adesivos que eu vou colando com o tempo (pareço uma criança). Na parte de cima tem uns enfeites toscos, tipo dois anõeszinhos de Kinder Ovo que eu ganhei faz uns dez anos, um bonequinho do Watto, um papercraft do Link e uma tonelada de barquinho de papel (eu tenho uma mania muito estranha de fazer barquinhos de papel o menor possível e acreditem, eu já fiz alguns muuuito pequenos mesmo).

    Faltou comentar só o mais importante: um porta-retrato artesanal feito pela minha namorada que eu ganhei de presente ano passado quando a gente fez três anos de namoro. Ele é cheio de desenhos e entre eles tem um sabre-de-luz que ela fez sem eu nem precisar pedir (ô vício).

    Tem mais uma coisa na estante que eu nem ia comentar, mas depois de ver o post do Vinigodoy, resolvi tirar uma ondinha. Aqui eu também tenho um War, mas é uma edição especial com tema e mapa do Star Wars (e depois eu ainda reclamo quando me chamam de nerd...).

    Bem, acho que é só isso. Pra dar continuidade ao meme eu convido o Bruno, o Tiago, e o Ney.

    domingo, fevereiro 10, 2008

    Novos links na Barra Lateral

    Acabei de atualizar a barra lateral incluíndo alguns links de blogs interessantes sobre jogos e desenvolvimento de jogos. Provavelmente eu deixei escapar algum bom blog, mas em breve eu vou dar uma revisada no meu leitor de feeds e adicionar os blogs que eventualmente podem ter sido esquecidos desta vez.

    Todos os blogs foram adicionados através de links de texto, mas eu acho que banners são mais atraentes. Se você tem um blog listado aqui e tem um banner, me avise que eu troco o texto por uma imagem. Ah, e se você tem um blog que não está aqui, me avise também que eu adiciono.

    Além da atualização da lista de blogs, eu adicionei um link pra minha pasta compartilhada no 4Shared. Lá estão hospedados a maioria dos meus jogos e este link serve pra facilitar o acesso a eles. Além disso, vocês podem ver quantos downloads cada jogo teve. Pra conferir, clique aqui.

    segunda-feira, fevereiro 04, 2008

    Game Over

    Bem, eu não me manifestei sobre a proibição do Counter Strike e do Everquest, até porque tem gente bem mais competente dando suas opiniões por aí e me repetir aqui seria meio que chover no molhado.

    Hoje eu vi uma charge do Charges tratando do assunto e resolvi compartilhar. Pra que não viu, veja que é divertido. E quem já viu, veja de novo, é de graça.

    quarta-feira, janeiro 30, 2008

    Paraquedismo - Nova Versão

    Implementei algumas novidades e estou liberando uma nova versão do Paraquedismo. Sem enrolação, vamos às novidades:

    - Sistema de recordes: as dez maiores pontuações agora ficam registradas usando o sistema de arquivos do J2ME.

    - Barra de pontos: eu coloquei uma barra no topo da tela onde ficam exibidos alguns dados, melhorando a visualização.

    - Limite de pára-quedistas: ao invés de jogar infinitamente, agora há um limite de trinta pára-quedistas, o que pode tornar o jogo menos chato. O grande desafio agora é somar o máximo de pontos dentro deste limite de tentativas. O jogo termina ao fim das trinta tentativas ou das dez vidas e caso termine com vidas sobrando, elas são convertidas em um bônus na pontuação.

    Estatísticas:
    Tamanho do Jar: 44,1 KB
    Tamanho do Jad: 252 Bytes
    Tamanho total das imagens (descompactado): 28,4 KB
    Tamanho total das classes (descompactados, em formato .class): 26 KB

    Download: aqui.

    Segue uma imagem mostrando a barra que foi colocada no topo da tela:

    Imagem mostrando a tela de jogo com uma barra de informações no topo.

    segunda-feira, janeiro 28, 2008

    Paraquedismo - Primeira Demo

    Estou liberando a primeira demo do jogo Paraquedismo.

    Na verdade está é quase uma versão final, já que falta basicamente implementar um sistema de recordes e pronto. Agora que vocês vão poder testar o jogo, de repente alguém tem alguma idéia pra adicionar nele. Se for o caso, me conte sua idéia nos comentários.

    O jogo é simples. Você deve pousar os paraquedistas no alvo que tem no chão e quanto mais perto do centro, mais pontos serão ganhos. Ao mesmo tempo, evite que os outros paraquedistas saiam da tela para não perder vidas.

    Eu gostaria de saber se o jogo está fácil ou difícil demais. Se puderem, deixem seus recordes aqui.

    Seguindo algumas sugestões que recebi, eu retirei o vento e coloquei umas bandeirinhas indicando a direção do vento. Também implementei um menu principal que visualizar as instruções, recordes (ainda não implementado), jogar ou fechar o jogo.

    Veja algumas novas telas:

    Menu principal do jogo.
    Nova tela de jogo sem a imagem do vento. As bandeiras indicam a direção do vento agora.


    Estatísticas:
    Tamanho do Jar: 42,4 KB
    Tamanho do Jad: 252 Bytes
    Tamanho total das imagens (descompactado): 28,4 KB
    Tamanho total das classes (descompactados, em formato .class): 23,1 KB

    Download: aqui.

    Observação sobre o tamanho da tela: de acordo com as regras com Unidev Mobile Contest, o tamanho da tela máximo permitido é 176x220. Eu estou trabalhando com este tamanho, porém o emulador exibe uma tela maior e eu não sei mudar isso. Mas ainda assim eu estou dentro das regras, já que tudo está sendo desenhado dentro desse limite máximo e o meu jogo deve rodar perfeitamente em uma tela de 176x220.

    Apenas o contador de quadros por segundo está sendo desenhado fora desse limite para não poluir demais a tela de jogo, mas na versão final o contador será retirado.

    sábado, janeiro 26, 2008

    Tutorial: Temporizador no J2ME

    Eu escrevi um tutorial ensinando como controlar a velocidade de execução dos jogos no J2ME e como visualizar a velocidade em que o jogo está sendo executado.

    Por problemas de formatação, eu preferi colocar o tutorial numa outra página ao invés de publicá-lo diretamente aqui. Apesar disso, a formatação no Google Pages também não ficou como eu gostaria, então tentem não reparar ;P

    O tutorial pode ser visualizado aqui e o código-fonte com um projeto de exemplo pode ser baixado aqui.

    Espero que o tutorial seja útil. Até mais.

    sexta-feira, janeiro 25, 2008

    Unidev Mobile Contest - Paraquedismo

    Muito bem, como eu disse anteriormente, eu estou participando da competição de jogos pra celular da Unidev.

    Eu estou fazendo o meu jogo desde segunda-feira e quero terminá-lo rápido pra ver se ainda dá tempo de fazer minha inscrição no Game PDJ Contest 2007, que vai até o dia 31/01.

    Pra esse concurso eu pensei em fazer algo simples, um jogo casual que não fosse muito trabalhoso pro jogador. Existem várias re-invenções de jogos conhecidos, como Breakout e Pong pra celulares, e eu tentei evitar repetir alguma dessas fórmulas conhecidas no meu jogo.

    Depois de muito matutar, me veio a idéia de fazer um jogo de paraquedismo. Eu não conheço outros jogos deste tipo, exceto um jogo que tinha num antigo programa da TV Bandeirantes onde o jogador (geralmente um artista convidado) gritava um comando e o paraquedista pulava em direção ao alvo. Porém, apesar do objeto central ser o mesmo (um pára-quedas), o meu jogo é bem diferente deste.

    Primeiramente, vamos dar nomes aos bois. Num lapso de criatividade incrível, eu chamei meu jogo de Paraquedismo. Muito original, não concorda? Mas tudo bem, o nome ainda não é definitivo e de repente eu penso num nome mais legalzinho antes do lançamento nos concursos.

    No jogo, você controla o curso do paraquedista desde os céus até uma plataforma colorida no chão. Dependendo de onde o personagem pisar ao tocar no solo, você ganha uma certa quantidade de pontos.

    Essa idéia é simples e pode até ser divertida (ou não), mas não oferece nenhum desafio real. Então, pra dificultar as coisas, uma ventania empurra o paraquedista e se ele sair da tela, perde-se uma vida. Com isso, eu matei dois problemas do jogo: aumentei o desafio e incluí uma maneira fácil de dar game over.

    Mas espere, você não achou o jogo desafiante o suficiente ainda? É, nem eu. Por isso, pra dificultar ainda mais, você não controla só um paraquedista, mas sim dois ou três. Agora, o jogador deve empurrar o personagem pra longe dos cantos da tela (pra evitar perder vidas) e posicioná-lo de forma a ganhar o máximo de pontos no pouso, mas ainda tem que alternar entre os outros paraquedistas pra tentar salvar todos de serem levados pelo vento.

    O jogo está praticamente pronto (como eu disse, estou meio que correndo por causa do concurso do PDJ), faltando basicamente a criação de um menu principal (pra dar um ar mais profissional ao jogo), a adição de efeitos sonoros (que eu ainda não decidi se vou fazer) e um sistema de recordes.

    Uma novidade pra mim nesse jogo é que eu fiz todas as (poucas) imagens utilizadas nele. Como eu sou um péssimo artista gráfico, normalmente eu uso e/ou altero imagens retiradas de outros jogos ou utilizo imagens feitas especialmente para um jogo por amigos (como o David), mas desta vez decidi que iria fazer tudo eu mesmo. São poucas imagens e não foi nada muito trabalhoso de se fazer. O resultado também não é lá grandes coisas, mas também não ficou tão ruim assim.

    Uma coisa na qual eu ainda estou trabalhando é o sprite que representa o vento. Minha idéia é ter umas particulas voando pra indicar em qual direção a corrente de ar está se movendo no momento (eu não disse acima, mas existem três correntes de ar independentes e com o tempo elas mudam de direção e velocidade). Eu fiz uns rabiscos que ficaram bem toscos e não tenho a menor idéia de como melhorá-los. Se alguém puder me dar umas dicas ou quiser participar do jogo fazendo este gráfico, é só entrar em contato.

    Quanto à essa imagem do vento, eu ainda estou na dúvida se ela deve ou não aparecer. Ela não é realmente necessária, já que o jogador pode sentir a direção e força do vento vendo os paraquedistas sendo empurrados, mas eu acho que a tela fica muito limpa sem as partículas de vento. De qualquer forma, abaixo seguem duas telas, uma com e outra sem o vento. O que vocês acham, qual fica melhor?














    Falando um pouco do desenvolvimento do jogo. Ele está sendo feito em J2ME com o NetBeans 5.5. Eu cheguei a testar o 6.0, mas sobre ele só tenho uma coisa a dizer: LEEEERDO. Pra se ter uma idéia, um código que demora dois ou três segundos pra ser compilado no NetBeans 5.5, chegou a demorar quase três minutos na versão 6.0. Eu não sei o motivo, mas parece que realmente erraram a mão nesse novo NetBeans.

    Pra desenhar as imagens eu usei o Paint e o Fireworks (aqui fica uma dica: o paint salva as imagens como ".PNG" e o Fireworks como ".png", e no código isso faz uma grande diferença. Se você não escrever com a caixa certa, a imagem não será encontrada).

    Conforme descrito nas regras, os jogos do concurso devem ter seu código aberto. Aproveitando isso, eu quero deixar meu código bastante comentado, pra ver se ele pode ser seguido como se fosse uma espécie de tutorial. Futuramente talvez eu faça uma série de posts mostrando e comentando pequenas partes do código, até montar o jogo completo (ou então faça isso com outro jogo mais simples).

    É isso. Se tudo der certo, eu termino o jogo antes do fim do mês e publico ele aqui assim que terminar minha inscrição no PDJ. Mas se meus planos falharem, o jogo aparece por aqui no mês que vem.

    Até a próxima.

    domingo, janeiro 20, 2008

    Unidev Mobile Contest #1

    O Bruno Croci (ou CrociDB para o pessoal da Unidev) teve a idéia de criar um concurso de jogos pra celular pra animar o fim das férias. Eu já estou dentro e você, o que está esperando para entrar?

    Conheça as regras:
    -- Desenvolvimento com CLDC 1.1 e MIDP 2.0;
    -- Tamanhos de Tela: 128x128, 128x160 e 176x220
    -- Ferramenta: Sun Wireless Toolkit;
    -- IDE Livre;
    -- Código Fonte Liberado (Open source);
    -- Distribuição final em dois pacotes, um com o JAR e o JAD e outro com os fontes;
    -- Criação de um tópico (no fórum da Unidev) com o título [UniDev Mobile Contest #1] - NOME DO JOGO;
    -- Atualização constante do tópico com Imagens e dados;
    -- O Jar final tem que ser menor que 200kb;
    -- Estilo e Tema LIVRES.

    Se interessou mas não sabe por onde começar? Não tem problema.

    O Ney Estrabelli post em seu blog um link para um outro blog cheio de tutoriais do J2ME.

    E tem mais. Faz um tempo eu liberei o código de um joguinho da memória desenvolvido em J2ME. Não é muito, mas pode ajudar. Confira aqui.

    Então é isso. O concurso começa oficialmente na segunda-feira (21/01) e terá duração de um mês. Contamos com a sua participação :)

    sexta-feira, janeiro 18, 2008

    AllegroNet - Primeira versão

    Pois é, conforme eu falei anteriormente, estou fazendo um wrapper do Allegro para .Net e a primeira versão acaba de sair do forno com o nome de AllegroNet.

    Neste primeiro lançamento eu coloquei apenas as funções principais do Allegro, mas já há um número bem alto de funções disponíveis e eu acredito que as funções mais importantes já estão todas aí.

    Duas ausências sensíveis são o suporte a joysticks (que estão no topo da lista pras próximas versões) e o som (que eu não pretendo portar, já que não vou usar o som do Allegro no meu TCC, mas se houver interesse de outras pessoas eu posso fazer).

    Uma lista completa das funções já disponíveis, das que estão na fila e das que deram problema estão no arquivo "Funções.txt" que acompanha o projeto. As funções que não são citadas nesta lista são as que eu não pretendo portar, a menos que haja interesse de outras pessoas.

    O projeto, com código-fonte incluso, pode ser encontrado aqui. Nele há uma solução do Visual C# 2005 que contém, além do projeto AllegroNet, um outro projeto que demonstra o funcionamento do wrapper, e alguns arquivos com instruções.

    O AllegroNet é de uso livre e se encaixa sob a mesma licença do Allegro (gift-ware). Se você fizer algo usando meu wrapper, não é necessário nem mesmo me avisar, mas se quiser me avisar seria legal pra que eu saiba que meu trabalho foi útil pra outras pessoas.

    Qualquer dúvida, sugestão, comentário ou crítica, é só entrar em contato.

    Download: clique aqui.

    Cardoso e Stallman - Free Software Song

    O David é um amigão meu da faculdade e feliz proprietário de uma mente criativa pra cacete.

    Desta vez, em resposta a um desafio do Carlos Cardoso no Meio Bit, ele criou um videozinho com o Stallman e o Cardoso cantando canção do Software Livre. Assista e tenha boas risadas.

    domingo, janeiro 13, 2008

    Portando o Allegro para o C#

    Antes de mais nada, eu quero dizer que eu adoro reinventar a roda quando se trata de programação. Apesar de existir muita coisa pronta e muito bem-feita por aí, ás vezes eu gosto de fazer minha própria versão. Isso me dá um controle maior sobre o que a biblioteca está fazendo e serve como uma boa base pra estudos.

    Mas pra que eu estou falando sobre isso? Como eu disse anteriormente, eu estou desenvolvendo meu projeto de TCC e andei tendo problemas com algunas bibliotecas testadas. Agora eu resolvi usar o Allegro, uma boa biblioteca com a qual eu já trabalhei e testes mostraram que ele tem um bom desempenho.

    Acontece que não há uma versão oficial do Allegro para .Net, então a saída normal seria buscar um wrapper que alguém já fez e pronto. Ao invés de fazer isso, eu resolvi criar meu próprio wrapper do Allegro (chamado AllegroNet). Você deve estar pensando "etâ cara doido, procurando mais trabalho!". Sim, é mais trabalho. Mas eu gosto :P

    Fazer um wrapper no .Net para uma DLL nativa é bem mais simples do que eu pensava. Você só precisa mapear cada função da DLL no .Net usando o DllImport. Além disso, basta re-declarar as structs no seu código, já que elas não podem ser importadas diretamente.

    Eu começei a mexer com isso no sábado de tarde e agora (uma e pouco da manhã de domingo) já é possível carregar e desenhar uma imagem com meu wrapper. É pouca coisa, mas o tempo que demorou pra fazer isso também não foi muito grande.

    Eu pretendo portar apenas as principais funções do Allegro pro .Net, ou melhor, pretendo portar apenas as funções que eu vou usar no meu framework. Mas se alguém por aí tiver interesse em usar o Allegro com .Net e quiser que eu porte mais coisas, é só me avisar que eu posso aumentar a tradução.

    Como sempre, ao invés de dar o link pro download, eu vou prometer que em breve eu libero a DLL pra vocês testarem e também o código, pra quem tiver interesse. Eu sei que isso é chato, mas realmente não dá pra liberar o projeto no pé que ele está agora.

    Aguardem novidades.

    sábado, janeiro 05, 2008

    Livro - Video Game Arte

    Hoje fui numa loja de jogos e tive uma grata surpresa ao encontrar (na verdade minha namorada encontrou, então fica aqui o agradecimento :)) um livreto de distribuição gratuita chamado Video Game Arte - Pacote de Expansão. E é claro que tratei de pegar o meu.

    O livreto é um material promocional do livro Video Game Arte, de Arthur Bobany, e traz pitadas do que será encontrado no livro completo. São dois capítulos (que eu acredito não estarem na íntegra), "A Arte nos Games" e "Crítica de Games", mais um bônus que fala sobre as etapas de desenvolvimento de um jogo.

    O livro em si (192 páginas, R$32,00), discute a relação entre os jogos e a arte e a cultura (é, eu sei... pelo nome nem dava pra perceber né!). O interessante é que ele foi escrito com a colaboração de gente que entende do assunto (como o Professor Esteban Walter Gonzalez Clua, que deu uma palestra lá onde eu estudo em 2006 e acreditem, o cara é fera) e o material parece ser de alta qualidade.

    Pelo que deu pra ver no livreto o texto flui muito bem e é complementado por muitas imagens e caixas de texto laterais que justificam a presença dessas imagens, mostrando que elas foram escolhidas por sua relevãncia no mundo dos jogos, e não porque eram "bonitinhas".

    Uma coisa que me agradou muito foi a brincadeira que fizeram com termos e ícones comuns aos jogos no livro. Por exemplo, o livreto traz as palavras "Pacote de Expansão", uma referência óbvia aos pacotes de expansão dos jogos de PC. Outro exemplo interessante é que, na contra-capa, vários selos imitam avisos de classificação etária e tipo de conteúdo, algo que a gente está acostumado a ver nas caixinhas dos jogos, mas com um texto que faz chamadas ao conteúdo do livro.

    Outro destaque está para o fato do livro ser patrocinado pela AMD. Não que surpreenda a AMD estar patrocinando um projeto relacionado a jogos, ainda mais depois da compra da ATI, mas a AMD estar patrociando um projeto brasileiro, isso sim é notável.

    O livro já deve estar à venda nas livrarias por aí, mas não posso confirmar se está ou não, já que o site da editora não dá mais detalhes. Ainda não procurei por aqui, mas devo tentar comprar o meu em breve.

    Pra que quiser mais detalhes, eu fiz uma rápida pesquisa no google e achei algumas informações. O Uol Jogos explica mais ou menos do que se trata o livro aqui, e um texto maior e mais explicativo saiu na Rede RPG (site no qual o autor do livro atua como colaborador) e pode ser lido aqui.