Tuesday, October 30, 2007

Brainstorming

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.

0 comments: