August 22nd 2015
Last week, you read about our thrilling battle with merge conflicts, the issues that came about as a result of our merging multiple game development streams following Gamescom. This week, we have continued dealing with these merge conflicts where they appear, both in the game’s code and the assets (artwork, animations, sounds, etc.) and this has resulted in lots of broken builds to test and iterate on! Unfortunately, while that’s good for the project it’s bad for an interesting news update: dealing with the merge means we avoided adding much or testing the new features. Features are coming back online as we resolve conflicts, but we expect that the merge will continue into next week.
One thing we failed to mention about the merge is that it isn’t just having us integrate work done by different teams for Gamescom… it’s also adding an updated CryEngine SDK, CryEngine 3.7, to the Star Marine code base. There are lots of great new features in 3.7, many of which are coincidentally animation related (in addition to rendering improvements, the much hyped VR tie-ins and more.) As we said last week, it’s short term pain for long term gain!
As I mentioned last week, the merge into the GameDev stream is necessary because GameDev is the basis for Arena Commander 2.0, aka multicrew. So merging code bases doesn’t just give us extra functionality for Star Marine (though that means roughly three months of additional work we weren’t able to access before!) but also ensures that the multicrew release will have FPS and social properly integrated as part of one cohesive whole. And this whole is something truly special: the newborn Persistent Universe!
Now that the ‘bad’ news is out of the way (I should stress again that the merge was planned, and something we scheduled our work around), what follows is a rundown of what we did this week. Todd Papy and I (Jason Hutchins) have spent the week in Denver working directly with the team at Illfonic, and directing efforts from the developers at all CIG and F42 studios. QA in Austin gave us a comprehensive play through of the Free Play and Team Elimination gameplay modes so we could review everything that needs to be presented to the player via interstitial UI screens. When we implemented the Free Play mode, we rushed it out to internal playtest without polishing up all of the screens, countdowns, score screens, final results. That polish has continued to the present. QA also did a thorough check of all the level geometry, art, and collision proxies to see if there are any places that don’t allow you to move through or shoot though them. They found a few, and we’ll start working on them next week.
As I mentioned last week, Todd was working with the designers at F42 on the new objective game mode to replace Team Elimination. We have a design fleshed out this week, it will require some minor changes to the level, some custom UI and some gameplay engineering support. We have broken down the new2 mode into tasks and have started some aspects of this work this week. I’d love to tell you more, but I know that it’s going to change as we get the system online and prove it out. So let’s treat that as a surprise for a future post, when the sausage looks more like… sausage!
At this point, we have a full feature list for the Star Marine launch and we’re doing a great job of fighting off the monster known as feature creep as we play and tweak it. It’s extremely easy to say ‘we should add this! and that! And that!’ as we play, and much of what we imagine today will make it into the game someday… but we know that doing it now will slow down the release and impact other areas of development. So we have to stay strong! The remaining Star Marine features have been tasked out, devs are assigned to them, and we’re burning the tasks down as fast as we are able, considering the necessary merge chaos.
Let’s take a look at the individual disciplines. Please note that I have not bothered calling out the blockers by discipline this week, as they are largely unchanged from last week. And the biggest blocker is of course the merge itself that I already mentioned!
Last week the Foundry 42 audio team did a recording session of a lot of different firearms for use in environmental audio. This includes weapons firing in appropriate spaces and also a varying distances. This will be used for positional audio, and later for ambient audio in the world. This will likely take at least a week to integrate into the game. They also started testing their implementation of bullet and laser crack-bys
On the gameplay side we switched over to an intermediate staging stream to work during the merge. Think of it as an operating room for a video game where we can resolve merge conflicts, triage bugs and address issues without breaking anything too important. Our first fix was to a spawning issue, which meant that we could once again play in the staging stream build. We met to discuss the weapons component design system. Want sight options? So do we. Customization is a very complex topic, so we’re iterating on the design to make sure we have a good system for hard, meaningful choices to make AND good ways to personalize your guns with enough variety for our big, living universe (that is to say, the system needs to be something other than giving you the option to continually make your gun better; there need to be checks and balances.) Programmers are currently looking at issues with cover animation logic and a bug in which some weapons are not being properly zeroed at 50 yards (that’s actually a mix of code and art issues.)
On the UI side, we conducted a comprehensive review feedback session about the FPS HUD. Design has worked to unify tutorial hints and action prompts on the HUD and we’ve been tw eaking the health paper doll display, ammo display and the hit indicators. The rework of the ammo counter has finished and we resolved an issue in which some HUDs weren’t displaying a blood loss warning (not what you want happening in the thick of combat!) We also submitted the code for the grenade UI indicator and the UI context component to hold them; we’re eagerly anticipating feedback on these.
We also began investigating a problem with match timers displaying in two places in the HUD (at least they showed the same time!) and the UI team is meeting with the audio team to get in sync on matching sounds to the interface. Last, we’re happy to report that the Star Marine UI team is prepping for a wider UI summit taking place in the UK next week. There, we’ll sync up on the ongoing work needed for both Star Marine and future Persitent Universe modules.
The art team conducted polish edits and tweaks to the Devastator Shotgun; you can see some artwork attached to this post. There was also work on the Sniper Rifle’s ADS and the ability to have multiple zoom levels. We identified a problem that requires code support for a fix (and is a good example of what these merges are like): the CryEngine SDK zooms everything when you zoom in ADS. We want to do a much more realistic simulation, so the engineers will need to do a little work under the hood. There was also work on line art for the helmet interiors for the HUD and character art for the lobby UI loadout screens (in progress, not yet finished.)
Animation! As you know, there’s a lot of work to do, but we are having fun. All animators have now switched over to the main Game-Dev stream. Work has begun on crouch juke animations and we’ve started addressing feedback for the stocked magazine check animation and hooking up vent LODs. Then, there’s the cool new stuff: animators began editing the hurt locomotion, the stocked cover and the ledge mantle straight out of the mocap data!
The most important news here is that our animation retarget, now finished, took LESS time than expected (we had estimated it might take as long as two months… and it was done in two weeks!) A first for Star Marine, surely! Burning down those 3000+ animations needed for launch. As I implied, retargets are finished… and as you read above we are on to cutting up the NEW mocap items that are on that list. Again, it’s a big task and animators and engineers from all studios are working on it.
Let me go ahead and warn you that the proxy testing video below is extremely short… but I think it’s an interesting look at some of the iterative development we’re doing!