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

Trailer: Max Payne - O Filme



Gostei do trailer, os cenários e a ação estão bem fiéis ao jogo. Será que vai prestar?

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!!!