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.

Arquitetura do Hardware do Nintendo DS

Arquitetura do Hardware do Nintendo DS

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://dev-scene.com/NDS/Tutorials_Day_1
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 emulador DeSmuMe

Executando no emulador DeSmuMe

Executando no Nintendo DS com R4

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!


  1. Rodrigo says:

    Bem… não entendi direito a parte do Visual Studio… Você pode desenvolver em VB e transformar em um NDS, é isso? Se for, seria ótimo, pois sou programador e uso a linguagem Visual Basic, além de adorar Homebrews :D

  2. Lucas says:

    Olá, gostaria de saer como instalar e compilar um arquivo .nds.
    Seria interessante vc fazer um tutorial do zero.
    vlw.

  3. Miller says:

    ok bem legal mais eu queria saber como criar o make file pois nao entendi como se cria se puder me ajudar ficarei muito agradecido.Obrigado

    • cicanci says:

      Olá Miller!

      Pra fazer o MakeFile funcionar vc precisa primeiro instalar o devkitPro: http://www.devkitpro.org/downloads/devkitpro-windows-installer/

      Depois, vc abre o prompt de comandos (cmd) e digita isso:
      cd c:devkitProexamplesndsGraphics2Dhello_world (esta primeira linha pode ser diferente dependendo do lugar que vc instalou)
      make

      Isso vai gerar um MakeFile do exemplo que vem nele, só pra testar se está tudo funcionando. Pra vc fazer o seu projeto vc pode pegar um template dentro do diretório ‘C:devkitProexamplesndstemplates’ e começar a programar, ai pra gerar o MakeFile vc usa aquela linha de comando acima no diretório do seu projeto.

      Isso tudo pode ser feito também configurando o visual studio, ai vc tem que seguir esses passos aqui e o visual studio faz tudo isso pra vc: http://www.coderjoe.net/archive/2007/07/30/using-devkitarm-and-libnds-with-visual-studio-2005/

      Se tiver dúvidas tenta dar uma olhada nos links que eu postei.

      Até mais!

  4. Dyhego says:

    Tenho a seguinte dúvida, eu baixei o DevkitPro, porém o que faço com ele? Eu uso a IDE do Dev C++, quando instalei o devkitpro surgiu um monte de arquivo compactado. Tenho que extrair esses pra dentro na pasta de bibliotecas do DevC++ ou o que? Tenho que o usar o programmers notepad pra criar o codigo ou posso usar o DevC++ mesmo?

    me ajudem!

    • Olá Dyhego,
      No DevC++ eu não testei, só no Visual Studio mesmo. Pelo menos no Visual Studio vc tem que configurar a compilação, não é só copiar os arquivos, então eu acho que vc deve fazer a mesma coisa no DevC++. Se vc estiver usando windows, baixa o Visual Studio C++ Express Edition (que é gratuito) e segue os tutoriais com ele, esse eu sei que funciona.
      Pra programar vc pode usar qualquer programa, só pra compilar que eu recomendo usar o Visual Studio.
      Abraço!

  5. cicanci says:

    Olá Rodrigo! Obrigado pelo comentário!

    Utilizando o devkitARM eu acho que só é possível programar com C++. Não testei com outras linguagens, mas tenho quase certeza de que só funciona com C++ mesmo. Você pode usar o Visual Studio 2005 ou 2008, e instalar o complemento C++ que não é default na instalação, ou usar o Visual C++ Express 2008 para desenvolver.

    Espero ter ajudado! Até mais!

  6. cicanci says:

    Olá Lucas!!

    Nos links que postei estão as instruções para configurar o ambiente no Visual Studio e utilizar o compilador para gerar o .nds. Vc não precisa instalar o arquivo .nds, é só abrir ele em um emulador, depois que ele for compilado. Vou escrever outro post com um tutorial sim, obrigado pela sugestão!!

Leave a Reply