Velocirapture
My Role Programmer
Technology:
-
Unreal Engine 4 (UE4)
-
Blueprint
-
-
Perforce
-
Photoshop
Genre 3D First Person Shooter,
Capture the Flag
Platform PC
Development Time: 4 months
Department breakdown
Table of Contents
Summary of the Game
Velocirapture is multiplayer capture the flag game. At least one player must host the game, and then all others connect to said host; there can be up to a maximum of eight players. Upon connecting to the game, player’s are divided into the Komodo (Blue) and Ridgeback (Red) teams, and compete to get the highest team score before the time limit ends. There is also an alternative game mode outside of Capture the Flag where players try to collect as many teeth off the fallen players as possible and attempt to bring them back to their base. I was one of two (originally there were three) programmers on the team. I put in roughly 182 work hours.
I worked on the Fusion Cannon (primary fire is a rocket launcher, while the secondary is equivalent to a place-able temporary jump pad (aka the flame vent)). I also created all of the code for both of the game modes (Capture the Flag, and Bounty), and the sound effects system.
Personal Contributions
Fusion Cannon Overview
Summarized Bullet Points:
-
Fusion Cannon's primary is a rocket launcher
-
Fusion Cannon's secondary shoots out a deployable flame vent (aka jump pad)
-
The rockets not only cause damage, but also knock players around. This enables rocket jumping.
-
Rocket jumping damages the player, but gives more control.
-
The flame vent launches the player higher and does not damage them, but cancels all momentum in favor of it's.
The fusion cannon is the one weapon the player does not start with at the start of the game. It is the slowest to fire, has the least ammo, but is the most powerful. The primary fire applies damage to players within the blast radius, as well as a blast force, based on how close the player in question is to the center of the blast. In this way, an owning player could perform a rocket jump with the fusion cannon. The secondary fire for the fusion cannon fires a projectile which if hits the ground will deploy a flame vent. However if the secondary fire hits an enemy player, then it will apply a very small push back force, and no damage. The flame vent will always tilt itself based on the normal of the surface it is on. If the owning player walks over the flame vent, then the owning player will be launched in the direction of that normal. Flame vents are temporary in that they not only die after the player uses it, but if unused for 20 or so seconds, they kill themselves.
Pros and Cons for Player's Use
Here the player is both holding a fusion cannon and also looking at the fusion cannon at it's pick up location.
In this image, the player has laid down a Flame Vent (the Fusion Cannon's alternative fire projectile) onto the ground.
This is an illustrated example of how the secondary fire of the Fusion Cannon works.
Here the player is both holding a fusion cannon and also looking at the fusion cannon at it's pick up location.
Capture the Flag GameMode Overview
Summarized bullet Point:
-
Players sorted into teams. (Komodos are blue team, Ridgebacks are red team)
-
Players on same team work together to capture enemy team's flag.
-
If both sides have the other's flag, then neither side can capture the flag until their team's flag is returned.
-
One team wins if either:
-
They have more points when time runs out.
-
They get 5 more points than the other team presently has.
-
In Capture the Flag (CTF), players compete in teams to capture the opposing teams flags as many times as possible prior to the time limit ending. In Velocirapture, this has an additional limit where the team attempting to capture the flag's flag has to be back at home base before they can capture the enemy flag. There is also a mercy limit of 5 points, where in if a team gets ahead of the other team by 5 points, that team wins regardless of the time limit.
The code for the game mode handles respawning and killing players as well as capturing and dropping the flag. It also handles updating players on the present scores.
This is an image of the Ridgeback (Red) team base, where the flag is still there.
This is an image of the Ridgeback team base, where the flag is missing.
This is an image of the Ridgeback (Red) team base, where the flag is still there.
Bounty GameMode Overview
Summarized bullet Points:
-
Bounty mode is basically a cross between CTF and a death match mode.
-
When a player dies, they drop all the teeth (Bounty mode's flags) they are carrying, plus one.
-
First team to collecting 50 teeth wins.
The Bounty game mode has a good number of similarities in functionallity to the CTF game mode. However the big differences are that there are no flags at the team bases, every player drops one bounty tooth (plus all the teeth they were carrying) on the ground upon death, and there is a point limit of 50,. Thus if one team collects 50 or more teeth, they win. Bounty thus is a much faster paced game mode, in that it encourages a more team death match environment.
This is an image of a Bounty Tooth on the floor, they are dropped on death, and will despawn after a set time limit if not picked up.
This is an image of a Bounty Tooth on the floor, they are dropped on death, and will despawn after a set time limit if not picked up.
What Went Well
-
Team was well organized and focused. Communication was kept a high priority throughout the life of the project, and team started early.
-
I got to solve some interesting problems that the fusion cannon and the two respective game modes presented. The game modes in particular had some limits that UE4 required jumping through certain hoops to get functional.
-
Playtesting was started as early into the project as physically possible, enabling some bugs to be found and fixed early on.
Challenges
-
Had to part with one of our programmers, as another team required additional aid. This put additional strain on the project, and led to the scope shrinking.
-
Bug testing was too narrow focused; team did not try to seek out bugs outside of what the current milestone required or what they had been presently working on individually.
-
Networking had many different cases that needed to be handled to get running bug free; most were taken care of, but there are still some that could not be handled due to the time constraints and lack of bigger picture bug testing.
What I Learned
-
Learned about how the bigger a team gets, the more important it is to communicate. Needed to talk with the Level Designers more to make sure they received the tools they wanted more, and that they knew that those tools were there. Same time, had observed one of the departments having an internal misunderstanding which raised tensions and cost time.
-
Learned about some of the pros and cons of blueprint within UE4, as well as how best to organize code within it.
-
Inter department trust is incredibly important part of teamwork. This honestly should go without saying, but its not something that comes naturally in most cases either. Without that, operations can go more sluggishly, was not until the team went out onto a ropes course that we really started to kick into high gear. Though that could also be that we just needed a bit of fresh air.