Senior Production Blog Post #2

Senior Production

It’s about four weeks into the project now and things have started to pick up in the project.  Balancing is still not on the forefront of my work, however I’ve still been able to help the team.  Since we don’t have quite enough data to effectively balance at this point I’ve had plenty of time to get familiar with the weapons code.  I’ve been implementing some of the weapons.  One feature our leads wanted to add were weapon alternate fires.  I was assigned to implement the alternate fire for both of the guns that were already created, the Volt45 and the Derecho.

Implementing those alternate fires was tricky in the beginning.  I had very little knowledge of how the Unreal Engine’s Blueprint system works so this was very enlightening.  Fortunately for me the weapon’s were set up in a C++ inheritance structure, a version of polymorphism I am very familiar with.  The hardest part of the process was becoming familiar with the Unreal syntax.  With time and effort I managed to get the two weapon’s alt fires to work properly.  In addition to learning how to code blueprints I was also introduced to code reviews.  Code reviews are something I had heard about in my periphery, but never got to experience until now.  I am going to try and do more in future to get better acquainted with the programmers on my team and to also help build up how code reviews should be done.

I was also assigned to fully implement a new weapon in the game.  The weapon is a sniper rifle-esque weapon that can attack from far away, but the fire rate is low.  I’m still in the process of putting it together, but it will be my first full implementation.  As previously mentioned I’m getting more used to blueprint coding I have not spent as much time exploring the inspector and other parts of getting the  weapon to appear in game.  I’ll need to apply a mesh and test to make sure all functions of the weapon work as indented.  I’ve made a note to set up a meeting with the design leads so I can show them the weapon.  If they don’t like something about the weapon I can make notes and readjust the weapon based on that feedback.

Testing has started which means things should start picking up for me in terms of balancing work.  We had a few bumps in the road with our networking, but they were quickly fixed after testing so the next QA session should prove more fruitful for balancing information.  We also have more levels being grey-boxed so I will be taking a look at them in the next sprint (or earlier if time permits).  Looking at the grey-boxed level should help me establish a better rapport with the level designers.  We will be working together very closely once balancing starts in earnest so becoming familiar with them will prove advantageous in making changes to levels or systems.

One last thing I worked on these past weeks was to help develop a new game mode.  It’s called Breakdown and is a take on traditional deathmatch.  Instead of score being entirely dependent on the number of kills.  In the Breakdown game mode, players are granted points based on how many kills they get, but are rewarded with points multiplier if they do cool things before, after or during the kill.  Some examples of cool things are kills in motion, successfully navigating the map without running into anything and multiple kills in a short time frame.  Testing should provide more ideas for cool actions to perform, but for now we think we have a solid start on the game mode.

Senior Production Blog Post #1

Senior Production

Cedric Brownewell
2/6/2021

It has been about two weeks since the start of the semester and the project.  It has been great to get to know the team.  I was on-boarded to help with systems design and balancing the game.  Because of those reasons I was also put onto the backend team.  Our current team structure is divided into a front end and a backend team.  The backend team is in charge of things the player won’t directly be interacting with such as networking, developer tools, and mechanics, while the front end team will work on aspects such as level design, environment art and UI.

The backend team’s biggest project right now is getting networked play up and running.  While a great goal, this unfortunately means there isn’t much balancing work for me to do in the game’s build.  In order to be productive I have been trying to help the programmers on the backend team.  I offered because in addition to my Game Design degree I also am working towards a Game Programming degree.  Since in build balancing is feasible at this moment my role in the team is to help design the developer tools that I will be using to balance the build.  It’s a good job for me to have as it will help me familiarize myself with the tools I will be using in the future to gather data and make changes.

I have also been putting together a plan for when I can actually get into the build to start balancing it.  I’ve been keeping track of who I should be in contact when I start balancing the game.  Some of the areas I’ve identified so far are the weapons designers, level designers, and systems programmers.  The weapon designers and systems programmers would be needed in case a major change had to be made to a weapon. The changes that would require that level of collaboration would have to go beyond just simply adjusting the weapon’s values. Adjusting values such a damage and clip size is something I should be able to do with in the engine editor.  Level Designers would need to be brought into the loop incase of any tweaks in the weapons or game modes. These changes might change how the level needs to be laid out so they should be included in the process.

I expect to participate in QA for a majority of the project duration.  Having the results and making sure the tests collect good information makes my job easier and more efficient. Good data means clearer results and well informed decisions.  One of the tools the backend team wants to develop is an admin spectator tool so that developers can watch the games in action. It would be a useful tool to help supplement the other data we’ll be collecting with context to the decisions we see.