top of page
  • cameron_schneider

Dev Blog 17: Postmortem

It's pretty much done! At the time of writing there are 4 days left in the semester and it's time to recap a little bit.



What Went Well


We made a game! All jokes aside, the end product certainly met expectations, and even exceeded in certain areas.

The expectation we set for ourselves when planning our Alpha and Beta phases was that we would have:

  • 4v4 Multiplayer

  • Team Deathmatch

  • A multiplayer level

  • A tutorial

  • 4 functional weapons

  • Weapon VFX

  • Character VFX

  • Full weapon & character SFX

  • Music (Title & Gameplay)

  • Full first-person and third-person animation sets

  • Completed in-game HUD

  • Complete menus, including a lobby

  • Steam integration for release

... and of course, it all needs to be networked.


We have checked every item off of that list, and we've polished each as much as we could.


It took us quite a while to get that multiplayer level in, and the tutorial is still being worked on as well, but the art and overall environment looks amazing now that it's complete. I think the actual design of the level and the placement of weapons, charge points, health packs, and spawns is also good, now that we have an actual spawning system in place to combat spawn camping.


Personally, I think Simon did a crazy good job on audio design for this project overall, and the music is phenomenal. The in-game audio of an arena shooter is incredibly important, and each sound needs to be really recognizable so players can get world information, and he nailed it. The music is also super neat, and fits the mood of the game very well. I wasn't sure how I'd feel about in-game music, but having it at a lower volume keeps the game feeling hype.


Art definitely took the longest to get in. We didn't get any environment art in until the final 3 weeks of the project, but it still looks good. Over the course of the semester, the art style of the game completely evolved. We started with a very flat-shaded, hard to look at cel shader that also caused inefficiencies, but Colton's shader completely revamped that. The style we have now is still flatly colored, but it's shaded and lit normally. We also make heavy use of emissive textures to give the environment (and important objects!) a glow for visibility. I love this newer style. It feels very different from almost any other shooter I've played, but is still cohesive and enjoyable to look at.


The UI in the game is fantastic. Ellie did a wonderful job putting that all together, and Alex also did great with the graphic design portion. I think I'm happiest with the in-game HUD, because it looks clean and delivers game information really clearly, which is critical in a fast-paced arena shooter.


Gameplay-wise, I think the weapons are right up there with the actual networking component for my favorite bit of programming work. I originally built a weapon creator toolkit so that our competitive/systems designer Cedric could just hop in and start creating new weapons without dealing with networking. All four weapons are now fully functional, and even have some more advanced networked VFX implemented on the guns themselves. As the lead network engineer, I think the actual net-code of the game is good. There are imperfections and inefficiencies, but it does remain functional under 40-100ms latency, which is good enough for this time-frame. A lot of effort went into making this game networked, and I'm proud of it.


At the end, the repository actually became nice. By that, I mean there were few merge overwrites, content being added was entirely functional, and any bugs were usually caught by a double-push/double-test method. I also didn't have to handle rebasing for people at all, whereas just a month prior I was handling nearly all of them. I'm so proud of everybody getting through their Git fears and learning how to do it all properly on their own (mostly).


What Went Wrong


Early in the semester, we as leads made a communication error with our two level designers. We didn't give them nearly enough direction to create a level that would satisfy both artistic and functional needs, and as a result, the level started getting pushed back. Once we did start to give them adequate direction, the overall quality of work and communication from the level designers completely disintegrated, which further slowed level development for both the multiplayer and tutorial level. We didn't get an MP level in until the last 4 weeks of the semester, which really isn't enough time to thoroughly test it in multiplayer scenarios.


As mentioned before, art took forever to get in, whether it is VFX, environment art, or animations. We were super limited in our art capacity, as we only had 2 artists total (plus Colton as graphics programmer) to work on anything art-related. This forced us to compress art implementation into about 3 weeks at the end, which was super stressful. This also caused a lot of problems in the repository, since all of our VFX have to be networked correctly. Many, many merge overwrites happened as VFX merged into develop.


Internal testing was a struggle in the beginning. As a lead programmer, I do code reviews for any change to code, and I noticed that pretty much everyone on the team was just not testing their own work before submitting a review. We scheduled internal testing sessions for everyone to actually be at, and I also really tried to reinforce the "test before every push" moniker. Over time, this gradually improved.


We originally wanted players to be able to play with anybody on Steam. This was cut in the end due to some buried code in Unreal that basically disallows random lobby hosting. I don't know how to get around or fix it other than to rewrite that engine code, so we are left with invite-only lobbies, which isn't ideal for a shooter like this.


What We Could Improve


For starters, Git usage did improve! There are still some issues that crop up, and there are some good features that people should still try and learn, like cherry-picking, merging specific files, and reverting specific files.


I also think we could have attempted to reach out to other younger artists for some contract work. As the semester progressed, environment art fell more and more behind, mostly due to only having 1 3D artist. Any sort of help would have been beneficial, and would have likely led us to completing the level earlier.


There were a few team members who routinely struggled to hit the 12 hour mark, and I feel like we as leads could have done more to help alleviate that. It would change case-by-case, so I can't say one exact thing to improve, although 2 members would have benefited from an improvement plan earlier in the semester.





6 views0 comments

Recent Posts

See All

Dev Blog 16: Wrapping Up

We're almost done! It has been a wild ride over these last few weeks, and we've gotten a ton of stuff done--but I want to talk about our Rockstar meetings first. For those unaware, we have been meetin

Dev Blog 14: Multiplayer is Fun

So, we all know that playing online games with your friends is fun, but how about making a multiplayer game? While I've had the luxury of working on an online FPS at High Moon Studios as a multiplayer

Dev Blog 12: Senior Production Begins

It is now our final semester at Champlain, and since Breaker made it through the Greenlight selection process last semester, it's time to prepare for and execute a full production cycle! At the time o

bottom of page