Projects:

Arkus: Falling Stars <<<

Arkus: Falling Stars

Before it began

The Project began before it really even began, back in college, among other works I was completing for school, I had a Unity project that was basically my personal playground, I played around with systems and mechanics, replicated ones from games I enjoyed and tried to create new ones that I liked.

The playground project was very much a stitched together, incoherent mess, due to the fact that it was never built to be a completed game, but rather as a test bed for whatever new idea I came up with. Yet this did mean that each idea was somewhat independent of each other, compartmentalized into pieces that could function for that singular idea without relying on much other assets.

This project was a passion and a past time for me as I used it not only to explore my fascinations with game development, but as a source of entertainment, as I very much enjoyed myself while crafting and tweaking new systems and mechanics and watching them work.

Later, as I decided to tackle a solo dev project, I knew that this “playground” project would play a large role, not only in the amount of work already built up, but a demonstration of my passion I had towards similar game types.

Overview

The game could be separated into two main parts, combat in the field and building your mech in the garage. these two aspects each offered different experiences to the player, provided different challenges to it’s creation and had to tie together to affect each other.

Combat

When it comes to combat, I aimed to create a feel that was both close to the series that inspired me but also with some personal touches such as a larger arsenal of weapons that can be used as well as a more complex weapons system that offers more variety.

For movement, I tried to replicate a similar feel to that of armored core or Daemon X Machina, being much faster than that of modern day military equipment but still having a sense of clunkiness to it. With boosting playing a major part in the movement as well as some limited hover for aerial maneuvers.

The weapon system I created aims to allow for control over a vast amount of weaponry that the player can equip while also making players controls as simple to understand as possible, funneling the mass amount of available weaponry to a simpler control scheme.

All aspects of combat required careful tweaking to achieve the desired effect, the drag on a moving mech, the damage each weapon does, how much a missile tracks a target. The design required is a fun experience to me as well as coming up with new concepts to be delivered in game.

AI and Pathfinding

Then enemy in game, even stationary ones would need some of level of decision making, this could be as simple as looking towards a player and using the equipped gear. But I decided to kick things up a notch with some more complex decision making, fiving multiple weapon options to some enemies and setting them to be used at different engagement ranges.

As a baseline, all enemies will keep a list of targets within range that it has a lock on, this list can be used to select a main target, and fire most normal weapons, or to fire tracking weapons such as missiles.

Most mobile enemies when engaging into combat, will follow a surround pattern, attempting to choose a location close to the target and pathfinding there. Then engage using weapons that are set to be used at their optimal range.

Enemies that are part of a convoy will stick to the formation, traveling along the designated path, while using weapons when the target in within range.

The UI design for this project is very much also a learn as you go and experimenting experience for me, I attempted to present the complications of both designing and piloting a mech in a simpler and easy to understand way, making information clear to the player and using warning to draw their attention to where it is needed. Animations helped greatly with making everything a fluid experience, and added to the coolness factor in some cases such as the startup screen at the start of a mission.

Aside from the HUD display in a combat mission, both the main menu and garage uses UI animations to provide a better experience for the player. The garage especially required quite a bit of UI work, with different aspects requiring direct display to show the player what certain actions and parts meant, I attempted to once again simplify this by including icons where possible and i plan on adding some mouseover captions to further explain them for newer players.

Effects

Arkus is the first project I took on as a solo developer, inspired by mech games I love such as Armored Core or Daemen X Machina.

As a solo developer, all of the work of creating the game was completed by me, from system design, system coding, 3D modeling to UI design, enemy AI and sound design.

The experience was challenging, having to handle multiple aspects of game development and switching between all to make adjustments. However, It also provided a unique opportunity to learn in all the different aspects of game development and see how they fit together; I believe by having knowledge of different fields of game development can help not only with integrating them into a whole, but also with coming up with ideas.

Building

The loadout system attempts to give players the freedom to play how they want when in the field of combat. while loadout changing could be as simple as a different weapon, Personally I very much enjoy games that contains some more depth for build crafting and allow for play styles to be switched up to the player’s preference.

The mech that the player pilots is made up of multiple parts, and weapons on top of those parts, with each part being able to be switched out for different parts of the same type, this allows not only for each player’s mech to look visually different, but since each different part offers different attributes, this can drastically change how a mech feels to handle, move around the battle field and what weapons and gear are available to the player during missions.

Once the player has selected parts for their mech, prior to the start of a mission, the mech would need to be constructed from the selected parts, both visually as well as behind the scene, with the stats of the mech affecting how it will move around and interact with the battlefield, this was quite a challenge as things needed to be primed and initiated in certain order as to avoid conflicts and errors, with a system consisting of over a dozen parts and an error potentially crippling the game.

While unity did offer a robust in game path finding system in the form of Navmesh, it did have certain drawbacks and compatibility issues for my game, namely, while the enemies moved around using Navmesh, they were treated as part of the scenery, and would not interact with the Rigidbody system, meaning they will simple move along their calculated path regardless of what they bump into and isn’t able to be stopped or knocked around.

With a majority of the game using Rigidbody as a means of movement, this issue caused all Navmesh agents to not be able to interact via Rigidbody.

I created a script that will interface with the Navmesh system and calculate a path upon the existing Navmesh surface taking advantage of the pathfinding capabilities., The data for the path calculated is then fed to a rigid body based controller that moves the agent along the path using rigid body, thus allowing the agent to be interacted with by other agents using Rigidbody.

This solution takes advantage of the best of both sides, and with the script only recalculating the path every once in a while, this should also put less strain on the pathfinding system as opposed to a constant recalculating agent.

UI Design

For this project I decided upon a stylistic approach to provide both consistent visuals as well as keep workload per asset at a manage level, from the explosions to muzzle flares to the booster effects, most were built using Unity’s own particle system, which when correctly set can be used for a wide variety of different effects.

The explosion effects I designed to both be reminiscent of an anime style mecha explosion as well as make clear to the player the effect range of the explosion, and with some added sparks and smoke, it fits rather well into a chaotic battlefield.

Muzzle flare is a rather common scene in a game centered around modern or sci-fi combat, I wanted to make a distinction between the two major damage types in game of energy and physical bullets, and designed muzzle flares for both using different approaches. While the physical muzzle flares are more traditional, the energy muzzle flare I had no real reference, thus I imagined and designed around what an energy pulse or burst might look like.

Booster effects is here I did a bit more experimenting and imagining, with different boost systems not only providing a difference in stats to the mech, but also providing a different visual effect to the mech when boosts are used. I started with the default blue flame that I was rather familiar with, then branched out to some more special concepts that look visually different to indicate a difference in the boost system equipped.