Monday, January 6, 2014

UFO Racing League and Collisions

My whole description of this game broke down when I tried to write about collisions... because... I still haven't figured them out completely.  This has been the piece of the puzzle that has seen the most revisions.

The collision system has always involved two things: damage and changing momentum.

Your UFO takes damage when you hit a wall or are hit by another UFO.  That damage then reduces the amount of energy you get to help you maneuver.  But you also heal so that you will eventually be back to full effectiveness.  Exactly how much damage and how much effect and how you heal have all been tinkered with over the years.

Your momentum is also altered when you hit something or are hit by a UFO... exactly how has also changed a lot over the years.

The damage problems have usually been about finding the right balance between making damage have a real effect without too much of an effect.  A lot of this has to do with the kind of race I want -- a race where the UFOs are barely in control, banging off an occasional wall for strategic reasons and definitely hitting other UFOs because they can -- a cross between a demolition derby and NASCAR race.

The other issue I've struggled with is complexity.  My early systems where way to complicated both in relation to the amount of damage meted out by different collisions as well as how momentum would change after a collision.  Until recentlyish, I was the only person who understood collisions well enough to play the game.  That has improved a lot.  Hopefully enough.

Right now, if you hit a wall or get hit by another UFO you take 1 damage.  You track that damage on the chart shown on the right.  I'm using the plastic orange flame to note that I've taken 1 damage.  That means that next turn I will only get 3 energy instead of 4 energy.  As soon as I get that energy, I will heal 1 damage.

Back in the day, you could essentially take infinite damage.  But then UFOs could end up in situations where they would spend several turns doing nothing but tracking their ship's damage and floating around the track aimlessly -- often taking more damage in the process.  It wasn't fun.

So one thing I've done is cap damage at 3.  You will always get at least 1 energy on a turn.  Also, if you already have 3 damage and then take another damage, you actually gain an energy in your battery.  So beating on a defenseless ship actually helps that ship.  This system seems to be working.  Taking 1 damage isn't too harmful and doing it on purpose can be worth it.  But if you take 2 or 3 it can be a pain.

Collisions themselves come in two flavors: hitting walls and hitting other UFOs.  The system involving momentum and collisions is similar for both.  In either case half of your momentum in that direction will go away and you will keep the other half.  If you hit a wall, that momentum you keep gets flipped to the opposite direction -- you bounced.  If you hit another UFO, you give half of your momentum to the other UFO -- you push it.  Both effects can be used strategically.  That other UFO may not really want to be going that fast in that direction.  And bouncing off of walls can be the best way to change directions sometimes even if it causes you damage.

I am glossing over some details here.  And the fact that there are more details is something that is constantly a concern and most of play testing these days focuses on collisions and track design.

One great suggestion I got at a play test a couple of months ago was to add more things to do with energy then just movement.  Especially if it could add more control to when and how you got hit in a collision.  Sometimes it just seemed like there was nothing you could do about that UFO bearing down on you at ramming speed when there should be.

So I added a couple widgets.  Initiative can be used to try to move before everyone else or after everyone else.  Inertial fields can modify how a collision goes down.

A UFO with two positive initiative will move before any UFO with less then two initiative.  It now supersedes total speed for determining who goes first.  Negative initiative works exactly the opposite because sometimes you want everyone else to get out of your way first.

Using the anchor field makes your heavier and harder to move around in a collision.  If you hit a wall you shed all of your momentum in that direction but you take an extra damage.  If a UFO hits you its just like that UFO hit a wall.  If you hit a UFO that UFO takes an extra damage.

Using the spring field makes you bounce more.  If you hit a wall you keep all of your momentum when you bounce it to the opposite direction.  If you hit another UFO, that UFO gains all of your momentum instead of half.  You also do not take any damage from collisions.

Each energy you place on each field allows you to use that field for one collision that turn.  Mostly, I think these effects will be used for strategic collisions with walls, especially the spring field.  However, having an anchor available can be a nice deterrent for someone is thinking about hitting you.

That said, these things need play testing beyond myself.  But if they work, I could see interesting possibilities for upgrading or downgrading your ship's capabilities before the race by making these options better or worse.