Page 1 of 2

Easy way to learn to code the NES?

Posted: Fri Apr 27, 2018 4:37 pm
by IRSUP2a03
I want to make an NES game, and I can hardly make anything other than a still image, is there an easy way to learn how to code the NES?

Re: Easy way to learn to code the NES?

Posted: Fri Apr 27, 2018 4:48 pm
by Drew Sebastino
Have you already looked at Nerdy Nights? What starter kit have you used even just to get a still image?

Re: Easy way to learn to code the NES?

Posted: Fri Apr 27, 2018 4:50 pm
by IRSUP2a03
https://kkfos.aspekt.fi the image converter. :?

Re: Easy way to learn to code the NES?

Posted: Fri Apr 27, 2018 4:52 pm
by russellsprouts
It really depends on your previous experience. There are a lot of ways to get started.

If you want to use a programming language, I'd recommend starting with this tutorial:
https://nesdoug.com/2015/11/15/introduction/
It shows how to make a simple game in C, but I went from there straight to learning assembly, which gives you more flexibility, though it's more difficult.

There's an upcoming project that will let you create games without a traditional programming language:
https://www.kickstarter.com/projects/13 ... -required/
It's not quite ready yet, but it could be a good place to get started if you don't have much programming experience.

I use the Mesen emulator to test things I'm making -- it has great tools for debugging. The NESDEV wiki is full of useful info and tips.

I check this page for assembly code quite a lot.

Re: Easy way to learn to code the NES?

Posted: Fri Apr 27, 2018 4:55 pm
by IRSUP2a03
I've tried to learn a programming language, and it looked too complicated since I didn't know what the heck everything ment, so I just scrapped it, and yes I am WELL AWARE of NES Maker, too bad you need to pre-order it or buy it when it comes out, but I will try again to learn code.

Re: Easy way to learn to code the NES?

Posted: Fri Apr 27, 2018 5:01 pm
by Drew Sebastino
Yeah, you might just want to start off with Nerdy Nights. It's not much, but it's a start. Then just flood the forum with questions like I did. :lol:

Re: Easy way to learn to code the NES?

Posted: Sat Apr 28, 2018 9:00 am
by na_th_an
I'd try this viewtopic.php?f=2&t=17295 - definitely better than Chase and the Neslib examples. But you should learn the basics of C first. There's a link to a great tutorial in the documentation of Nes Starter Kit.

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 5:10 am
by DRW
IRSUP2a03 wrote:I want to make an NES game, and I can hardly make anything other than a still image, is there an easy way to learn how to code the NES?
No. There is no easy way. Programming takes time, patience and dedication. It's not as easy as switching a lightbulb. Why do you think were NES games created by professional software developers and not by elementary school students?
IRSUP2a03 wrote:I've tried to learn a programming language, and it looked too complicated since I didn't know what the heck everything ment, so I just scrapped it
Well, then you're out of luck. Making games is about programming. If you want to avoid the core ingredient, then you cannot make a game.

That's like me saying: "I want to get an athletic body, but this whole stuff about eating healthy and doing sports is too complicated for me, so I just scrapped it. Is there any other way to lose weight where I don't need to get up from the couch and can still stuff myself with fast food?"
IRSUP2a03 wrote:and yes I am WELL AWARE of NES Maker, too bad you need to pre-order it or buy it when it comes out, but I will try again to learn code.
I still have my doubts that you can actually do anything meaningful with that tool without digging into the code, unless you're content with a graphics hack of "Mystic Searches".


P.S.: Does your name happen to start with an R?

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 5:40 am
by nesrocks
Dougef's tutorials helped me better than nerdy nights.
https://nesdoug.com/

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 2:26 pm
by Sogona
Yeah I would recommend Dougeff’s tutorial as well. I learned via nerdy nights, and pretty much everyone’ll tell you that, though it’s somewhat necessary for the absolute beginner, it teaches a lot of bad practices, and the learning curve afterward is pretty high for making a full-fledged game. Although his last tutorial on Pong fixes some of the original issues.

Dougeff teaches in C, but he covers some basic asm at the end. Once you’re comfortable with C, the transition over to assembly isn’t all that bad in my opinion at least. For me the hardest part out of all of it was taking the basics I’d learned and transitioning that into an actual working game engine. (Of course, if you already have a bit of a sense as to how games / game engines work, that’s a plus.) Making everything work in a non-hardcoded way is difficult, and requires a lot of patience, thinking and trial-and-error. But the forum can help you out with that. Learning how to effectively use subroutines, tables and indirect addressing to help abstract things I’d say is probably the biggest hurdle.

I’d also reccommend, once you’re comfortable with asm, going through Metal Slime’s sound engine tutorial over on NintendoAge. Idk if Dougeff covers the APU in his tutorials, but Metal Slime in my opinion covers a lot of the things I mentioned above, and is a really good transition from beginner to intermediate stuff.

Hope this helps.

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 4:45 pm
by dougeff
Idk if Dougeff covers the APU in his tutorials
I do. I cover the basics of the APU registers and how to put songs and sound effects in with famitone2.

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 5:48 pm
by nesrocks
Funny thing is although I used cc65 as in your tutorials, I don't think I actually wrote a single line of C. It was all asm? It just worked and I don't know C but I know asm :D

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 6:02 pm
by Sogona
I’m honestly surprised by the amount of people here who know assembly and not C or any other language. :roll:

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 6:08 pm
by nesrocks
I have programmed in C# before, and I code in GML (gamemaker language), and did things in BASIC and also a lot of actionscript 3. But for the NES, I went into ROM hacking before trying to make a homebrew, so asm was already known.

I just checked, and my compile.bat starts with a call to ca65.exe, not cc65.exe, so I'd say that's for sure I didn't write anything in C in my project.

Re: Easy way to learn to code the NES?

Posted: Tue May 01, 2018 6:10 pm
by Sogona
nesrocks wrote:I have programmed in C# before, and I code in GML (gamemaker language), and did things in BASIC and also a lot of actionscript 3. But for the NES, I went into ROM hacking before trying to make a homebrew, so asm was already known.

I just checked, and my compile.bat starts with a call to ca65.exe, not cc65.exe, so I'd say that's for sure I didn't write anything in C in my project.
If you’ve used C#, and know all the low-level intricacies of assembly, I’m sure you could learn C pretty easily if you wanted to.