[HELP] Where to start to learn and develop?

Discussion in '3DS - Homebrew Development and Emulators' started by Enlapse, Aug 24, 2016.

  1. Enlapse
    OP

    Enlapse GBAtemp Regular

    Member
    170
    59
    Dec 21, 2014
    Good evening, GBATemp!

    I am trying to learn new things and I'm not sure where to start, so if you're a troll, please, leave. :)

    Well, I'm going to start a three year course about web software development and multiplatform software development (they're two different courses, though) in about a month and I wanted to try to start some (mostly basic) homebrew development for academic purpouses that could be run on 3DS and perhaps on Wii U. Probably it won't be web homebrew related though (but I'd really appreciate any help with this).

    So, what I was wondering is, which language should I start using? Or what language should I try to learn? I know that Lua may work kind of well, but I was wondering if there is something easier or "better"/"helpful", for example to make a little easy game or little utility, I don't know. In the end, all I want is to learn as much as possible through these three years, to maybe become something or somebody useful.

    If somebody could help me telling me what things should I learn, or start to use (software, languages, maybe learning advanced maths or something? Who knows) it will be great.

    Thank you very much, and again, please, people that are not willing to help or contribute (I accept constructive critics -bad or good ones, as long as they are constructive (in the end, all I want is to learn)-), abstain of commenting or answering, please: This is not the place for trolling, I'm trying to be serious.

    Again, thank you very much, and if this is not the proper place to ask this kind of questions, I'm sorry.
     
  2. Cha0tic

    Cha0tic GBAtemp Advanced Fan

    Member
    513
    156
    Mar 14, 2013
    United States
    Your best bet is to just learn, don't learn for specifically homebrew. Learn a language once you get good enough you'll learn how to incorporate it for your goals.

    I'm not sure what coding is needed for homebrew but in general I'd recommend python then move up to c/c++.
     
  3. Enlapse
    OP

    Enlapse GBAtemp Regular

    Member
    170
    59
    Dec 21, 2014
    @Cha0tic In my 3rd year I will do the multiplatform degree and probably I will learn python and C++, but until I start school again, I won't know, so I will start from now on as soon as I get my laptop. That's why I want to know what I need to learn or focus on. So I will look to start with Python. Thank you very much. I'm probably going to use Udemy for guides, but you know a guide/book or series of books that teach python from the very beginning (knowing nothing or almost nothing)? Thank you, mate.

    If somebody has something more or any ideas, please tell me. For now on, I will try with Python.
     
  4. Boogieboo6

    Boogieboo6 @realDonaldTrump

    Member
    960
    1,314
    Jul 30, 2015
    United States
    I'm learning C++ at my school currently. During the summer, I used sololearn to learn a bit of C++ before the class started. I'm pretty glad I did too, it's not all too difficult and it's my first programming language. I think it's a good idea to choose Python first, but I don't know what it's used for during 3ds related things. You'll get some use out of it in the real world though, maybe a job or something will like it.
     
  5. Cha0tic

    Cha0tic GBAtemp Advanced Fan

    Member
    513
    156
    Mar 14, 2013
    United States
    Python is a great foundation to learn once you learn it, it'll make future programming easier, you'll see the similarities. For instance going from Python to c++ you'll find c++ much easier then just going into c++ you can relate most of of what you learned in Python or even one language into another.

    I can recommend you a couple of books, I'm majoring in a computer science. I've been around programming for 10 years, one of my first courses I had to take for my program was a Python course and it's simple, you have to remember coding is logic based. Once you're in the mind set of a programmer most lessons will come easy to you.

    Udemey is great, I've used them for some extra knowledge. If I were you I'd take some from there just keep your eyes out for coupons and discounts. I paid around $10 for a class over $100 on there.
     
  6. machinamentum

    machinamentum GBAtemp Regular

    Member
    163
    450
    Jul 5, 2015
    United States
    Hopefully I could offer a few bits of sound advice from the perspective an active (though, somewhat inactive recently) homebrew developer.

    What language should I use?
    Typical homebrew is written in C/C++ and Lua, but devkitARM is capable of supporting Objective-C, Objective-C++, (though not part of a standard build) Fortran, Ada, and most other GCC frontends. There's also the option of using custom transpilers (compiling one language to another), such as the limited JAI->C compiler I've built (which is capable of being used for homebrew). Although there's no one right answer to this question, generally, I think the language to start with should be based on your long term goals (even those beyond the scope of your courses, such as your future career). For example, if in the long term you're interested in game development, C++ is the industry standard (though, a lot the known industry experts such as Mike Acton, seem to write C++ code in the style of C code), so learning it would be invaluable. However, Lua may also be a good option to start with since arguably it has an easier environment to setup and LLP-3DS seems to have a user-friendly interface (I assume, I've never used it personally). If web development is more of what you're after, it may be more beneficial to learn JavaScript and develop small games to be run in the 3DS' web browser.

    What maths should I learn?
    For game development, Linear Algebra (matrices, vectors, etc..) and Calculus are the two fundamental maths needed, followed by their applied use, Physics. For 2D games, it's commonplace to fake a lot of equations of motions and collision detection using simple Algebra, but for 3D, picking up a first edition of Game Physics wouldn't hurt (first editions can cost as low as a few USD on Amazon), but I would suggest you keep in mind that this subject is very advanced and very expansive. For general purpose programming, only a simple understanding of Algebra is necessarily needed for beginners.

    How do I improve/general advice?
     
    Minnow likes this.