Development Roadmap (February 2015)

From Reflex Wiki
Jump to: navigation, search

Development Roadmap - February 2015

Since we've been a little quiet with the updates, we thought we'd fill you in on the basic roadmap we've got planned over the next few months... Newborn

Version 0.31.x

Quality and Speed Optimization

For this version, we've been making big changes to our art pipeline. For players, this means better performance -- both generally and through the newly implemented quality settings. Running some profiling on my system, the current Steam build averages 146fps. The new version averages 154fps on High Quality, 184fps on Medium quality and 264fps on Low Quality. We're expecting these numbers to improve further as we finish off the last tasks and if Low Quality isn't enough for you still, we've got a High Visibility mode planned that will have very little detail but should run very very fast. Reflex now also supports DirectX 10 devices.

Macro/Micro Texture System

There's also exciting changes for us devs, who are excited about weird things. One of the major changes is implementing a macro/micro texture system. In simple terms, what this means is that we now create a material that says "this bit here is wood and this bit here is steel and this bit here is cloth". Not only does this significantly improve the detail of our textures, it also lowers the cost and makes tweaking and customizing materials a whole lot faster and more powerful.

This power will be passed on to map authors as soon as we hook up a UI for it. Initially, this will mostly mean that you can have complete control over the colours of the dev textures via tint overrides but eventually you'll be able to override each micro-material on a surface. For example, if we provided a material that was a door with iron bracing, you would be able to replace the iron with something like steel or gold or the wood with a darker version or a worn, painted version (that you could then change the paint colour of).

PBR Shaders & Lightmap Optimizations

We've also cleaned up our PBR shaders (including the addition of Image-Based Lighting and Reflection Probes), changed the way all of our textures are packed and compiled and are currently working on some changes to the lightmaps that should increase performance and decrease their file size.

Outro

Oh and Electro made our loading bar orange for no apparent reason.

So, this has been another huge job, immediately following the last huge job (the netcode). The reason we've been quiet with updates is this isn't something we can put out half finished -- it requires us to redo every single material and effect in the game (until recently, things looked very, very broken). We also need this tech done so we can continue progressing with our secret unseen art.

All this means that there's unlikely to be any significant changes to the game code itself for this update -- we don't want to delay it any longer. But...


Version 0.32.x

UI System Overhault

The major feature for this release is planned to be an overhaul of the UI system. If everything goes to plan, when we're finished we should have a UI system that is much, much faster to implement so it won't take us hours of fucking around just to do a simple options menu. We're not sure how much will be added or redone in this version but the important part is that development of features like matchmaking, a better server browser, workshop support for maps, training and tutorials etc. will no longer be blocked by a crappy UI system.

Gameplay Updates

Fortunately, the UI system can be done behind the scenes -- having it half finished won't prevent us from putting out updates. So we'll probably take this opportunity to fix some of the underdeveloped bits of gameplay that are dragging matches down.

MegaHealth & Respawn After Wearoff

The first of these is changes will be the way MegaHealth respawns. Instead of the fixed 30 second respawn it's on currently, we will be implementing a CPMA style "Respawn after wearoff" system. Initially for testing, "wearoff" means "player has lost 100 health, either by damage or by health decay". In order to avoid the situation where the player who last had the mega gets to know the exact timing but their enemy has to guess, we'll be implementing a visible and audible effect when Mega has worn off and the respawn timer has started ticking.

Splash Damage & 8u Walls

Next up is splash damage going through walls. We spent a couple of hours the other night working out a system that meets all of our requirements and we're happy with how it looks on paper. The plan is that splash damage will penetrate though 8u brushes but beyond that will be blocked as expected. Primarily this means that if mappers want to create special, risky sections of walkways that are vulnerable to splash, they can. Players will be able to easily recognize these thin surfaces and know to be careful on them. The system also fixes the problem of "stair armour" found in some games where an 8u high step can magically shield you from a rocket exploding 2 inches from your feet. It also makes peeking over ledges slightly more dangerous -- if your feet are ~8u from the edge and a rocket hits it, you'll still take damage (previously, you'd have to have your hitbox actually overhanging).

Respawn Preview

This release may also see an experimental Respawn Preview system implemented. The way this works is that after dying, your view is teleported to where you will be respawning but you are not actually spawned until you click. This adds some meta to the spawn system. Players could wait to spawn to avoid a nearby enemy or stay safely dead until a nearby item respawns. They could spawn sooner, prepared to quickly finish off a weak player nearby (or telefrag them if they're stupid enough to stand on the spawn).

Like all the experimental features it ultimately comes down to how it plays. If it adds nothing significant to gameplay (or worsens it), it'll be stripped out. If it's awesome, it can be tweaked and built upon (this system could easily evolve into a "choose your own spawn" system if it looked like that system would have value).

We're also expecting to do some minor fixes and improvements such as proper overtime and biasing player respawns away from whoever killed you (instead of where you died). Oh and we'd like to have a Resist power-up in soon.


Version 0.33.x - Version 0.36ish

Nothing for these versions has been set in stone but the short list is:

  • Training and tutorials (allowing people to add tooltip pickups and in-game replays to maps).
  • Steam Workshop integration for maps (including auto-downloading on demand hopefully).
  • Matchmaking (first pass might be as simple as basic, region based pickups or could go as far as proper ranked matchmaking).
  • Race Modes (which also establishes some core bits of code for CTF)
  • Some love for the map editor (group selections, prefabs, flipping and rotation of geometry, clip/split tools, scale/transform gizmos).
  • Maplists (defining rotations of game modes and maps or just creating map pools. Also on Steam Workshop).
  • I'd also like to be doing some of the larger experimental gameplay changes around this time but those will be tested privately first, in case they're rubbish.