1. SkilLP

    OP SkilLP Member

    May 2, 2020
    a lot of people have asked themselves, how to get started with NDS homebrew development, so I compiled a list of a few links I consider quite important to look into.
    First, of course you have to know either C/C++, as they're the only languages you can currently write NDS Homebrew in (appart from Assembly, but that's really hard).
    For starters, you should watch this video by PolyMars:
    I recommend watching it, to get a good overview, over what it's like to make NDS homebrew. Also, please note that you can draw sprites with libGL2D as well now, as devKitPro got an update since then that fixed it. Since the fix, libGL2D now also comes with libnds, so you're technically already good to go if you want to use it.
    Now onto the other links:

    Here's a post explaing the basics of NDS hb development, including NFlib (the graphics library he uses for sprites): https://gbatemp.net/threads/ds-programming-for-newbies.322106/

    NFlib, the library PolyMars used to make the final version with sprites can be found here: https://github.com/knightfox75/nds_nflib

    SimpleNFL is a way to simplify the use of NFlib even more, and only requires a single header file. It's completely optional of course, and to be honest, NFlib is quite easy to use already, but it makes things such as checking if two rectangles overlap a bit easier. It can be found here: https://github.com/PipeWarp/SimpleNFL

    If you want, you can also take a look at libGL2D, the lib PolyMars used for the primitive prototype. It's a bit more difficult to use and has some disadvantages, but it also has a lot of advantages that might end up making it worth it. Link is: http://rel.phatcode.net/junk.php?id=117
    Btw, if you're wondering why I included the link even though it already comes with libnds, the download includes a user guide, which the libnds version doesn't have

    Here's a guide I wrote on converting sprites using grit: https://gbatemp.net/threads/preparing-images-for-grit.567187/

    Also, if you want to dig into how the DS works, and maybe even use pure libnds without libGL2D/NFlib, you may want to take a look at this: https://problemkaputt.de/gbatek.htm.
    It explains every single bit in detail. It's pretty difficult though, if you haven't got any experience with such low level stuff and if you don't know the basics of how the NDS works already.

    Last but not least, here's the libnds documentation. It also includes libGL2D: https://libnds.devkitpro.org/

    That should cover everything you need for now. If you have anything to add, please tell me.
    Last edited by SkilLP, Jan 9, 2021
    vlevski, wonkeytonk, Abar and 4 others like this.
  2. wonkeytonk

    wonkeytonk GBAtemp Regular

    Mar 14, 2020
    United States
    Thank you for this. A lot of the information seemed to have been lost over the years, like the drunkencoders website.
    98otiss likes this.
Draft saved Draft deleted

Hide similar threads Similar threads with keywords - resources, starting, homebrew