Thursday, January 14, 2016

Work work

I've been currently working on the gameplay so I could present this project to other people and for myself so that I can see if this project is going to work or not, as well as making this an actual game rather than a tech demo.

What I've already done are rather simple things such as basic turn-based combat where the player can move a certain amount and strike the enemy if the player has enough actionpoints, the same thing is done for the AI, it moves closer to the player and attempts to kill the player, it's crude and not finished but it's still something.

Other than that I've been working on spell list and inventory, I've create an item creator from which I can in the future add items with descriptions and other things, this data is then stored in an XML file (I don't really like XML but as it is native to C# it was the quickest way) which a player can modify as well.

I only programmed the item creation so far as I have yet to figure out what I actually need to store into an item but for the moment these are the variables :

int id;
string name;
string description;
string iconSpriteName;
ItemTypes itemType;
int maxStack;
string cubeName;
int cubeIndex;

The ID is self explanatory as is name, description, icon sprite name, max stack and item type, but for the cube name it's actually the cubes ID from which I can get the cubeIndex, the reason why I use cube name as the ID is because as I started creating the cube editor I figured it was all I need, but it dawned on me, it would be easier just to use and actual integer ID like that for the item... So the cube index is gained at runtime with the help of each cube name.

What I've yet to create and finish are the inventory so that a player can pick up items, use and equip them, spells also need to be programmed as I have not yet touched them, I also need to add more tasks for the character so it can shovel/mine cubes and place cubes but this requires the inventory to function and lastly I need to add levels and other statistics for the players character which will increase as the players does something.

I don't know if that was all that I will be adding but I only really want to create the basic structure of the gameplay so I can expand it and modify it if does not work.

There are some things that worry me, like the angle of the projection from which the world is seen from because as I create a pretty big world can it be seen in all it's glory from that angle, is the player satisfied with it? Other thing that worries me is the gameplay if its fun to play but that is an universal problem with every game so I do try not to worry about it.

After I have finished or should I say satisfied with the basic gameplay I will continue on the world generation for a short while to adjust things and maybe add an optimization, the optimization is that I will unwrap every cube's textures into a single large texture so I can combine verticies together, currently all sides of a cube are rendered separately, so if I stack one cube's textures next to each other I can use them like this cube unwrap.

After that I'll move on to programming the first village, I will start by simulating the village in a very high level which would only mean generating resources and expanding the village only by calculating and then continue to a very low level at which I will simulate every characters needs and such.