A downloadable game for Windows
Dark Circuits is a short boss fight action game built in Unity with a third person camera perspective. It focuses on semi-puzzle solving tactical combat in a world where a war is happening. Human-made machines are tested, and failed machines are subject to a final test in an enclosed arena.
You play as a failed experiment, one that has been given up on by the humans and is being sent in for a final chance to prove yourself. You must analyze and take advantage of the arena and figure out a way to eliminate the enemy before it scraps you.
This game was made as part of a Game Development course at KDU University College.
|Role||Designer, Programmer, 3D Modeler, Animator, Sound Engineer|
We went through 148 iterations before we had our final version.
These are my contributions to the project. My tasks, research and thought process are explained in this section.
- Level Design
- Covered Arena. Plain skyboxes were too empty while textured skyboxes didn't fit the theme of the game, as most objects, if not all, had no textures.
- Octagonal Arena Shape. Square arena allowed the player to be cornered easily while circle arena didn't fit the blocky style of the game.
- Barricades/Covers placed in a circular fashion around the center of the arena increases the chance of a player being able to utilise it to block the enemy's bullets. Placing them closer to the center of the arena also encourages the player to play near the center of the arena, preventing the player from getting cornered. Allowing a maximum of 3 covers to be active at a time to prevent players from exploiting covers to win easily. Covers gradually glow red to indicate that they are vulnerable, and blink for a few seconds before exploding when they reach their limit in absorbing damage.
- Light Spots emphasize that the arena is made as a testing chamber. Two out of three possible light spots will turn on when the enemy needs to recharge to prevent the players from locating the position where the enemy is heading towards too easily.
- Light panels are added to walls to give the player a clearer perspective of the shape of the arena.
- Entire arena turns red when the player damaged the enemy enough to indicate that the main character was not supposed to win the battle.
- Main Character Design
- Portrays weakness and flaws through its thin limbs, having no 'left arm', and only one part of its body that can be used to attack, its right arm.
- Experimental robot, portrayed by having only the robot's weapon being unique and complex compared to other actions that can be performed by it.
- Players have to charge their weapon in the light to attack, similar to the enemy to show that they are manufactured by the same corporate.
- Weapon information is shown on the weapon itself. The weapon pulses when charging due to the difficulty of precisely positioning the player in the light in third person view. Bars change colours when fully charged to prevent confusion of having an additional bullet. Weapon spins when charging, preventing players from being able to tell the number of bullets remaining in their weapon as a downside of charging.
- Weapon has two firing modes to allow multiple approaches to defeating the enemy. Charging the gun has to be more rewarding than the normal firing mode, but drawbacks were implemented to prevent players from only using the charged fire.
- Normal fire (Left-Click) fires many bullets out in a spread like a shotgun. The spread would allow players to hit the enemy easier in the middle of a high action situation. However, as this was intended to be a short range attack, bullets are destroyed after a certain amount of time, regardless of whether they've hit an object or not.
- Charged fire (Hold Left-Click, then Release) fires a hitscan laser beam at the point the player is aiming at. This allows players that are confident in aiming to easily damage the enemy from afar. To complement this precision-based attack and prevent players from charging all the time, the camera is made to zoom in while the player is charging the attack, focusing in on the target while limiting their vision to surrounding attacks.
- Enemy Character Design
- Made specially for combat. Shown by having many parts that is used to attack, and is invulnerable unless it is attacking or charging energy for its next attack. Uses solar energy to allow the robots to maintain themselves during a war.
- Portrays retaliation by charging towards the player when its weak point is hit when it is charging energy.
- Attacks are upgraded after the enemy is damaged 3 times to increase the difficulty while portraying survival instincts in the enemy.
- A complete robot, portrayed through bulky build, multiple weapons and attacks, and a self-sustaining mechanic (recharging).
- Opens its weak point after a certain number of attacks to prevent overheating.
- Has many attacks depending on range to show that the robot is prepared for all situations during combat.
- Circular Bullet Attack is executed when the player is near it. The enemy fires bullets in a circular pattern. The bullets spread farther apart the further they travel, thus pressures the player to move away from it.
- Rapid Bullet Attack is executed when the player is relatively far away from it. The enemy focus fires a continuous stream of bullets at the player. The rate of which the bullets are fired are very rapid, thus encouraging the player to take cover.
- Rocket Attack is executed when the player is very far away from it. The enemy launches rockets up in the air, which homes in on the player shortly after. The rockets were intentionally made to look bright and different from the bullets to indicate that they can be shot.
- Charge Attack is executed when the player is behind a barricade/cover or when the enemy's weak point is hit. The enemy charges towards the player, destroying any barricades/covers that are in its way.
- Splash Screens
- A simple splash screen system showing one splash screen after another. The splash screens gradually show, stays fully visible, then fade away.
- Skippable to the next splash screen by pressing Left Click, Space, Escape, Enter, or Keypad Enter.
- Arena Shake
- Limited arena shake during enemy's Charge Attack.
- Arena cannot shake beyond a certain limit to prevent it from going too far in one direction.
- After the arena shaking is complete, the arena is reset to its original position.
- Rapid Bullet Attack
- Bullets fire out with a spread.
- Object pooling is used to optimize the large number of bullets being fired.
- The enemy gradually turns to face the player as it fires.
- Charge Attack
- Homing at the beginning of the charge.
- Acceleration and deceleration is used for smoother start and finish.
- Arena shakes when the enemy is performing this attack.
- Enemy Blinking
- Enemy has six points it can teleport to that moves with it.
- When starting the blink, the enemy picks one spot to blink towards and another spot to act as a decoy.
- After the spots are picked, they are checked if the spots are too far from the center of the arena. If they are too far from the center of the arena, they might be outside the arena, thus new spots are picked.
- Main Character's Gun
- For normal fire, seven bullets are spawned at the barrel of the gun and fired towards the target with a spread that is set at random. These bullets are set to destroy themselves after travelling for a set time.
- For charged fire, the gun starts to spin with acceleration which has a limit to how fast it can spin. The gun also moves back slightly gradually and quickly snaps forward when it is fired to convey power. When fired, a raycast is sent outwards from the center of the screen, and a laser beam is activated and scaled from the gun to the target.
- Each barrel in the gun has 3 bars. The basic black bar is shown when it is empty, a white bar that expands along the first bar as it charges, and the light blue bar is shown above the white bar when it is fully charged. A cube pulse that gradually expands and fades in alpha is used to portray the pulse when the player is charging the weapon.
- Audio Manager
- Set up a system that allows sound to be played wherever applicable.
- Different channels can play concurrently, while sounds on the same channel prevented multiple of the same sounds from playing at once.
- Main Character Model
- Built resembling the enemy but with minimal functionality. All parts of the main character are small and simple, with the exception of the weapon. The same power core is plugged into the head of the main character to charge its weapon.
- Weapon is semi-complex but not too complete-looking to portray an work in progress weapon.
- Left arm bone is slightly visible to further emphasize that the main character is not complete.
- Enemy Character Model
- Bigger, bulkier and more complete looking compared to the main character. V-shaped head and torso to give an intimidating look.
- Has moving parts and more attack startup animations to warn the player of the attacks while making the boss feel more complex.
- Main Character Avatar Masking
- When charging a shot, the top half of the main character's body is frozen while the legs are allowed to move through avatar masking.
- Enemy Character Circular Bullet Attack Animation
- Arms are made to drop from the basic T pose.
- Arms bounce as they hit the bottom to give more life to the physics of the world.
- Enemy Character Rapid Bullet Attack Animation
- Worked based of a crouching pose from www.mixamo.com.
- Arms are raised after the crouch animation is complete and aim forward.
- Laser-like sounds were picked for the main character as they sound lighter and weaker.
- No walking sounds as it did not contribute to the battle which was already action packed and allowed the player to keep and ear out for the enemy's attacks.
- Heavy sounds such as jet-like and machine gun sounds were picked for the enemy to make it feel more intimidating.
- Music changes when entering the second part of the battle to convey clearly that it is the second phase of the battle.
1. Download the file.
2. Unzip the file.
3. Run Dark Circuits.exe.
Leave a comment
Log in with your itch.io account to leave a comment.