Hello everyone,
I'm working on a game where I want to give the player as much room as I can to play with different equipment/abilities. In order to do so I made a huge amount of different items each with different stats and abilities.
This is comparable to some role-play-games where you have a character that can be equiped with 10 or so different item types (helmet, gloves, boots, etc...). Then there are another 10 different variations of each item type (sandals, winter-boots, diving-boots, etc). This already amounts to 10x10 = 100 different items.
Of course I want to assign the item's stats/abilities to the player. To keep things simple I wrote a script that describes each item's specifications. Every item uses a skill (say skill1 for his car, skill2 for his job, skill3 for his suit) whereas the value stored in skill1 would determine the item (1 = audi a3, 2 = audi a4, etc...). Then I would make the player check what Item is stored in skill 1, skill2, etc. These item's abilities would then be applied to the player. Thus making the player the sum of the item's abilities he's wearing. So far so good.
Recently I've experienced the problem of making all those thing way to complex to handle them the way I do at the moment (manually coding each item). Since this type of complexity is somewhat essential to the gameplay I feel I might need to move to the next lever.
Now my goal is to:
+ make all stats/variables fast and easy to change (declaring variables has helped a lot here! But they have their limits).
I thought about this for quiet some time. I think the best way to do this would be to make an excel-like-sheet (probably in the windows editor) and than list all the items/stats/abilities/whatever and it's values here. So that when you start the game it would simply read that file and assign skills/variables accordingly.
The game searches for the word „bowtie“ then reads the next 10 numbers in the same line. The first number describes the item's cost. The second the item's prestige, etc.
Of course this can also be done using a (or multiple) really huge matrix/matrizes. The manual however recommends not going overboard with the matrix size (although I do not know if that really is a problem with a 2dimensional matrix like a 50*1000).
Well, these are just some ideas I came up with. So before I jump into this I'd like to hear your opinion on it, since i'm sure this problem has not only arisen a thouasand times earlier before but also solved many many times already.
I appreciate any suggestions/input/ideas/comments. Thank you for taking the time to read all this and bother with my problems.
And of course have a good start in the new week.