Thursday, October 2, 2008

Arrays = juberly^n

Inventories and coordinates

I've been poking around with arrays for the last few days, and I've assembled a rough draft of how I can get the various things to work with them. The navigation system, as it is now, has to be written again for every single area. It's not that much now, with the game only having 36 areas - but it'll get a bit tedious. It'll also be easier to control what areas link to which, I had a bit of work figuring out how the areas interconnected (I haven't looked at the navigation code for ages).

Basically, I'll be using arrays to store coordinates, so I'll have a north-south axis and an east-west axis. By storing these values in an array, I can easily access and manipulate them without having to write so much code, and I'll have less names to worry about. You won't be seeing this in the next update, though - before I make these changes to the existing code, I'll be testing it out by adding player inventory. That's right - you'll be able to put on a +5 helmet of buttock prodding in the next release.

Game balance and the user interface

The user interface is still somewhat of a mess. The next release will significantly improve this by adding more spacing and colors. This will hopefully make it easier to separate different blocks of text, and make the whole thing more readable.

Elves are at this point so fragile it's not even funny. Sure, they have great int, but they'll usually die from a single crit, which isn't really what I intended. You'll be seeing slightly less intelligence and slightly more dexterity, as well as a hp boost, to make elves more survivable.

A sneak peek

Yep, as a closing I'll give you a look at what is to come: the fifth race, drakelings. These guys are similar to lizardfolk, and they'll be the first race with an active racial ability: acid spit. This will probably see the other races get a racial bonus as well, for more balance. Here's the current statline of the drakeling, so you have some solid numbers to think about:

Str: 6 Con: 6 Dex: 4 Int: 3 Luk: 6 HP: 30 MP: 15
Racial ability: acid spit, deals INT((8*RND+1)+(intHcon/3)+intHlvl) damage.

Note that these are not neccesarily the final stats of drakelings - these may be changed before drakelings are released. And of course, if you have any ideas for the game that you'd like to share, feel free to leave me a comment.

(for those who want an explanation of the acid spit damage formula - INT means the damage is a whole number (no decimals), 8*RND+1 is a random number from 1 to 8, intHcon/3 is constitution/3, and finally intHlvl is character level. These are the internal names I use when coding, and are made so I'll easily recognize them while still being short.

No comments: