Arco Week 3 Dev Log
June 05, 2016
This week's Overview
With our game's design coming together, this week's focus was churning out a playable prototype to showcase an idea of how we want the game to play. That meant we needed to develop a lot of functionality and a lot of programmer art.
This week I put plenty of work into the player character, player weapon, and the basics of boss ai logic.
For the player character, I developed a couple of mobility features. The first was a sprint move that increases the speed of the player on the press of a button, and turns off after either the movement input is released, the player zooms in, or the player jumps.
The second feature is a dodge move that changes depending on the the current status of the player. If the player is sprinting, the player performs a sliding move. This sliding move increases the speed of the player in the direction they are moving and decreases the player's hitbox to help them dodge enemy fire. If the player isn't sprinting, the player will simply perform a short and fast hop in whichever direction they are moving.
At this point the player has several different states to account for pertaining to movement (in combat, out of combat, sprinting, jumping, zoomed, sliding, hopping), so a good chunk of work was spent making sure that these all worked together and transitioned seemlessly, as they each had their own properties to account for.
A weapon that could be augmented with different stats (damage, accuracy, Rate of fire, etc) had to be developed. I did this by using a basic model provided by one of the artists on the team that I was able to attach to the player when he spawned.
It fired by sending a raycast from the center of the camera straight foward, and finding the point that it hit. From there, a projectile particle was sent from the muzzle of the gun towards the point that was found from the raycast.
Instead of a normal ammo system for the player, we deteremined a temperature management system would fit better for the game. Everytime a player fires, it adds to a heat gauge that decreases every frame. If the player fills the gauge, the player cannot fire until the gauge is completely empty. We hope this will create consequence, tension, and thought to each shot the player makes.
For the prototype, we needed to demonstrate some type of progress on a boss, as boss battles are a big part of Arco. As we didnt have a finalize boss design complete, I simply set up the the logic that will eventually contain the different states and attacks of the boss. This ai behavior tree cycled through different states executing empty functions, demonstrating a base for future designs.