Sunday, 21 July 2013

Neon Burn: racing game development

Okay, so it's been about four months since I posted about my idea for an RPG based around an antigrav racing league, which now has the working title Neon Burn. I hadn't thought about it much or made any progress since I made the first post about it, but last week I started fiddling about with dice and managed to come up with what is hopefully an interesting core mechanic. As far as I can tell at this stage, it meets all of my requirements.

Please note, most of the terminology hasn't been finalised. I'll brainstorm some more concise, punchy, evocative terms.
  • Tracks may have an environment modifier - a special rule or effect that applies to the whole race.
  • The Track is made up of Segments.
    • A whole Race will probably encompass 6 to 12 Segments, although the Track itself may only be 3 to 6 Segments long if a number of laps are required.
  • Each Segment has a Difficulty (0 to 5) and a Width (1 to 6). Some may also have special rules or restrictions.
  • Racers roll a pool of d6'es.
    • I haven't yet figured out how the size of the pool will be determined.
    • Racers have the option to roll fewer dice; it reduces the chance of getting Successes, but also reduces the chance of Failures. In this sense, the size of the pool represents how much the Racer is willing to put on the line.
  • There's a general Field pool, representing generic unnamed Racers. This will usually be larger than the PC Racer's pool.

For every Segment, each named Racer and the Field roll their pools.
  • Any dice that roll under the Segment Difficulty are Failures.
    • Failures reduce your resources (Fuel, Integrity, Position, Focus, Vehice stats). Depending on the resource, this may penalise your ongoing performance, or bring you closer to being knocked out of the race.
  • Any dice that roll equal to the Segment Difficulty are Basic Successes.
    • These Successes only go towards negotiating the Track successfully, and don't usually provide any other benefit. This is the minimum required for safe driving.
  •  Any dice that roll greater than the Segment Difficulty are Bonus Successes (Bonuses).
    • Bonuses are used to compete with other Racers for Position or other advantages.
    • Each Segment has a number of slots for Bonuses equal to its Width. 
    • Starting with the best-Positioned Racer, each Racer takes turns to assign all of their Bonus dice into the available Width slots.
    • When all Bonus dice have been assigned, go through each slot and:
      • Eliminate any matching numbers (pairs, triples etc.).
      • Keep only the highest die in each slot; eliminate the rest.
    • After the elimination, Racers who still have Bonuses may spend them to benefit themselves or penalise their opponents.
      • Typically these are used to increase Position.
      • Depending on the race type, they might be used to reduce opponent Integrity or other resources with weaponry/ramming/special manoeuvres.

That's the basic resolution system. It looks a bit long, but in practice it's pretty quick and simple. I've been sorting three or four pools and assigning results by myself in a reasonable period of time. It's abstract enough that it could easily apply to various types of racing (boats, cars, bikes, even horses). It's complex enough to allow for some strategies, and has plenty of opportunities for special rules to modify or expand on the basics. I also really like the way it's possible to succeed while failing spectacularly and building up consequences. I hope to make this pool-comparison system the resolution mechanic for off-track rolls as well.

On top of the basic system, characters will get to choose dice tricks they can apply during the race, such as rerolling, modifying, or reassigning dice results, trading one resource for another (Fuel, Integrity, Focus, Position), or generating off-track effects (strengthened relationships, increased sponsorship).

So, the above works as-written for a basic multi-vehicle race. Whoever ends the race with the highest Position is the winner, with ties decided by a roll-off. Let's take a quick look at how it can be modified for different types of races.

  • Rally - When there's only one vehicle on the track at any given moment, you're not jostling for position. Instead, the focus is on technical driving and overcoming the track itself. The rules work as for a regular race, except:
    • You don't eliminate Bonuses against other Racers; any Bonuses you can assign to the Segment's Width, you can keep.
    • You can only spend Bonuses on your own vehicle; you can't use them to penalise other Racers.
  • Combat - In a regular race, you can spend your Bonuses to reduce an opponent's Integrity if they are on the same Position, which represents ramming or muscling them into the barrier
    • In a Combat League, various weapons may allow racers to spend Successes against opponents in front of or behind them, or increase the amount of Integrity loss, or cause some other penalty.
    • I've yet to work out how dedicated Gunners will fit into the resolution system.
    • I've yet to determine how to weaponise the Field of generic Racers.
  • Street Racing - I haven't thought about this too much yet, but there are a couple of possibilities:
    • Increase the Segment Difficulties (or modify them randomly?) to represent interference from civilian traffic.
    • Roll a separate Traffic pool that doesn't gain Position but which interferes with Racers. Perhaps it can ebb and flow? Perhaps Traffic Failures result in penalties against the Racers? Perhaps too much fallout may result in the authorities giving chase?
  • Drag or Circuit Racing - In these sorts of events, the focus isn't so much on the track as it is on the skills of the drivers and the tuning of their vehicles. It's a fairly simple matter to:
    • Drop the Segment Difficulty to 0 or 1, and take off the Width restriction.
    • This will turn the race into a batle between two (or more) Racers. More Bonuses means more focus on the direct competition between the Racers.

I'm cautiously optimistic that this approach will net me the results I want. I also have some ideas about the off-track scenes that make up the pre-race game, but I've yet to figure out how I want to approach this end of the game mechanically. Since the race itself has been my major sticking point, I'm just glad to finally have something with potential.

I intend to tie in some aspects of the off-track scenes into race performance, so I'm deliberately leaving some areas vague so I have somewhere to plug things into.

Hopefully I'll have more progress soon! I'm already compiling tables for random Track construction, and brainstorming ideas for character dice tricks and such. I also hope to demo the basic mechanics with another person soonish, to see if they can pick it up easily or if there are any rough spots that need revision.