Want to learn how to build a homebrew.

Discussion in '3DS - Homebrew Development and Emulators' started by androgynus, Aug 22, 2015.

  1. androgynus

    androgynus Advanced Member

    Sep 13, 2014
    Hello all!

    So yeah, as in the title, i wanna start doing homebrew for 3ds. I have not yet an idea of what to do yet (Probably nothing to hard, at first i guess). The this is, i only know of C/C++ programming correctly. Can i actually build something worthy with only those programming language or i need more like python or ruby or else?

    Also if anyone want to provide me some tips or easy idea of what to do first im all open.
    MRJPGames likes this.
  2. MassExplosion213

    MassExplosion213 .

    Feb 15, 2015
    United States
    ARM11 homebrew can be written in C/C++. Anything ARM9 should be written in assembly. And at the moment, python and ruby aren't supported. There are only a few programming languages other than C/C++ that work on the 3DS, and those only work through separate interpreters/compilers/whatever they are.
  3. cynosura

    cynosura GBAtemp Regular

    Jun 7, 2015
    I can learn you how to build "hello world" homebrew :P
  4. MRJPGames

    MRJPGames Pretty great guy

    Aug 17, 2013
    The Netherlands
    https://github.com/MrJPGames/Shooting-Watch-3D (c)
    This was my first homebrew, it uses a outdated version of ctrulib (and thus will not compile with the latest version of ctrulib). It's not written very well either, but you can take a look and see how certain things are done (rendering images to the screen, button input and such). Replicating this game might also be a good idea as the concept is very very simple, so the new stuff that comes with the 3DS (how you render, input etc.) can be easily learned as the main "game" is extremely simple.
    You can also check out other source code for my 3DS homebrews:
    https://github.com/MrJPGames/2048-3D ~Worth a look, should work with latest ctrulib (c++)
    https://github.com/MrJPGames/Mastermind-3DS ~Pretty good IMO XD (c)
    https://github.com/MrJPGames/Othello-3DS ~Probably confusing, also uses sf2dlib for hardware rendering, which you probably don't need (or want) for your first homebrew, but hey feel free to take a look I guess.

    I hope some of my source code can help you, feel free to ask more specific questions about certain things if you want.
    https://github.com/MrJPGames/3DShomebrew A tutorial kind of thing, very lacking, never finished etc. Might help you a little though so I thought I would include it.
    Aidan25, rlink247 and WhoAmI? like this.
  5. Ryuzaki_MrL

    Ryuzaki_MrL Green Thunder

    Jun 23, 2015
    That actually helped me using sf2dlib, thank you xD
    I'm porting one of my Windows games over to 3DS and using sf2dlib. Can I port all the .png backgrounds and draw them directly or they need to be in another format? It will be my first homebrew since it's simple (it has a level editor feature too, I will try porting it sometime).
    MRJPGames likes this.
  6. MRJPGames

    MRJPGames Pretty great guy

    Aug 17, 2013
    The Netherlands
    .png can work (see lpp-3ds) but I'd recommend using .c images (can be easily made with GIMP (free)).
    EDIT: https://github.com/Rinnegatamante/lpp-3ds/blob/master/source/luaGraphics.cpp ~File your looking for in lpp-3ds.