Road Redemption - Huge Steam content update, cancelled consoles, online multiplayer details
HUGE STEAM UPDATE
If you haven’t had a chance to play the Steam version of Road Redemption recently, last week we uploaded a new PC, Mac, and Linux version of the game that’s a complete overhaul of just about every element.
Everything from physics, to controls, to camera angles, to lighting, to AI, to weapon balance, to missions, to the GUI, is completely revamped and improved.
100,000 COPIES OF ROAD REDEMPTION SOLD
We generally don’t talk about budget issues here, but in light of so many people bringing up the $4 million budget of Mighty Number 9, I think it’s appropriate.
The fact is that videogame development is more expensive than people realize. Consider a team of 10 people working full-time on a game:
Assuming each of these 10 people is earning $36,000/year. This means you’re paying $360,000 in employee salaries alone for a single year. Then you have to rent enough office space to accommodate 10 people. If this costs, $3000/month, then that’s another $36,000. So now we’re talking about $400,000 for a single year.
So when we’re boasting about having sold 100,000 Early Access copies of Road Redemption, many of which were sold at a discount, you should understand that this revenue isn’t making us rich - it’s keeping us afloat.
We regret to inform you guys that we’ve indefinitely postponed Road Redemption development for Xbox 360 and PS3.
Wii U support is being evaluated in light of Nintendo’s focus on their upcoming NX console.
Trying to make a 3d action game (as opposed to something like Candy Crush) on multiple platforms with disparate technical specs is not an easy thing to do. It’s my opinion that attempting to do this significantly hurt the overall quality of Mighty Number 9.
Fortunately, we never attempted to create versions of Road Redemption for Vita or 3DS, which is, in my opinion, why Mighty Number 9 ended up looking significantly different from its alpha demo:
Its final art design looks to have been dictated by their lowest-spec platforms.
Of course, there are plenty of Xbox 360 and Wii U games that look graphically comparable to Road Redemption (to the untrained eye), but graphics are only one element of the equation.
Road Redemption features CPU intensive elements like physics and AI. It also uses a heavy amount of RAM for its large levels and big textures.
In terms of CPU, the Xbox One & PS4 are far more powerful than the other consoles. From a programming perspective, this often means that we can make code that’s simpler and more straightforward, which means it’s faster to write and easier to debug.
Could Road Redemption be made for Xbox 360? Possibly, but it would be much more time consuming and expensive.
Here’s a quick example of how performance constraints have made our code more complicated: in Road Redemption, when you ram into the side of a car, a bunch of sparks and debris appear at the point of impact.
If performance wasn’t an issue, an easy and clean way to make this happen would be for the code to create a brand new “collision debris” entity at the point of impact. The entity would includes a light source, a bundle of debris particles that take into account gravity and the force of impact, and an accompanying sound effect whose volume modulates based on the speed of impact. Creating a brand new entity like this is only one or two lines of code, and isn’t likely to cause any bugs in the future.
Unfortunately, creating a brand new entity is a CPU-intensive thing to do. Even on PS4 and XboxOne, you’d want to recycle the entity you had already created the previous time a bike rammed into a car. Recycling entities like this requires writing code to keep track of the entity, including the light, and all of the debris particles, and the sound effect. It requires writing code to reset the the positions of all of the particles and the brightness of the light and the base volume of the sound effect whenever the entity is recycled.
This ends up being hundreds of lines of code, which means that it’s another potential source for bugs, which means that this costs extra time and money.
The weaker the CPU, the more little optimization tricks like this you have to write into your code, and the more expensive it becomes to maintain.
In terms of RAM, Xbox One and PS4 have 8GB. Wii U has 2GB (though 1GB is devoted to its OS) and Xbox 360 has 0.5GB.
Having less RAM to work with doesn’t just affect the look of your game, it affects the level design itself.
Remember all of those sequences in Gears of War, where, in the middle of a level, Marcus Pheonix is forced to walk around at a snail’s pace?
That’s because the Xbox 360 can only fit a small fraction of the level into its RAM. While Marcus Pheonix is slowly walking, the next portion of the level is being loaded into RAM. The entire level has to be designed around RAM constraints.
I can only imagine what a bind these CPU, GPU, and RAM constraints put on the Mighty Number 9 team. They promised a game that would run on an Xbox One and a 3DS (ARM CPU, PICA GPU, 0.1GB of RAM). I’m sure there was incredible internal pressure to cancel these lower-spec versions and focus their limited resources on the higher spec platforms. Obviously, we feel like this is the best course of action for us.
ONLINE MULTIPLAYER PROGRESS
On a brighter note, work on the online multiplayer mode is progressing well, and we plan to have a beta version (which you guys will all be included in), by mid-next month.
At the moment, the multiplayer mode is focused around gang vs gang races, with all riders human-controlled. Two gangs race against each other, and the winner is determined by the time to cross the finish line and takedowns along the way.
One feature we like is that when someone crosses the finish line, they don’t just sit around waiting for everyone else to cross. Instead, they’re free to drive around the map, taking down members of the enemy team.
In terms of matchmaking, we’re working on both dedicated servers that we host ourselves and the option for users to host their own games. For user-hosted games, we’ll make sure that a game will only appear on the server browser if that host can actually accept incoming connections (their port forwarding is setup correctly). We’re also working on a system to ban hosts who close their game in the middle of a race.
One thing that’s important to me personally is making sure there’s a good amount of play time between map switches. So, like in Counterstrike: GO, you’ll play a number of rounds on a map before switching to the next map.
For all the backers that purchased tiers that include having an avatar or character in the game, we will be contacting you in the coming weeks to coordinate your custom in-game assets!