Saturday, July 24, 2010

Playable Demo Goals

I've been thinking on my goals for the demo (for those who don't like to build from source). I'm definitely aiming for the following features:

  • Body/blood injury system. No HP or anything of that nature
  • Proper dungeon generation with zones for placing certain types of random creatures
  • Basic kobold AI behaviors
  • Working skill system
  • Hunger/thirst system
There are a few other features I'd LIKE to have, such as a magic system and conversations. Fighting isn't the only way, after all.

The storyline to the demo is simple. Stop the kobolds from attacking a local town by any means necessary. The player will start in the dungeon after a short prompt and very limited inventory selection.

Wednesday, July 21, 2010

Rewrite

I'm going ahead and rewriting a lot of the code now that I have a clear design. I've actually managed to fix a couple of hackish solutions I had implemented before and eliminated some useless classes (DungeonFloor for example), but I've also created a bug in the cellular automata generation algorithm. I'm just not getting the same kind of results for some reason. I believe it may have to do with the neighbor cell checking.

In other news, I plan to change the game area around a bit. Since HP/MP won't exist sooner than later, I've removed the player info panel. To access the view for your injuries/etc the key will be 'c'. I'll go more in depth about this soon.

I'm nearly done with the rewrite though, and I'm already liking the way it works a lot better. It's similar in a lot of ways, but many things are just done right this time.

Sunday, July 18, 2010

Let's Talk Combat

The current vision I'm having for combat in Stone and Steel is a simple EVade, BLock, and ARmor system. EV is the characters chance to outright dodge any damage. BL is the characters chance to block a percentage of damage, based on shield size, while reducing EV. AR is the characters damage absorption.

The chance to hit a target will be calculated by a 1D100 roll. For instance, if the target has an EV/BL of 20/10. Their chance to evade/block is %30. If the roll is 1-20, the target evades. If the roll is 21-30, the target blocks. Else, the target takes the damage and AR absorption is used. If the damage caused was 10 and the AR was 10, 10% of 10 is 1. 9 damage would go through.

In the future, whenever I implement body parts, random chance (and an aim skill) will determine what body part is hit by an attack. Armor coverage over that body part will prevent some or all damage done to that part. I plan for injuries to be a complex feature, but that's for another time.

Overview:

  • EVasion is the chance for the character to outright avoid being hit.
  • BLock is the chance for the character to block an attack, reducing the damage greatly or completely depending on shield size, and reducing EV value.
  • Armor (items) will reduce the EV value, but add AR value. AR value is the percent of damage that is absorbed.
This sort of system will probably take a lot of balancing and testing, but it should prove to be reliable. As always, please voice your thoughts/opinions!

Saturday, July 17, 2010

Revision 35 Notes

I've added 'data/items' and converted materials and items to libtcod format. Items now draw their material/base item information from the Databanks, and combat damage is now properly affected by weapons.

TODO:
  • Convert races to libtcod format
  • Add more item types
  • Sort inventory by item type
Currently, the items are completely moddable, but it's only possible to add in new weapons. This will change in the near future to allow armor and potions. The data files that are moddable are commented.

Stone and Steel Development Blog

I'm moving all my updates/ramblings to this blog from here. This way I can keep people informed with what I'm doing, revision updates/additions, and etc without spamming up the place since I sometimes make many revisions a day.

I'll start by posting my current To Do List:
  • Convert data files to libtcod format
  • Support wearing rings (in theory, this works, but only for one ring rather than two)
  • Fix up the AI a bit more. There are a few anomalies, but it's mostly working
  • Add an items data file for all base item types
Some visions:

=)Items(=
 All items in Stone and Steel will be defined as a base item in a data file. This data file will contain certain tags such as consumable, effect-giving, weapon (and weapon related subtags), and so on. The tag effectGiving would search data/effects and choose a random effect to give the item. I have not thought over this thoroughly, but it seems like a good enough system. It is definitely subject to change.

=)Skills(=
 Rather than a class-based system, I'm going with a skill-based system for a more open beginning. The player will start with a certain number of points (undetermined) to spend on starting skills. All characters can use all skills, this is just to give the player a sense of direction.


Feel free to comment with ideas or critique on my current view of how things should work!