Post

NDS Programming - Indefinite Postponement

Regarding the two NDS programming articles I wrote earlier, it was truly unintentional. Unexpectedly, I received quite a few emails from people enthusiastic about NDS development — some asking for help, some discussing, and some hoping I’d continue the series. Since I’ve been really busy lately, I have to make this statement:

1) I myself am no expert in NDS development. I only studied it in my spare time, and I’m actually a learner too. 2) The next installment of the NDS Programming series is indefinitely postponed. This doesn’t mean I’ll never write it again — if I have time, I’ll continue, just not now.

Attached is a reply email I sent to a passionate beginner, hoping all passionate beginners can achieve their goals.

NDS programming was done during a few relatively free months. Now I’m busy again, so those articles haven’t continued. It’s rare that you’re so dedicated to patiently read my articles.

For NDS game development, I think without Nintendo’s SDK, it’s very hard to develop decent games. Of course, that SDK isn’t something people like us can obtain. Actually, developing with the devkit SDK is essentially bare-metal ARM hardware programming — you need basic hardware knowledge, like knowing the touchscreen controller is on the IIC bus. Plus, the current SDK lacks necessary debugging tools, making development inefficient. That’s why I didn’t call my articles “NDS Game Design,” just “NDS Programming.” If I can普及 some embedded development or software development basics through the NDS platform, that goal is achieved.

If you have no prior experience, I think learning GBA programming is a good start. GBA emulators are quite mature, so you can use emulators for code debugging, and there’s plenty of GBA development information online. Most importantly, GBA and NDS development are similar — easy to transition from one to the other. The NDS’s dual CPU and dual screens can be confusing. Once you understand both, you can judge for yourself the differences between GBA and NDS. I suggest learning GBA development to understand basic embedded and game development principles before learning NDS development. For a student, this can also bring textbook knowledge to life.

Finally, one more personal opinion on game development: making games is very different from playing games. Passion is necessary, but passion alone is not enough. I hope you work hard, and if there’s anything I can help with, I’m happy to. But if I’m busy and forget to reply to emails, please don’t mind. I’m getting older, and some things are beyond my control.

This post is licensed under CC BY 4.0 by the author.