Allie Keats
Game Programmer
Senior Systems Programmer at Behaviour Interactive with 5 years of professional C++ experience.

Capstone - Week 8

By: Allie Keats | 24 October 2017

Weekly State of the Repo

This past week, we successfully passed into Proof of Concept, and are planning to challenge yet again to get into the Vertical Slice stage. At this point, we can all feel the pressure fully on–there are less than 4 weeks until the mid-year show presentation, which leaves about 3 weeks to actually work on the project if we want as much time as possible to prepare for the presentation itself.

A lot of really great work happened this week. You’ll notice in the videos below that we have a brand new level, which is currently be skinned with a new level kit by our artist Tyler and our designer Charlie. In addition to implementing the new features listed below, I worked with our producer Max to crush a lot of bugs found at QA; in the process, we developed a much-improved standardized bug reporting system that will help me keep track of everything and make sure nothing gets forgotten.

So without further ado, let’s look at the new stuff this week!

Aim Down Sights

This was quite possibly our most-requested feature at QA, and is something of a standard in modern first person shooters. At this point, it is implemented in a very rudimentary style with a slight change to the camera’s Field of View, a movement of the weapon model to the center of the screen, and a change to the weapon’s dispersion stats. Going forward, we plan to have different scopes affect what happens when you enter ADS (Aim Down Sights) mode in a much more significant way, but this was a necessary first step.

Weapon Part Acquisition Methods

In these above three videos, you can see our new level, and also three new methods for acquiring weapon parts: crates, player drops, and turrets. The days of weapon parts falling from the sky are over.

All three of these were planned features for quite some time. Of the three, the crates were the easiest to implement. They simply spawn a random weighted weapon part when they are shot by a player, and then respawn in the same position after some time. For player drops, some trickery was involved; prior to this, a part’s durability was always a set number that never differed from the prefab. For this system, however, Charlie requested that a part maintain its durability between owners, so that you could not kill a player with a very powerful combination and then get that combination for its full lifetime. The new system for overriding durability is working very well and survived a QA without any bugs found.

Finally, turrets add a whole new level of gameplay. Scattered throughout the map, they give players a guaranteed part combination if they are brave enough to approach and defeat them. Players at QA praised the way the turrets track their targets, describing it as a great balance between an aimbot and not even a threat. Currently, they are an overwhelming presence on the level, and this is something Charlie is going to tweak for next week.

Documentation

Most of my remaining time this week was spent on documentation, and updating our technical document. As a team, we are really hoping to move Modulate on to next semester, and so it is essential we have documents that fully explain everything to anyone we want to onboard. The doc is currently 12 pages and mostly talks about systems and risks and is aimed at a producer or executive producer; going forward, I plan to make it more useful to potential new teammates as well.

While working on the audio portion of the technical document, I discovered some areas of research that Charlie and I plan to explore in the next few weeks–namely, audio middleware. We have found ourselves hitting walls with Unity’s standard audio technology, and we are looking into solutions such as FMOD and Wwise, both of which have very generous licensing for student and non-commercial projects. This is an area in which no decisions have been made, but lots of thought will go into.

All in all, this was another successful sprint; here’s hoping we get into Vertical Slice on Thursday!

Back to blog