First of all we decided it will be Tile based (without animation at least for now) and we plan on making it isometric in the future since it is just a matter of output.
We wanted it to be simple but powerful. So i got an idea and it goes something like this.
We make a game engine that doesn't have a lot of gameplay coded. It has understanding of what and item is it has an inventory but not the actual items.
It is divided in packages:
1: Central_command
2: Graphics
3: Input/output
4: Memory menagment
5,6,......
The idea is to have a lot of classes in central command. With in a way has access to everything witch usually means the memory. A map will simply be a txt file that has a roguelike based ascii map and a script for all object's on it if any. For example Wall is hardcoded but a potion of health is not.
The scripting system wont be complex. It only has to be able to store variables, use if, else, while statements and most importantly to communicate with central command.
This is the idea.
Have and object that represents the loaded script. place that object inside and Item class. class Item has a use/passive method.
A health potion will be an item with a corresponding image and script that will be invoked when the use() method is called.
The actual script will be something like this:
" player = Command.getCurrentPlayer(); player.setHealth(player.getHealth() + 20); "
I know that adding scripting ability to your engine is probably the hardest task. But it really simplifies other aspects of your engine. Because it is not needed to code all the stuff right in.
Is this the way to go or not?
How hard is it really? The interpreter sounds like its BIG but not complex. (remember this is a very SIMPLE scripting language)
Is this idea any good or should we stick with hardcoding everything?
PS I am sorry if this is too technical and should be put in game programming section. But it is a DESIGN question in a way.
Also here is a link of what we done so far (we just started so we used an existing open source tileset)
Engine Development.bmp 3MB
41 downloads







