First program finished - what now?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
First program finished - what now?
by on (#131655)
Hi!

After months of NES hacking and learning how things work, I decided it was time to start my own project.
Since I don't have the patience (nor time) to read tutorials from A-Z, I started right away with the knowledge I got from hacking and ofcourse this forum/wiki.

I use NESASM3, but it was mostly because that was the first entry I found on google :wink:
It works, but I will try other compilers to see what fits me best.

So here is what I got so far:

Standard PPU waiting, RAM clearing, palettes, APU, stack and so forth..
So far a single black screen with a background pointer in game so it can be changed easily
A four part animated and movable sprite (Spiny!)
My own controller reader routine
A pause screen setup to halt gameplay
Some flying bubblesprites for comming sprite collision detection (yet to be done)
Boundry control for no wrap around right-left and top-down

For debug and testing purposes I also included a basic frame counter and a Sprite X/Y output.

So far, the code is a bit messy and I rather not share until cleanup :)

What now then? Where to start for making it into "a game"?
Re: First program finished - what now?
by on (#131660)
mikaelmoizt wrote:
What now then? Where to start for making it into "a game"?

If you keep going that route, the game will probably not be very good. Not necessarily for technical reasons (I haven't seen any source code, so I can't tell how well you can code), but because of lack of planning. You shouldn't be thinking of how to piece together a bunch of arbitrary routines in order to make a game... You should be designing a game and then figuring out what kinds of routines you'll need in order to implement it. If during the design phase you feel the need to limit the complexity of the gameplay to accommodate your current technical knowledge, that's fine, but please don't do the whole thing backwards!

Considering what you currently have, you'll probably do well with a single screen or screen-by-screen (touching the edges of the screen switches to another screen) game. Try to design a fun concept around those limitations. If you want an action game, think of how your character will attack and what kinds of enemies would be fun to fight. If it's more of a puzzle game, think of other games you like and how you can combine their elements to make something new. Only after you have a game concept you should think seriously about the technical details.
Re: First program finished - what now?
by on (#131669)
tokumaru wrote:
mikaelmoizt wrote:
What now then? Where to start for making it into "a game"?

If you keep going that route, the game will probably not be very good. Not necessarily for technical reasons (I haven't seen any source code, so I can't tell how well you can code), but because of lack of planning. You shouldn't be thinking of how to piece together a bunch of arbitrary routines in order to make a game... You should be designing a game and then figuring out what kinds of routines you'll need in order to implement it. If during the design phase you feel the need to limit the complexity of the gameplay to accommodate your current technical knowledge, that's fine, but please don't do the whole thing backwards!

Considering what you currently have, you'll probably do well with a single screen or screen-by-screen (touching the edges of the screen switches to another screen) game. Try to design a fun concept around those limitations. If you want an action game, think of how your character will attack and what kinds of enemies would be fun to fight. If it's more of a puzzle game, think of other games you like and how you can combine their elements to make something new. Only after you have a game concept you should think seriously about the technical details.


Wise words. Like you said, I mostly try to solve technical parts of my program first. The planning got left out of this project because I started from scratch with just some ideas on how to put things on screen and moving them around. It turned out to work, so I pushed for more knowledge and added more things in. I should have focused on the "game" idea instead :)

Now I will start a new project with parts of my old project and knowledge, and will try to focus more on what you wrote in order to make the "game" before making the "engine". Next one will be posted on this forum for sure! Thanks!