gamedeveloper

Hello World no Nintendo DS

Há pouco tempo comecei a pesquisar e estudar o desenvolvimento de jogos para o Nintendo DS. Poucos estúdios de games têm a licença e o kit oficial para desenvolver jogos comerciais para o Nintendo DS, mas existe uma outra maneira para desenvolver jogos não comerciais, apenas para estudo, também conhecido como homebrew.

A maneira que encontrei foi usar a biblioteca libnds e o compilador devkitARM, disponíveis no devkitPro, que foram desenvolvidos por uma comunidade dedicada ao desenvolvimento de homebrews para DS e algumas outras plataformas. Com esta ferramenta podemos desenvolver homebrews e rodar no próprio Nintendo DS (com R4 ou equivalente) ou em um emulador no PC.

Antes de sair programando, é necessário entender algumas particularidades do Nintendo DS. Assim como um celular, o Nintendo DS possui um hardware limitado, porém muito poderoso e com uma arquitetura incrível, além de muitos recursos para criar diferentes tipos de gameplay. O diagrama abaixo parece complexo, mas não é muito. Entendendo como este hardware funciona, dúvidas e problemas podem ser resolvidos simplesmente olhando para o diagrama, como estouro de memória gráfica, por exemplo.

A linguagem de programação utilizada é C/C++. Ao baixar e instalar o devkitPro, ele também irá instalar uma IDE para programação, o Programmer’s Notepad, que é praticamente um bloco de notas colorido que compila. Nada contra desenvolver utilizando este software, mas eu prefiro utilizar o Microsoft Visual Studio 2005/2008.

Neste tutorial é demonstrado como configurar um projeto no Visual Studio 2005 e utilizar o compilador devkitARM – também funciona no Visual Studio 2008. Para completar o ambiente de desenvolvimento, você irá precisar de um emulador de Nintendo DS, pois a configuração deste tutorial permite que ao executar um programa no Visual Studio (F5), além de gerar um arquivo .NDS, este arquivo é carregado em um emulador para testar, incrível não?

Configuração do meu ambiente de desenvolvimento:
– OS: Windows XP SP3
– IDE: Visual Studio 2005/2008
– Compilador: devkitARM
– Biblioteca: libnds
– Emulador: DeSmuMe

Para testar no meu Nintendo DS estou usando o R4. Você só precisa compilar o programa para gerar o .NDS e colocar na micro SD do R4 para funcionar no Nintendo DS. É tão simples quando utilizar um emulador.

É sempre bom testar no emulador e no Nintendo DS, pois a emulação do Nintendo DS no computador não é real. Como o emulador esta rodando em cima de uma arquitetura diferente da real, os limites do hardware do Nintendo DS geralmente não são levados em conta.

A libnds possui muitas funções para interagir com o hardware do DS, e todas estão muito bem explicadas e com exemplos neste link. Após configurar meu ambiente de desenvolvimento, estudei os exemplos deste link e li os tutoriais abaixo, antes de começar a brincar:

http://patater.com/files/projects/manual/manual.html
http://ndsbr.blogspot.com
http://www.double.co.nz/nintendo_ds

Para começar a brincadeira, fiz uma programa onde na tela superior do DS aparece um texto e na inferior (touch) existe um quadrado que pode ser controlado com os direcionais ou arrastado utilizando touch. Não é nada muito complexo, estudando os links acima é possível fazer muitas coisas legais, inclusive algum jogo curto ou demo.

Executando no Nintendo DS com R4

Clique aqui para baixar o .NDS do meu “Hello World”.

No momento estou estudando JME por causa de uma matéria na pós-graduação de Jogos para Celular, e preciso terminar um jogo (que irei postar aqui logo). Quando terminar este projeto pretendo me dedicar um pouco mais à “brincar” com o Nintendo DS. Qualquer dúvida sobre a configuração do ambiente ou sobre a programação para o Nintendo DS é só postar que eu tentarei ajudar!