donderdag 26 juli 2012

Legacy of the Last Refuge wants your money. Or your support.

A dominions 3 buddy and all round nice guy is creating a old school RPG. Support it here:

Legacy of the Last Refuge - Revenge of the Old School RPG

If you like the idea, donate, or spread the word. I'm wanting him to succeed. There needs to be more buzz.

You can play the Alpha for free. Be patient with it, the main area has not been fleshed out enough yet. So it can be hard to find the dungeons.

The permadeath + keeping playing mechanic is very interesting. Very Mordor: depths of Dejenol. A game a played A LOT ages ago, and probably still have installed somewhere. Ow, sweet memories.

woensdag 9 mei 2012

On Hold.

This project is on hold temporary. I made some stupid mistakes in the codebase, and I'm currently a little bit demotivated to fix it. Will do so eventually.

Update: I fixed the code base problem.

donderdag 12 januari 2012

Speeds system explanation.

Basic Idea:

Mobs have a speed factor. Higher speed give more actions. Actions have a speed cost, higher values are bad. As they reduce the amount of actions that can be performed. For example, a knife stab has a speed cost of 7, but a battle axe has a speed cost of 14. When a mob takes an action, this cost is reduced from his current action point (AP) value. Each turn this value is increased by the mobs speed. Each turn has a certain amount of turn steps.

Say during a turn we have two mobs. One A with speed 12, a weaponspeed of 17, and a starting AP of -7, and we have mob B with speed 9, weaponspeed 11 and a starting AP of -1.

This is the progression of the turn:
Turn 1 Step012345678910111213
AP, A-7-6-5-4-3-2-1-17-16-15-14-13-12-
AP, B-1-11-10-9-8-7-6-5-4-3----
For end values of A = AP-12, and B = AP -3. With both having performed one action. A performed one attack at step 7, and B performed one attack at step 1.

- One loop of the speed system is called a turn. Each turn, there are a nr of steps equal to the highest speed of the mobs (this value is called maxSpeed). The current step is called the stepnr. The stepnr starts each turn at 0.
- The amount of steps in which a mob gets speedpoints (AP), is called his speed.
- The current (usually negative) amount of speedpoints, or action points, of a mob is called his AP. When this is at least zero, the mob can take an action. The current AP value is kept between turns.

Example 2:
We have mobs with speed: 12, 13, 8 and 7. The turn has 13 steps. But the mobs only get an AP if the current stepnr is lower than their speed. So the list of mobs above would stop getting AP’s at the following stepnrs 11, 12, 7 and 6 (resp). And the max stepnr would be 12 (maxSpeed -1).

This system allows for some interesting speed effects. Certain tactics and weapons have higher speed costs to balance them out. And damaging a mobs movement form could reduce his movement speed. (A wounded leg moves slower than a healthy leg is the assumption here). Which allows the addition of interesting ideas for the monster. Do you go with the stronger but slower leg, and use the kicking skill. Or do you go for the faster cheetah legs who decrease the movement action cost.

The system does have a few minor problems. It isn't currently clear what happens if two mobs have the same speed and current AP. Who gets to perform the first action. (I will probably go for the low tech, who is earlier in the mob list option).

But it is also deterministic. Which allows players to abuse the dumber AI. Tactics like pillar dancing and other abuses of higher speed are possible with this system. This makes the game a lot easier, as a higher speed mob can attack, and move away before the other mob can react. A system like dungeon crawls energy randomization would be interesting, or at least reduce one possible way of scumming. But for now I'll keep this system.

I think it is easy to abuse for high levels of speed and low levels of speed costs. A mob with speed 15 and using a dagger of quickness with speed cost of 3 could get 5 attacks each turn. If the weapon also has on hit/use procs it could do a lot of damage pretty fast.

When effects (paralization, or poison effects for example) are handled is also not defined yet. There are two main possibilities, just once each turn. (So high speed mobs do not get multiple effects each turn). Or Have them affect mobs once every x steps, Then a high speed mob gets affected faster by poison, and buffs run out quicker. The reason for that could be their high metabolism. Currently I'm favoring the once a turn system.

All issues for later of course. First job is to implement this system.

Implementation issue: Had a small problem with updating the list of monsters if you killed one during play. Another issue with the system, what happens when speed gets recalculated during a turn?