Defining game state: Starting with unit generation

I didn't have a lot of time tonight, but I finally did something gameplay-related! So that's a step!

I'd previously been generating fairly realistic data structures for the client and server to throw each other, but the data itself was contrived at best. Getting back into it, the next thing to really do was actually have the endpoints exchange actual game-relevant data, so I started building those structures (based on notes I've had for a while detailing it).

So now units are actually generated based on their types, which contain -- most importantly -- stat affinities. All classes (what I'm calling unit types internally) have strength/defense/speed/magic affinities, which affect how likely those stats are to get a bonus when leveling up.

One thing I'm doing to keep unit generation interesting is using the unit type base affinities only for the first level. Once that's done, the actual stats at level 1 are used as the affinity for future stat upgrades. So if you roll a fighter with massively high strength, his strength will be likely to increase much faster than that of an average fighter; if you roll a mage with an abnormally high defense score at level 1, same idea. I think it will make the game experience a little more personal and certainly more varied.

Since combat doesn't yet exist, but is pretty much the point, I'm looking at experience curves... right now I'm leaning towards a more generous version of Disgaea's curve (as estimated in this article and other places) since I'm an absolute sucker for huge numbers of levels (and reincarnation!). That's in its infancy, though, and obviously will need serious play testing before it's anywhere close to workable, so for the moment it's just a skeleton implementation with a "fix this when you find out what's wrong with it" note above it.

So that's tonight's fun.


Comments powered by Disqus

Contents © 2018 fish