Before starting to make any of the classes, I'll try to list some of the things our engine must support. We of course need classes representing characters, and I'm assuming it would be a good idea to represent each attack with an object too. We also need some classes to do things that we see in other fighting games, like ways to represent text or images that are overlays, like countdowns, countups, "Finish Him"s, etc. Life bars, death counters, and timers in their own class, perhaps..? These kinds of "meters" are overlays that represent a changing value. Numbers and stuff that need to be displayed instantaneously might be a different kind of class.
All of this crap is going to go into a big list of things to be "Drawn()" and "Step()ped" in a particular order. Just like in Game Maker, these things will have an Order, which is like our Z-buffer. Backgrounds will be drawn first, then characters, then life bars, for example (but there can be unlimited layers). The temporary things that are displayed only for a few frames will be removed from the collection and delete themselves from memory.
We also need to think about the levels and menus. I guess they will both be derived from the same sort of "Scene" class like before, and we can make a more specific Menu base, and provide tools for making awesome animated "swoosh"ing menus.
Hmm... that's another thing I'm not too sure about: the pause menu. We'll need a feature of our collections to stop EVERYTHING, and allow another collection to proceed. And when a game ends, we'll need the collection to dump everything and clean up memory. So, maybe a Pause(), Resume(), Destroy() are in order?
Please list any other features and things you'd like to see, too. Thanks.
Tuesday, October 30, 2007
Monday, October 29, 2007
Introduction
Welcome to the new blog, folks! I know the other game isn't finished, but working on two projects will let me work on one when the other frustrates me too much. I also want to take a different approach with this one. Every addition to the game will be detailed in a blog. I won't just post updates when some big new feature is added. Instead, I'm going to be posting dozens of times a week with every little update and plan, to keep everyone in the loop. If you don't understand a concept in the code, you can just look it up in the blog somewhere. We'll also need to make use of the keyword feature to make this system easier. I hope this means I won't be monopolizing the project, as long as every contributor blogs just as frequently!
Well, now I suppose I should describe the project. A 2D fighting game engine, upon which we can build many different fighters pretty easily. We can do this by keeping everything modular, in separate files that all work together to create a very simple, badass set of tools for games. I can actually use some classes I wrote for the 220 project, so I'll detail those in another post. In the meantime, everyone post their best ideas on how to make this the best fighter ever!
Well, now I suppose I should describe the project. A 2D fighting game engine, upon which we can build many different fighters pretty easily. We can do this by keeping everything modular, in separate files that all work together to create a very simple, badass set of tools for games. I can actually use some classes I wrote for the 220 project, so I'll detail those in another post. In the meantime, everyone post their best ideas on how to make this the best fighter ever!
Subscribe to:
Posts (Atom)