Been a quiet winter, hasn't it? Sorry about that. Gamedev is hard. You can work for months and months while intellectually knowing you're making progress when emotionally it feels like you've just been spinning your wheels. Makes it hard to write enthusiastically about what you're doing. Well spring has sprung, the sun is shining, the game has been stabilized and we can do game design again. We're eager to share with you guys again, so we've resurfaced to break radio silence and will resume regular posting.
Play of the Game:
Last session had some great plays, which is an excellent sign. Planning is fun in it's own right, but the phase is ultimately there to make space for players to do something spectacular.
WHAT HAVE WE BEEN UP TO?
"Performance improvements and bug fixes":
Seriously, though, that's the brunt of what we've been doing. All winter. Good performance is critical for a competitive FPS; anything under a stable 60 is intolerable for this kind of game and for anyone who plays competitive shooters seriously, a steady 120 FPS has become the minimum.
We've also been working hard to sort out the many problems our physical inventory has brought with it. I've discussed some of the exciting possibilities the inventory system brings with it, but there were serious drawbacks to the implementation that cost us substantial development time. We've spent considerable effort sorting out the numerous complications that arise when you have animations driving inventory events. These were important to solve because they'd be total game breakers. Good FPS is important, but if your gun didn't fire on the server because the state of your weapon is desynced between client and server you've got much bigger problems.
We're still far from release, so our goal isn't 100% bug and performance issue free, but it was imperative we prioritize these un-sexy issues this winter before we could get to any real matters of game design. You can't really iterate and design on a game that turns into a slide-show when everyone starts shooting.
The final piece to complete the puzzle was Unity's 5.6 update, which brought huge framerate increases and other goodies like Vulkan API support.
We're pleased to report we're running at about a 120 FPS baseline [read: not in combat] on a i7 4790k at 4.0ghz, GTX 1070.
Level geometry:
Over the winter we've experimented with all sorts of architectural features, like elevated windows, catwalks, skylights, low walls, and even the odd dance floor.
Character Customization:
Ordinarily, frivolous features that don't make game play better are on standby, but our character meshes were broken up into about 100 different pieces in anticipation of this feature. To improve performance, we had to combine all of these pieces, and since that was the hard part of character customization, the feature is now in, in a preliminary state.
weapon voting:
We did do one major design update to the game. We've implemented a crate voting screen for the criminals.
We needed to better focus the crates to conform to basic short range/long range capabilities because when defenders had a potpourri of weapons there was really no way to tell what their plan would be. These new crates were successful but the setup had an expected flaw: if the system spawning them is random, there's a good chance the defenders are disadvantaged by a bad crate. While sometimes the defenders could surprise the attackers with genius plan, most of these scenarios would simply end in a massacre.
In response, we implemented our first crate voting system. At first, the defenders could pick from 5 primary weapons crates, and 3 secondary weapons crates. This did not have the intended effect. The planning phase became a debate about the merits of each weapon, rather than a discussion about positioning for those weapons.
Later on, we simplified. All our secondary weapons went into the same box as they were irrelevant, and we only offered our defenders the choice between a long range crate and a short range crate. This was a success. The discussion returned to how to position, and occasionally the defenders would pick the 'wrong' crate for a surprise attack against the attackers.
Finally, we allowed defenders to choose their power weapon crate. Originally the plan was to simply let the game randomly choose one for you and force you to come up with clever positioning for it. Letting defenders select their power weapons ultimately produced more cohesive, predictable plans that are more vulnerable to subversion.
We also have a 3rd category of crates--gear crates--that is a work in progress. These are sort of 'wild card' crates that allow the defenders to foil an obvious plan or to execute a clever one of their own. Our road flares offer the defenders the option to choose exactly where they want to fight, as they can deploy these to fight effectively in the dark if the attackers secure the electrical breaker, which turns out all the lights in the level. There's also a crate full of oil filter suppressors, which can be used to enable particularly sneaky plays. Later on, we expect the gear crates to host other goodies like body armor and gas masks when they're implemented.
WHERE WE'RE GOING:
New Level Pipeline:
We've implemented a new level production process and have thrown out almost all of our old geometry! While it gave us some valuable insight, the old stuff just wasn't doing the job. Our level generator tiles were too small and granular and consequently too much authority rested with placement algorithm, and not in the content the designer produced. We were getting 'RNG hell' levels that offered interesting decisions too infrequently and produced too many mediocre levels.
For this iteration we've incorporated ProBuilder, a fantastic level whiteboxing tool on the Unity Asset store. Making level content is much faster now and never needs art assets to get done.
Our tiles are much bigger now, and cover is part of the tile objects themselves, where before cover was placed by a separate pass in the level generator. This allows us to better control the spacing of cover, which is much closer to Counter-Strike. Our interiors are much cleaner now, both easier to navigate and easier to plan for, while the larger tiles have produced far more interesting overall layouts of levels.
Weapon Select Rework:
The voting system was a success, but it adds too much friction to planning. A great deal of planning effort is spent getting people to vote for the correct combination of crates.
We're going to try switching to a card slotting system instead of voting to have the defenders select their gear. At the bottom of the screen will be a 'hand' of various crate cards. These can be placed by anyone into the spawn slots for each category of card. When the timer runs out, the placed cards spawn the corresponding crates. The advantage of this system is that changes can be made unilaterally, players can conserve their energy for making a plan rather than lobbying their teammates to push the correct buttons.
Incorporation of Background Scene:
The art team has been hard at work on a new iteration of an exterior scene. Here's a sneak peek of their work in progress:
ALPHA:
Relax, you haven't missed it, and yes, it's still happening. There's a misconception among some players that an alpha is for bug fixing. It is, but it's also the first time an audience that you don't directly know is going to get their hands on the game, so the most valuable insight these sessions will give is how the game is playing.
Fortunately, the game's design is now nearing a state where we're going to need to start testing for depth, which means we'll need to start the alpha soon. However, what's not ready is the infrastructure to support the alpha (build distribution channels, organization, etc). In short, we're still months away from that happening. We're as eager to get this thing into your hands as you are, so stay tuned!
That's all for now.