Dev Diary 020: Orbliterator Takes Off

Matt Barton's picture

Orbliterator Sketch 2Orbliterator Sketch 2Well, here we go again. I've been thinking about what I'd tackle for my next game project, and have decided on a project I'm calling "Orbliterator." This project is a combination of an old game my dad and I used to play called "Gravity Wars" and a bit of real-time strategy and shoot'em up action. Ideally, this will be an online multiplayer game, probably 2-player but possibly more if it turns out to be feasible. Alternatively, I'd like to have a one-player version, though that will of course require some AI--though cheaply, I could see offering a "Practice Mode" with dummy targets.

Okay, so maybe I'm getting ahead of myself here. Let me break down the gameplay.

A desperate duel to the death...

The game takes place in randomly generated solar systems, with at least two planets orbiting a star in the center. Each planet has its own gravity and orbital speed, and of course the sun also has gravity. The players' ships will orbit one of the planets at a pre-set speed--players will not be able to adjust their speed once the match begins. At the start, though, they can decide how fast they want to orbit their planet (within limits). The advantage of a faster speed is, of course, they'll be harder to hit, but they'll suffer by also having a harder time aiming.

Instead of taking turns, there will be a cooldown for their weapons. At any time, players can adjust the angle and initial velocity. When a weapon is primed, players can fire at will. The length of the cooldown is determined by projectile type: light rocket, heavy rocket, MIRV (splits into three light rockets), super MIRV (splits into six light rockets), and mega MIRV (splits into three light and three heavy rockets). The bigger the weapon, the longer the cooldown. Weapons can be selected with the mouse wheel, but switching to a new weapon resets whatever cooldown is active. If a MIRV is fired, the player hits the button a second time to activate the split. If the player's shield is recharging, the cooldown stops moving until it is back up to full strength.

Instead of one-shot deaths, the players will have shields that vary depending on the ship type and any upgrades. This will knock the shield down by a certain amount. If the shield is completely gone, then the ship itself will be damaged. The shields will recharge after being hit.

The upgrades take place during a campaign (a succession of duels with the same opponent). In between each match, the players get a chance to purchase an upgrade. These upgrades will perform one of these functions: (a) speed up weapon cooldowns, (b) speed up shield recharge, (c) increase maximum shields, (d) increase hull strength, (e) emergency boosters. Each emergency boost can only be fired once, giving the ship a quick burst of speed to get it out of the way of an incoming missile (afterward the original speed is restored).

I figure I'll start with two local players on the same PC, since that should be the easiest. I'd like to have controls for keyboard and gamepads. Adjusting the angle should be easy enough (probably use mouse and an analog stick for that), and power will be determined by how long the fire button is held (I can use a meter to show that).

In my opinion, everything is in place here for a really fun competitive game. There will be action and strategy, and no doubt players will enjoy working out their favorite routines for weapons and timing.

I'm also thinking of a few other ideas...I could set it so that the orbits slowly decay, eventually crashing into the planet. This would introduce a time limit and offers a solution to a player leaving the game or lagging out. I'm not a big fan of time limits myself, but it might be necessary to keep very difficult matches from lasting forever. I'm also wondering how I would do a permanent level upgrade type thing...Obviously, you wouldn't want to go into a match with a player with a much stronger ship. It's probably more trouble than its worth.

I think achievements would work well for a game like this, too, since there are lots of ways you could shine here--such as hitting the player directly on the first shot, a one-shot kill, a shot that whips around more than one planet, etc. To do them right, I'd have to have players create logins or perhaps use our own database here...Interesting, but probably beyond my capability at the moment. Of course, online multiplayer is also well beyond my current ability, but hopefully not an insurmountable barrier. I think it'd be really awesome if there was a match-finding type service here, so you could play with other people here at the site.

So, anyway, this is all just stuff on the drawing board at the moment. I'll have to make a plan to start getting some of this done next.