In this post, Banshaku wrote:
Hamtaro126 wrote:
The thing is that Most 6502 tutorials, Even when applied to stuff NES-Specific, Are not really that great. I tried every tutorial known here.
It depends on your background too. Do you have any computer science background? If not, some tutorial may be more difficult because you may be confused by the basics like variables, loops, stack etc.
What kind of other language you know? If you don't know any other, it could be a good thing (but not required) to learn the basic in less cryptic one like C or even basic would be fine.
Basics are important to be able to understand how to program. Without the basics, you will get lost. I think this comment is quite general for anything you learn.
You know, it's funny because I find C a lot more confusing than 6502 (it helps that I know 6502, and don't quite know C). 6502 is just so straightforward, and it gives you 100% access to all of the registers. With C, it's harder to manipulate a specific byte without addressing it as a variable of some sort. Everything is just so not-up-to-you, it bothers me sometimes. Though doing Variable = 12/5 is a lot more fun than ldx #12, ldy #5 jsr DivideXbyY.
What really got me when I first came was that I didn't realize how much power was given to me, and how much was up to me to do. I didn't quite comprehend that I say how the maps are stored, I decide how to check for collision, etc. I guess I thought there was one magical answer to every "how do I..." but eventually it dawned on me that I had all this power, and I felt like an omnipotent genie (okay, no, not really). And that's the one thing that I really think is the most important to learn when programming a game. And also, I didn't know about the concept of a "game engine" at first, so when thinking about ways to make a game, I basically had to re-invent the wheel where I had to come up with the concept of a game engine on my own. When I really first started, I figured everything was completely hardcoded, which is just plain awful.
As for programming languages, Basic, however, I would recommend. QBasic in particular is super easy to get a feel for, and it's easy to draw graphics (though there aren't fun things like scrolling and hardware sprites). I was able to make a wireframe 3D simulator just using its "line" function and a little math.