This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

My Breaking Bad NES game needs something.

My Breaking Bad NES game needs something.
by on (#123610)
So I'm building my first game around the example game "Chase," I learned how to do most of the things it takes to build a game based solely on that example. Now, what I would like to do is make a Mario style side scroller or a Zelda (1, god knows we don't need another Zelda II) style free world. I'm just extremely confused about how basic movements and and other controls have to be to fit the guild lines of compiling with cc65.

Also any link to physics and any other resource to get me up to speed here would help. :lol:

EDIT: here is my github https://github.com/Bradley-Plus/BreakingBad-NES
Clicking Bad
by on (#123611)
All the physics you need for a Breaking Bad simulation can be gleaned from the JavaScript source code of this game.

Or you could clone Arkanoid.

If you give a mouse a cookie, you get the responsibilities of taking care of a pet mouse. But if you give the cookie a mouse, you get a new addiction.
Re: My Breaking Bad NES game needs something.
by on (#123613)
I'm not sure I got the point of this post... You first talked about a game you're making, then you talked about games of 2 different styles you want to make, and I have no clue about which of them your question was!
Re: My Breaking Bad NES game needs something.
by on (#123614)
tokumaru wrote:
I'm not sure I got the point of this post... You first talked about a game you're making, then you talked about games of 2 different styles you want to make, and I have no clue about which of them your question was!



I'm making a game, I'm open to new styles, I don't know how to execute any ideas.
Re: My Breaking Bad NES game needs something.
by on (#123615)
Have you ever made a PC game, or a video game for any other platform?
Re: My Breaking Bad NES game needs something.
by on (#123616)
tepples wrote:
Have you ever made a PC game, or a video game for any other platform?


In GameMaker studio yes (did that for ~6 years) and then I discovered all these other languages. They are all so easy to understand, but writing is another thing. So I have experience in syntax, so no syntax or variables or classes type training is needed, but I don't exactly know what "rules" there are to the NES (RAM, movement, ect.)
Re: My Breaking Bad NES game needs something.
by on (#123621)
Bradley+ wrote:
but I don't exactly know what "rules" there are to the NES (RAM, movement, ect.)
What do you mean by "rules"?
Re: My Breaking Bad NES game needs something.
by on (#123632)
Bradley+ wrote:
tepples wrote:
Have you ever made a PC game, or a video game for any other platform?


In GameMaker studio yes (did that for ~6 years) and then I discovered all these other languages. They are all so easy to understand, but writing is another thing. So I have experience in syntax, so no syntax or variables or classes type training is needed, but I don't exactly know what "rules" there are to the NES (RAM, movement, ect.)

Before you get started on what is a pretty tough task, like making an NES game, I would try to program the game you have in mind for the PC just to be sure you have the idea down. To start making a game without a firm idea of what you want to program will make it a lot harder, so get a prototype working in an easier environment first. I recommend trying to make a game in C or C++ using the Allegro library. Some will recommend Python or Java. I won't, but do what you will.
Re: My Breaking Bad NES game needs something.
by on (#123636)
I agree that you should organize your ideas first. If you dive into a platform you don't know much about wanting to make all kinds of games at the same time, you'll hardly achieve anything. The NES is a very limited platform, so you must design things very well from the start and allocate the resources you have for the areas you need... there's not much room for changing your mind once you begin coding. You should probably pick game style and develop some ideas on top of it to design your own game. THEN you go about building the technical knowledge necessary to make it.

I don't think anyone is able to learn the basic concepts necessary to make complex games (scrolling, level maps, physics, collisions, object management, etc.) on the NES all at the same time. People usually start programming simpler games on the NES (static screens and a fixed number of objects) and then progressively make more complex stuff, so that they are able to master the basic concepts little by little. It may sound boring, but that's how the human brain works. In the process of making a simpler game, you master all the concepts involved with that game, and then you automatically start thinking of how to expand those concepts. It comes naturally.

OTOH, there are people that come to the NES with previous game programming experience and just have to study the peculiarities of the platform a bit before applying the knowledge that they already have. Most of the game programming concepts are universal, and can be used in a multitude of platforms.

I honestly think that these game programming concepts are easier to learn on less constrained platforms. So if you really want to make a Zelda or a SMB, my advice is that you experiment with the concept on the PC. If you learn how to do scrolling, physics, etc. in there, you'll have a much simpler time porting those ideas to the NES. Or you can start with the NES, but don't expect to finish SMB as your first project. You'll have to make a handful of simple games/programs (and understand 100% of what you went through to make them - no guessing or copying/pasting code) before you can make SMB.
Re: My Breaking Bad NES game needs something.
by on (#123771)
Bradley+ wrote:
tokumaru wrote:
I'm not sure I got the point of this post... You first talked about a game you're making, then you talked about games of 2 different styles you want to make, and I have no clue about which of them your question was!


I'm making a game, I'm open to new styles, I don't know how to execute any ideas.


Before attempting to implement any style, you'll need to know how to get the NES to do basic stuff.

Making a game on the NES is extremely different from making one in Game Maker. The concept of a "game" is not something the NES inherently understands. The concept of game objects is not something the NES understands. Player movement, AI, maps; none of it exists when you first start. It's sort of like, "In the Beginning, the programmer created the Heavens and the Earth."

Basically you have means to read button presses at a particular instance, tell the PPU to render 64 8x8 pixel sprites at certain positions on the screen, define what tiles make up the background, show a segment of the background, and tell the APU to make specific noises at a particular instance.* Then you have RAM to put numbers in. That's about it. You basically write code that every frame, reads the controller and performs different calculations based off of that input. In those calculations, you do whatever you have to do to come up with values to store in registers that will tell the PPU what segment of the background to display, or what positions the 64 sprites on the screen will use, and what noises the APU needs to make to produce what looks/sounds like a game to the player. I'm sure tokumaru has put this in a nutshell a lot better than I have, many times before in other posts, but I figured I'd give it a shot.

You should start out by getting the NES to do something. Get it to display a sprite on the screen. Get it to make a noise. Get it to show something on the background. Get it to respond to input. Then experiment with changing what is displayed/making noise over time. Once you can get things moving on a frame-by-frame basis, you have somewhat of a starting point for a game. You should start by making a simple game, just to get a feel for the platform. I will not lie, this takes quite a bit of commitment.

I'm sure this doesn't seem helpful, but the question is very open-ended.


*Please, unless you really have to, don't mention things I missed/generalized.