Building a Creature, Part 1

This entry starts a series intended to discuss what goes into each creature in URR, and what stats they – and therefore you – have. Originally, creatures had a huge number of stats and were each uniquely constructed in the game – each had its own selection of limbs and its own unique code that handled when it was attacked. This was massively inefficient, and there’s a bunch of changes I’m making at the moment which should speed the game up; allow for a much greater variety of creatures; and make far more explicit to the player the strengths/weaknesses of each foe, and reduce some of the uncertainty and unknowns in combat. Here’s a few of the changes I’m currently programming in. Some of them were implemented in a simpler form before-hand, but some are entirely new:


Originally, messages of the following sort came up:

You slash the male Cyclops`s upper left arm with your steel longsword.

The male Cyclops hits your torso with his fists.

However, what if you were friends with that Orc? Or if you had been told to kill that Orc in particular? Which is to say, Orcs are an intelligent species (well, nominally), and have names like any other sentient race. However, you won’t automatically know a sentient creature’s name when you meet them, unlike pretty much every other RPG or Roguelike I can think of. Instead, if you encounter any sentient creature without foreknowledge, you get messages like the above. If you know their name, then you’ll get (with an output from the Cyclops name generator):

You slash the Cyclops Pylopedes` upper left arm with your steel longsword.

The Cyclops Pylopedes hits your torso with his fists.

Lastly, if a creature is of your species, you won’t get its species listed there, simply its name. If a creature is any other species, it will note the species – which is to say, if you are human, you won’t get “the human <human name>”, but you will get “the dwarf <dwarf name>”, and so on.

Height and weight.

Creatures have both a height and a weight. The taller they are, the more z levels they occupy, and that gives them a variety of benefits outlined in a previous entry. However, weight has also been fully added, which has a variety of effects – it determines the weight of a limb if chopped off; whether particularly large creatures can walk safely across certain surfaces; and is a major factor in whether they can be knocked back, thrown to the ground, wrestled with, etc.


Finally (for this entry), Experience has been entirely redone. When a creature is spawned (this includes you), its experience for each of the five base stats is calculated by squaring that particular stat. They are currently five of the traditional base stats – Strength, Endurance, Dexterity, Intelligence, and Willpower. Stronger creatures give more experience; weaker give less; and your current level of experience also determines how much more experience is required, and how much experience you get from each creature. Other creatures will also gain experience in combat; the more of your forces your enemies kill, the stronger, more experienced and more skilled they will become. Battles that occur which you aren’t part of will calculate appropriate numbers of surviving creatures and assign experience based on that. There is currently no upper limit to these stats – I intend to leave it that way, though when any stat reaches a sufficiently high point, finding and killing enough high-level creatures to raise it will become increasingly challenging. This, of course, does not cover the 80+ skills in the game, which are a topic for a future entry in this series…

Be Sociable, Share!

8 thoughts on “Building a Creature, Part 1

  1. Hmm… so for experience, does that mean that you can kill units with high dump stats for easy experience? Like for example, go into some monastery with 80 year old monks with high intelligence and willpower, and just grind up a few levels?

    Do the enemy skills affect experience gain? Can characters just level up and gain useless skills (like soap making) that make them easier experience farms?

    (yeah, I know the game isn’t done yet and I’m already finding exploits, lol)

    • Dude, you know that 80 year old monks are the most dangerous, right? They have martial arts training out the wazoo! Not everything is stats.
      Even if they’re not the martial artist monk type, there is no way they lived to 80 without some way to fend off bandits. Watch yourself.

  2. Levelling will be done by experience system. I like that. Some games make you improve your skills by using them. That may seem appealing and realistic but it isn’t real life and it causes a lot of exploits and weirdness, like the ones in Skyrim. Just craft a crapload of iron daggers until you hit 100 in Smithing. If you want to increase your wrestling skill in Dwarf Fortress, go grab/release a wounded creature.

    However, experience system has it’s flaws. Most games, that uses an experience system, makes the player gain experience by only killing others. This will turn player into a bloodthirsty butcher. Player won’t bother with sneaking, avoiding fights using diplomacy. Player just has to kill a bunch of creatures to get stronger. Some games balance this by rewarding the player with experience if they solve problems without spilling blood but that happens mostly in linear games.

    So, I hope you will restore the balance to the Force, chosen one! uh, I meant the Leveling System.

    And I’m really excited for this game ^_^

  3. One experience system I liked was that you took the level of the strongest creature you kill. While not exactly realistic, it was very balanced and anti-grind. No more sitting around in a field, fending off honey badgers. Don’t have to run around in circles grinding up levels ala ADOM.

    Maybe experience gain can be capped to (opponentLevel+20%) or something, so that you don’t have to design around grind or tempt the players into grinding.

  4. @ Abdul: Entirely correct. That’s a specific choice I’ve made – very high level creatures will give you, and anyone else fighting them, a large boost early on. Every skill is going to raise independently, and have no effect on the raising of other skills, nor of others raising that skill; which is to say, that shouldn’t be exploitable, as each stat and skill exists in its own area.

    @ Koliup – exactly! That would seem like suicide to me.

    @ Leatra – while stats are raised by experience, skills will be raised by use – BUT there will be a limit to what you can gain in certain skills in certain methods. For instance, if you want to raise your ability to block and find an idiot enemy to block against, there will be only x gains you can get from that *class* of foe before you stop gaining. The same applies to all fighting skills, for example – there is only so much you can learn about blocking from a certain kind of enemy.
    But, similarly, all the non-combat skills will raise from performing them, but the same rules apply. If you want to raise one of the skills for dealing with deities, you can’t do so by talking to one god endlessly. I’ve basically created a simple system to keep track of each class of monster, city, item etc, and how much experience you’ve so far gained from that one.
    Stats, on the other hand, are down to experience, so you can’t raise your Str/End etc endlessly either. I think this should be a good balance. And thanks : )

    @ Muz – That’s an interesting one; your second suggestion isn’t that far from what I’ve listed above. There’s a limit to the skill raises you can get from any one source, basically, so grinding won’t get you/any other creature very far. Also, since the combat is quite DF-esque, grinding is probably asking to be killed anyway the longer you do not; there’s almost no such thing as guaranteed victory over any foe…

    • have you thought about anti critical system?
      lets say everything is decided by a d20 roll.

      at lvl 1 v lvl 1: (1-5) is block, (6) is critical block maybe knocks the opponent down, (7-19) no block, (20) critical no block, maybe you are off balance and take critical damage.

      at lvl 20 v lvl 1: (1-14) easy block, no xp. (15-19) block, get xp. (20) critical block, get 2x xp.

      obviously the numbers suck for balance, but its just for illustration. the levels would be decided by the skills of the two combatants.

      now creatues with a bad to hit calculation will skew the range towards easy block, making sure you dont get any xp for it, making grinding against lower level creatures pointless. its also a little bit less artificial by capping.

      i think the other system encourages grinding by seeking out new enemies, although this might be a good thing as it supports players that explore the game world.

  5. Interesting ‘anti critical’ idea. I think it’s important to make sure you can only get so much experience from a certain class, no matter how industriously you try to grind, and something like that sounds like a good system. I think I’m also going to put in a record-keeping function for how much you’ve fought each class, etc, so that there’s only so much you can ‘learn’ in experience from each kind of monster. But as you say, easier foes would tend towards easier blocks, for instance, and it means I don’t have to put on a totally arbitrary cap, which I’d like to avoid!

Leave a Reply

Your email address will not be published. Required fields are marked *