quarta-feira, 31 de dezembro de 2008

Santa's Christmas Rampage - Teaser

O fim da competição já está perto e o jogo já está terminado.
Dia 6 de Janeiro apresento a versão final (apenas programação).
Com sorte talvez seja este o projecto escolhido. :)
VOTEM EM MIM!!!

quarta-feira, 24 de dezembro de 2008

Feliz Natal

É só para desejar um Feliz Natal a todos os que se dão ao trabalho de ler este blog (se é que existem pessoas assim).
Este ano o pai natal parece-me andar um bocado irritadiço, por isso cuidado com o que pedem. ;)

(Já agora, esta imagem foi retirada do filme "Santa's Slay", que de certa forma me inspirou a meter o Pai Natal a matar criancinhas).

terça-feira, 23 de dezembro de 2008

Alteração de visual

Bem, é só para dizer que resolvi alterar um bocado a apresentação do blog.
Penso que agora a leitura não seja tão "pesada" nos olhos e que algumas coisas fiquem mais visíveis. :)

quinta-feira, 18 de dezembro de 2008

Santa's Christmas Rampage

Deixo aqui um pequeno preview do jogo que estou a fazer para a competição de Combinado de Gamedev do portal Gamedev-pt.

Notem que ainda está tudo muito "verde"... Tenho ainda de fazer uns tweaks para isso ficar decente, mas as partes principais já estão feitas (Mover, disparar, inimigos, carregar bolas de neve, pontuações...).

Bem, mas vamos ao que interessa: A descrição do jogo.

Neste jogo o personagem controla o Pai Natal, tendo de mandar bolas de neve às crianças, sem deixar que estas levem o saco das prendas para casa.
Nalguns casos, as crianças agarram-se ao Pai Natal para que este não se mova. É necessário dar-lhes uns bons murros para elas o largarem.
Conforme o desempenho do jogador, é atribuído um ranking natalício.

Teclas: Esquerda e direita para mover, barra de espaços para disparar. O saco (objecto a proteger) é o elemento dinâmico da esquerda, quando acabam as bolas de neve, é necessário recarregar no monte de neve (elemento dinâmico à direita)
O elemento estático à beira do ponto inicial do saco é suposto ser um trenó, para dar uma ideia geral da distância que o saco já percorreu.
Façam download e digam o que acham.

http://www.hdd.pt/download/5466715252/SCR-preview1.rar.html

sexta-feira, 12 de dezembro de 2008

Como começar a fazer jogos - O que é preciso?

Neste tópico vou falar um bocado do que é necessário para desenvolver um jogo.
Todos os temas vão ser tratados muito por alto, sendo que alguns deles talvez não da melhor forma, sendo que, se poderem ser aconselhados por alguém mais virado para alguma destas áreas, aproveitem.

Em primeiro lugar, o desenvolvimento de um jogo divide-se, basicamente, em 4 áreas: Game Design, Programação, Áudio e Arte (e também produção, marketing, bla bla bla... sobre esses não tenho conhecimento para falar aqui).



A parte mais importante é o Game Design, que é basicamente, decidir as regras do jogo.
Neste caso, as únicas ferramentas que precisas são um lápis, um papel e ideias.
Sim, o lápis e o papel são precisos, tenta sempre deixar o máximo de coisas por escrito, para não te perderes nas ideias... caso contrario, nunca mais acabas o jogo e, se trabalhares em equipa, vais acabar por deixar os teus colegas confusos. Uma boa documentação é um excelente ponto de partida para um projecto de sucesso.



Quanto à Programação, a área em que me sinto mais à vontade para falar, já precisas de mais umas coisas.
Primeiro que tudo, tens que escolher uma linguagem. Normalmente para iniciados aconselham BASIC, Python ou Pascal, sendo que para projectos mais avançados aconselham C, C++, C#, Java, Delphi... (Provavelmente irei abordar este tema noutro post).
Depois de escolheres a linguagem precisas de um compilador para ela (de preferência incluído numa IDE). Basicamente, o compilador serve para transformar o código num executável, enquanto que o IDE é um programa para escreveres o código de uma forma mais agradável. É uma questão de procurares no google e encontras logo um.
Para além disso, depois podes escolher se usas engines já feitas, para facilitar a produção do teu jogo, ou se crias a tua própria (o que, obviamente, dá mais trabalho, no entanto, trabalha exactamente da forma que queres).



Quanto ao Áudio, aconselho-te a teres umas aulas de formação musical antes de te aventurares pela parte da composição.
Para os efeitos sonoros, basta um microfone (de preferência, com boa qualidade. Com um telemóvel não vais longe), uma sala bem isolada (normalmente as casas de banho resultam bem ) e materiais que façam o barulho que queres. Pode dar algum trabalho a encontrares um bom material e a conseguires uma boa gravação, mas o importante é seres presistente até conseguires um som satisfatório.
Na composição, aconselho-te a arranjares um programa de composição para o PC, como o tuxGuitar e um programa de edição de som, como o Audacity. É claro que há programas de composição muito melhores, assim como diversos conjuntos de samples para estes, mas eu só posso falar do que conheço, sendo que o melhor mesmo é informares-te com quem já está mais por dentro desta área.



Por fim, quanto à Arte, também é aconselhável que tenhas tido aulas de desenho (com livros ou por tutoriais na net também és capaz de te desenrascar, mas é sempre bom ter teoria a reforçar a prática).
Os materiais que te aconselho sempre a ter é um lápis e papel para os esboços e um scanner para os passares para o PC.
Depois, se optares pela arte 2D arranja um programa de desenho e, se possível, compra uma mesa de desenho para o PC.
Se optares pelo 3D, arranja um
programa de modelação.
Os programas grátis mais recomendados costumam ser o theGIMP, o inkscape e o blender (Estes também são muito criticados por algumas pessoas, no entanto, prefiro apenas referir aqui programas grátis).
Mais uma vez, esta não é a minha área, pelo que não sou a pessoa mais indicada para tirar dúvidas.

Como começar a fazer jogos - Links e Recursos

Fica aqui uma lista de links, livros e afins com resposta a algumas das perguntas mais frequentes.
Alguns dos recursos aqui colocados foram sugeridos por utilizadores do Gamedev-pt.

Que área seguir?
- Web: http://spoing.blogspot.com/


Como começo a programar?
- Web: http://agnor.gamedev-pt.net
- Web: http://www.portugal-a-programar.org
- Web: http://www.linhadecodigo.com.br/
- Web: http://www.geocities.com/SiliconValley/Server/6994/


Já sei o básico de como programar. Como faço agora para usar imagens, modelos 3D, sons...?
- Web: http://www.lazyfoo.net/
- Web: http://nehe.gamedev.net/
- Web: http://www.libsdl.org/
- Web: http://www.opengl.org/

Quero aprender a desenhar. Por onde começo?
- Artigo: http://www.gamedev-pt.net/download.php?ficheiro=FAQ-graficos.pdf
- Web: http://www.carbodydesign.com/


Quero aprender a modelar. O que devo fazer?
- Artigo: http://www.gamedev-pt.net/download.php?ficheiro=FAQ-graficos.pdf
- Web: http://zeroshift.gamedev-pt.net/
- Web: http://www.blender-pt.com/
- Web: http://www.3d-palace.com/


Quero criar niveis para jogos. Por onde começo?
- Livro: The Hows and Whys of Level Design - DE JONG, Sjoerd (a.k.a. "Hourences")


Quero compor músicas e fazer efeitos sonoros. Que devo aprender?
- Livro: Teoria Mágica Músical - CEBOLO, Eurico


Como faço para o meu jogo ser mais apelativo e viciante?
- Web: http://spoing.blogspot.com
- Web: http://www.theoryoffun.com/
- Livro: A Theory of Fun for Game Design - KOSTER, Raph


Como faço para seguir gamedev como profissão?
- Livro: The Hows and Whys of the Games Industry - DE JONG, Sjoerd (a.k.a. "Hourences")


Como planeio o desenvolvimento de um jogo?
- Web: http://www.vortixgames.com/tutorials/Planeamento101.pdf

Como começar a fazer jogos - Introdução

Bem, o outro dia estive a responder a uma dúvida no site http://www.gamedev.com.br sobre como começar no mundo do gamedev.
A resposta não abrangeu muitos tópicos, no entanto foi bastante extensa para meter num fórum. Para além disso, não é a primeira vez que sou acabo a dar uma resposta deste género num fórum.

Como tal, para simplificar as coisas, vou colocar aqui diversas informações de como começar a fazer jogos. Não tenciono fazer um guia completo (até porque ainda me considero um iniciante) mas sim dar uma resposta rápida às questões mais frequentes que se vêm por aí, como por onde começar, que linguagem de programação escolher ou que programas usar.

Como é óbvio vou acabar a fugir mais para a parte da programação (visto ser essa a minha área), no entanto, vou tentar falar um pouco de tudo.
E pronto, está na altura de deitar mãos à obra. :)

sábado, 29 de novembro de 2008

Concuso Combinado Gamedev-pt


A nova competição do gamedev-pt já está a correr.
Esta competição vai estar dividida em 2 etapas, uma para programação, outra para arte.
A etapa de programação já começou.

As regras são bastante extensas, por isso deixo aqui o link para elas.
A data de entrega é no dia 6 de Janeiro de 2009.

Boa sorte a todos os que forem participar.

Regras: http://www.gamedev-pt.net/competicoes/combinado_programacao_arte_2008/
Tópico: http://www.gamedev-pt.net/forum.vertopico.php?tid=2191

quarta-feira, 26 de novembro de 2008

Mais uma competição!





A comunidade do portal gamedev-pt está a preparar uma nova competição.
Os detalhes ainda não são muitos, mas em principio será dividida em 2 fases, uma de programação e outra de arte. Assim, todos podem participar.

Quando sair a informação final e oficial também coloco aqui.

Em principio, desta vez participo. Mais alguém com coragem? ;)

domingo, 9 de novembro de 2008

Game of Life (Lightmapped)



Bem, durante estas férias do Verão estive a fazer um lightmapper.
Como me apeteceu dar-lhe um uso prático, fiz um game of life com lightmapping. :P

Para quem não sabe em que consiste este "jogo", passo a explicar as regras:
  1. São distribuidos vários pontos no ecra, pontos estes que são as nossas formas de vida (na minha aplicação, estes são distribuidos aleatóriamente);
  2. Quando um lugar na grelha tem 3 formas de vida adjacentes, nasce nesse lugar uma nova forma de vida;
  3. Quando uma forma de vida tem outras 2 ou 3 formas de vida à sua volta, continua viva;
  4. Quando uma forma de vida tem menos de 2 formas de vida à sua volta, morre de solidão;
  5. Quando uma forma de vida tem mais de 3 formas de vida à sua volta, morre de sobrepopulação.
E básicamente o jogo vai correndo infinitamente até que o utilizador deseje parar (normalmente quando todos os seres morrem ou o jogo estagna, se bem que em casos raros este pode prosseguir infinitamente).

O foco da luz é controlado pelo rato.

Deixo aqui o download com o código-fonte incluído.

segunda-feira, 3 de novembro de 2008

Pong na CASIO

Bem, continuando as minhas experiências com a calculadora, desta vez fiz o clássico pong.
Fica aqui um video.




Mais uma vez, não devo disponibilizar aqui o código fonte, mas se alguém quiser é só pedir.
Prefiro controlar o código desta forma.

domingo, 12 de outubro de 2008

Countdown 2008/2009

Actualizei hoje o meu projecto Countdown para o ano lectivo 2008/2009.

Para mais informações sobre este projecto visitem: http://countdown.pt.to/

segunda-feira, 6 de outubro de 2008

Fractais na CASIO

Pois é, resolvi passar o programa de gerar fractais para minha calculadora CASIO-9850GC PLUS, e após 5 horas e 35 minutos de iterações, está aqui o resultado:



Não vou postar aqui o código (o de C++ é um bocado grande e o da CASIO tem simbolos que não existem no PC), mas se alguém quiser saber como fazer, pergunte à vontade.

Não aconcelho muito é a tentarem numa calculadora como a minha, porque isto ainda deve ter chupado muito das pilhas. ;)

sexta-feira, 3 de outubro de 2008

Fractais em C++

Bem, eu bem disse que daqui a uns tempos ia apresentar aqui umas coisas "bonitinhas".
Aqui está o meu primeiro fractal gerado em C++.



Ainda tem umas partes um bocado "Hard coded", vou ver se consigo abstrair um bocado mais.
Para além disso, embora o código seja bastante rápido, acho que com umas pequenas optimizações consigo meter isto em tempo real. ;)

Bem, já posso dizer que a EVMAT serviu para qualquer coisa...

sábado, 6 de setembro de 2008

De volta!


Bem, voltei da Universidade do Porto e já tenho alguns conhecimentos que são capazes de dar jeito.


Talvez daqui a alguns dias apareça com algumas coisas "bonitinhas". :P

domingo, 31 de agosto de 2008

Escola de Verão de Matemática (UP Júnior)


Bem, como o título indica, nos próximos dias (1 a 5 de Setembro) vou estar na Universidade do Porto como participante da Escola de Verão de Matemática.

Durante essa semana vou trabalhar num projecto sobre formas de calculo de raizes cúbicas e geração de fractais, sendo que o terei de apresentar no último dia.
(Mais informações sobre o projecto aqui).

Para além disso também irei atender a uma palestra sobre a Teoria dos Jogos.
(Mais informações sobre a palestra aqui).

Espero adquirir alguns conhecimentos úteis que possa usar em GameDev.
Quando voltar, coloco aqui um resumo do acontecimento.

segunda-feira, 11 de agosto de 2008

Standby

Bem, é só para avisar que estou com uns problemas no computador, nomeadamente na minha placa de som.

Como tal, muitos dos meus projectos vão ficar em standby, visto que a SDL_mixer tem problemas quando não encontra nenhum dispositivo de saída de som.

Por isso, pelos vistos não vou poder participar na competição da gamedev-pt...
Tenho pena, mas paciência.

domingo, 27 de julho de 2008

ASN - Teaser


Fica aqui esta pequena imagem de um novo projecto em que estou a trabalhar :P

Só digo que é a primeira vez que trabalho em 1024x768 e que vai ser preciso um aparelho especial para poder jogar.
Se quiserem saber mais, apareçam na inércia2008 ou esperem por mais informações. ;)

terça-feira, 22 de julho de 2008

Portfólio Remodelado - v.3.0


Bem, quem há pouco tempo tentou visitar o meu portefólio pessoal (http://jdpc.pt.vu/) deve ter reparado que este se encontrava em remodelações.

As remodelações já estão acabadas, sendo que o site já está aberto outra vez ao publico. :)

Visitem e deixem aqui as vossas opiniões sobre o site ou sobre o meu trabalho.

domingo, 20 de julho de 2008

TopCoder


Bem, devido ao elevado número de competições de Gamedev e programação que me têm aparecido pela frente nestas féiras, resolvi não participar na world compo.

De momento estou a trabalhar para outras duas competições, uma do Gamedev-pt (que mais tarde colocarei aqui mais detalhes) e algumas do TopCoder.

Ora, o que é o TopCoder?
Alguns já devem conhecer este site. Basicamente é um site de competições e exercicios de programação, divididas em 11 grupos:

  • Algorithm
  • Software Architecture
  • Software Design
  • Software Development
  • Software Assembly
  • Application Testing
  • Bug Races
  • High School
  • Marathon Matches
  • Tournaments
  • The Digital Run

Cada uma das competições tem um patrocinador, sendo que os melhores podem ganhar prémios em dinheiro ou em T-shirts.

Eu tenho andado a participar tanto nas categorias Algorithm e High School, normalmente em Single Round Matches (SRM). Se quiserem competir contra mim, o meu nick é JD557.
Fico à espera de ver mais alguns portugueses por lá. ;)

As SRM são jogadas numa aplicação java à parte do site, o "TopCoder Arena".
Nestas competições os jogadores são separados em duas divisões (dependendo dos pontos que possuam) e depois por várias salas com jogadores da mesma divisão. Como tal, só irão competir com programadores que estejam ao vosso nível. :)

Podem visitar o site em http://www.topcoder.com/

domingo, 15 de junho de 2008

Gamedev World Compo

No próximo dia 1 de Julho vai se realizar a World Compo, uma competição de Gamedev com participantes de várias comunidades de todo o mundo, destacando-se:
  • gamedev.pl (Polónia)
  • gamedev.lt (Lituánia)
  • gamedev.co.za (África do Sul)
  • gamedev.se (Suécia)
  • gamedev-pt.net (Portugal)
  • Entre outras.
A competição dura 14 dias, sendo anunciado no dia 1 o tema a que os jogos têm de obedecer.
As participações têm ser individuais, nada de equipas. No entranto, é possível utilizar arte de outros autores, desde que não quebre nenhuma lei de copyright.
As regras completas podem ser lidas aqui.

Em principio estou a pensar participar, mas gostava de saber se há mais portugueses interessados.

Caso tenham alguma duvida podem contactar o organizador da competição para o e-mail: jan(a)tarains.com.

Caso decidam participar, boa sorte! :)

quarta-feira, 28 de maio de 2008

Second Eden

Bem, no inicio deste mês decorreu a 1ª competição do site gamedev.com.br "Criando um game em 48h".

Como eu não gosto de perder oportunidades para mostrar o que valho, resolvi entrar na competição.

Podem fazer o download da minha entrada aqui:
http://www.hdd.pt/download/1290932970/Second Eden.rar.html

Deixo aqui umas imagens:

http://jdpc.com.sapo.pt/outros/screenshot1.jpg
http://jdpc.com.sapo.pt/outros/screenshot2.jpg

terça-feira, 27 de maio de 2008

Alien Wars (Alpha Preview 1)




Fica aqui um pequeno preview de um dos níveis de teste do jogo.

O jogo é muito mais fluído, mas como não tenho prática a trabalhar com programas de gravação de video, ficou esquesito. Se alguém me puder ajudar a fazer um video decente, agradecia.

quarta-feira, 30 de abril de 2008

Alien Wars - Apresentação

Venho apresentar um projecto em que estou a trabalhar com a ajuda de um colega meu, João Oliveira.

O jogo chama-se "Alien Wars: The First Invasion" e trata-se de um space-shooter 2D para 1 ou 2 jogadores.


Neste jogo cabe ao jogador ir avançando por ondas de inimigos ao longo de vários níveis.
Para além dos habituais canhões laser, as naves do jogador estão também equipadas com escudos e misseis perseguidores, que este poderá usar a qualquer momento e recarregar apanhando power-ups.


Para do modo carreira o jogo possuí ainda vários modos de jogo livre, assim como várias medalhas na secção de recordes e várias naves, de forma a aumentar a longevidade do jogo.


Este projecto ainda se encontra numa fase de desenvolvimento. Embora a versão actual já seja jogável e já possua grande parte das características principais, ainda há muito trabalho pela frente.
Já por isso, as imagens aqui apresentadas podem não corresponder ao produto final.

Start!

Bem, como vejo que agora toda a gente tem um blog para mostrar o que anda por aí a fazer e já que há algum tempo que não mostro nada, resolvi também criar um.

Não sei se vou ter pachorra para actualizar isto com frequência, mas prontos... Seja o que Deus quiser.