Lately I've been playing Final Fantasy Crystal Chronicles: My Life as a King. It kind of reminded me of Dark Chronicle, in that you have to create your own town or city. I always thought that these games were rather limited, so I have this cool concept for on the PC.
First of all I need to say were I ever to make this, I would make it moddable, in a way that people could add new content either commercially or freely. The game itself would be completely free, of course, but because of this I wouldn't make it an open source game.
Okay, now for the concept. You are an adventurer of an unknown world. You start out with four different world sets, with four different clothing sets. You can freely design your own character, even after you've started up the game itself. This way if you would love to change skin or hair colors, it would easily be possible. New costume packs can be downloaded, either freely or payed. So, the story goes like this.
A not so long time ago, there was a world, full of life, until one day an evil force came and destroyed the world. Nothing was left, except for the spirits of the world that once was. You are one of those spirits, and you are granted the ability to bring back the world once more.
You start in a void, where you will need to create your base character. You can name him / her to your liking. Next, you will have to choose between four town sets. This will affect the basic layout of your first town, and where you can build your buildings. To keep it simple, the roads are already built. You can only place new buildings on certain lots. You are free to choose where on the lot you'll place the buildings though.
To build new buildings, and later decoration, you will need building material. Smaller roads can be built and removed freely though. To get new materials, you'll need to fight in dungeons. You can either do this alone or in a party. Dungeons are randomly created the moment they're built, and the closer they are to a town, the more levels the dungeons have. This does mean that each time you visit that dungeon, you will always get the same layout. That's why there are also some special dungeons, who either only have changing dungeons on certain levels, or are completely random.
Placing dungeons further away from a town raises the difficulty level of the dungeon. You can place new towns on the map, but they will only affect new dungeons. The difficulty is also determined by the proximity of other dungeons. Placing a new dungeon near higher level dungeons will raise the difficulty level drastically. However, a town will lower this value too. This does mean however that the amount of levels this dungeon will have will be high also.
A good thing is that you can't die, but you will loose some precious time in town trying to recover, in which time you could actually have done certain other things.
But anyway, about towns. Towns need people. These people are the spirits who lived on this world. By rebuilding the world, you are able to bring back new people. These people will see you as their leader, and will give you money periodically. With this money you can do new things, like buying better items and hiring adventurers who can fight alongside you. When you are fainted however, you won't get income for the time you fainted.
Maybe I'll update further on this subject, so stay tuned.
Thursday, May 22, 2008
Thursday, May 15, 2008
Global look on what's needed
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.
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:
Comments (Atom)