The random rantings of a concerned programmer.
Archive for December 14th, 2006

Untitled

December 14th, 2006 | Category: Uncategorized

(continued)

I’m highly influenced by Kingdom of Loathing, to the point it can be fairly claimed I’m making a clone. Anyway, in KoL, gameplay progresses by ‘adventuring’ (spending turns) in locations, where you essentially encounter a series of adventures, which are generally battles and such.

Anyway, I’m making it more complex. Instead of using a strict turn-based system, I’m making the turns, basically, continuous. Walking from one map to another in KoL is free, however, in tehmorpg it takes time to walk to any one place, and it takes time to do, well, anything.

As I discussed in some thread somewhere, each player has a UNIX timestamp representing where in time they are. They can perform actions as long as this timestamp is less than the current time. There is a maximum differential between the player’s time and the current time (probably something like 3-7 days, I dunno yet).

Additionally, I want to move a little bit away from the ‘explicit encounter zone’ concept. Well, not move away. Add to it. In addition to said zones, you can also encounter an adventure just by walking around. This allows NetHack-esque evils, like tripping down a flight of stairs, or finding some gold on the ground. Since walking around in itself costs time, the game mechanic isn’t broken (by allowing bots to walk around the same fountain indefinitely, farming free gold).

And, of course, there will be maps where there won’t really be a map, just 100% encounters. Because sometimes, walking around is annoying and you just… need… to kill.

lolol.

2 comments

(Untitled)

December 14th, 2006 | Category: Uncategorized

So I was laying out the battle system for the PHP crap (instead of studying for my probability exam which… is in an hour LOL!), and I realized that, hey, I really have no idea how my battle system is going to work. lols.

I mean, I’ve got part of it: each character has 8 stats:

POW MAG TAL
CON WIS CHA
LUK DEX

The first 6 are ones that you choose to spend SP on each time you level up, the bottom two are composite stats – DEX is a weighted sum of POW, TAL, and CHA, and LUK is basically random.

There are also 6 weapon types, each one has a primary stat and two secondary stats, such that for each stat there is one weapon type which has it as a primary, and two that have it for a secondary (weapon type, primary, secondary, secondary):

Sword:     POW, MAG, CHA
Firearm:   CON, TAL, CHA
Spears:    WIS, POW, MAG
Magic:     MAG, WIS, CON
Daggers:   CHA, POW, TAL
Bows:      TAL, CON, WIS

These stats also determine other composite stats, ie, maximum HP/MP, etc etc.

Equipment influences actual attack/defense power, which is modified by skills and effects to generate the actual damage outputs.

Each item of equipment has a set of scales which determine how its attack/defense values are affected by stats, in addition to parameters for a scaling function for the output. Example -

(some sword)
2.3 POW 0.0 MAG
1.2 TAL 0.1 CON
0.0 WIS 0.8 CHA
0.9 DEX 0.2 LUK

The unscaled output of the sword is simply the sum of each weight with the character’s respective stat points. This value is then fed through a sigmoid-like function (actually, a scaled and clipped sine wave) to determine the actual output of the weapon/armor.

What this means, is that you can equip any weapon/armor at any time, however, the actual output of the equipment depends on your stats. (ie, if a mage attempts to wield a sword, he’ll probably not have enough strength to wield it effectively, but will still be able to use it).

Skills, likewise, have a similar stat manipulation that I haven’t worked out yet.

I’m not sure how I should do monsters yet… like, I don’t want the monsters to just be things to hack away at, I want there to be some diversity other than “THIS MONSTER DOES 10 TIMES MORE DAMAGE THAN THE LAST ONE OMG CAN YOU HANDLE THE PAAIIINNNNN?!” because that’s boring.

I want to implement a system whereby you have to work out how to kill the monster in an effective way, while still allowing the un-hardcore to plink away at them.

Or something, I guess I need to think about it more. Comments/Ideas/Spam?

No comments