An important stage in starting a project is the planning stage. You'll need to plan out what exactly you need to have before you even start. Also, in the planning stage, you already put in big lines the functionality of your program, for example, what should interact with what.
Creating a new Adventure Engine isn't that simple, so going trough these steps helps a lot. Knowing what's needed may prepare me of how much I need to add. This list doesn't need to be complete, its function is only to sort everything out before you start coding.
The main things I need are costumes (to define character graphics), rooms (places where characters can walk trough), actors (mostly characters, the objects in the game the player can interact with) and a vocabulary (to interpret the actions). These things are the basics. Without either of them, you wouldn't be able to play the game.
We start out with costumes. Costumes consist of graphics or images, which may or may not have palettes. In the case of the version one interpreter, all images use palettes.
Rooms too require graphics and palettes, but there are also other things required. For example, the game needs walking areas. There are two ways to choose from, pixel-based, which means that the walking area is defined by a certain color, and vector-based, which is defined by area boundaries, lines which form areas. To keep it simple, I decided that the version one interpreter would only use pixel-based areas.
Another thing I decided was that for now the room would handle objects. It is true that actor-based objects are more dynamic, but I do think using actors for most objects would probably be a waste of memory, seeing as almost all objects are only bound at one place. However, this does not mean I would never include such features.
Next up are actors. The most used type of actors, and probably the only type, would be the character. Characters link to costumes. They also are the most dynamic objects for the games. When using certain characters for more than one room, you should always use one character, even though the character in the other room has other functions or even a different costume set.
Last, the vocabulary. Vocabularies in adventure games consist of just two things, the verb and the noun. The noun is always the object or character currently in the room or in your inventory, or even a hotspot in that area. The vocabulary always has to be flexible.
For this flexibility I have decided to make use of [url=http://en.wikipedia.org/wiki/Linked_list]linked lists[/url]. This allows me to dynamically insert or remove new items. I do not plan on using the built-in classes, I'm making my own, since that allows me to add new functions which helps me optimize the code and running speed.
I think I've pretty much covered everything needed for this game. The start is there, now I only need to map everything, and then the real fun can begin.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment