Friday, September 22, 2006

Various Bugs (Mine and those of other People)

While writing the encounter macros, I encountered another bug in DScript. Nothing very serious, but apparently the Byte, Half, Word, Float and Double instructions aren't working with a quantifier of 0. SRPG is becoming more and more a stress test for DScript.

I found another bug in gcc, which I overlooked in gcc 3.4.6 r1. This was pretty stupid of me, since now I have to wait for another release. This means my build system is still broken, so Graphite is on hold probably for a few more months.

The good side of this is, that I can concentrate more on SRPG. I am working on the battle system now and it proved to be more tricky than I expected.

Saturday, September 16, 2006

Encounter

The encounter system is mostly done. I still have to write some DScript macros and probably some more tests are in order. Next I will start to implement the battle system.

OK, how is the encounter system working?

Each location hat a set of possible encounters, each with a certain probability. When the player goes hunting in a location, an encounter is randomly selected. Since encounters can be invoked from a trigger it is possible to let other actions start an encounter. Let's say the player is mining in a dangerous spot. The mining action has a trigger, which has a certain chance to invoke an encounter. Makes mining much more interesting ;)

The set of encounters for each location is static (it can't change while playing the game), but the system has some dynamic components. It is possible to modify the probability of an encounter. Is is also possible to modify an encounter through a power factor, making it more or less dangerous. Both factors (probability and power) can either me modified locally or for the whole world.

Monday, September 11, 2006

Time

SRPG can now keep track of the passing of time. This can result in changes to the player state or even to the player skills, depending on what the player is doing.

I did spend the last weeks with lots of small stuff, that is required for the bigger features. Now that I am through with it, I can start to implement the combat/encounter-system. Looks like we are finally getting somewhere ...

Here is a short summarisation of my to-do list:
  • encounter system
  • battle system
  • crafting system
  • trade system
  • item usage system
  • magic system
  • + about a dozen smaller improvements and additions
I guess once encounter/battle is done, I am halfway through with the backend.

Thursday, September 07, 2006

State

The character state system is almost finished (with character state I mean things like health or mana).

Each state value consists of two party
  1. the current value (modified by various actions and events)
  2. the maximum value (determined by skills/attributes and other state)
Furthermore some state will be marked as a "life state". If one of these ever drops to 0, the player is dead.

For the world, that I am working on in parallel to writing the back end, I plan 5 state values:
  1. Body points
  2. Health points
  3. Spirit points
  4. Mana
  5. Stamina
(the first 3 are life state). More details later ...