Project Going Commando Devlog
Project Going Commando is a small 2D shoot em' up platformer inspired by games like Mega Man 2 and Ratchet & Clank 2. I'm making a devlog in order to document my progress and give others the rundown on how I came to develop this prototype.
​
The purpose of this prototype is to show others that I can come up with a game concept, plan out all the tasks that I need to complete and implement the desired mechanics in-engine so that if any potential employees want to join my indie game company, they can see that the project I'm working is actually feasible.
16/11/25 - Planning & Programming

Planner In MS Teams
As of writing this entry, I've been quite swamped with the various projects that I've tasked to work on and so with this project I mapped out everything that needed to be done for the prototype. The tasks themselves have been tagged with different labels such as Programming, Design, Art, etc. I've also given myself due dates to work to so that I can keep myself organized while I balance out the other projects that I have to work on.

Basic Area

Player Movement Code
I've added a player movement script and small, basic area for the character to move around in. ​It was a bit difficult at first because I haven't used Unity in a good while, which makes learning how to implement scripts an absolute nightmare. Thankfully there's plenty of resources out there that can teach me how Unity 6 works with it's new Input System.
​
The movement works fine but I want to add a function to stop the character from clinging to the walls when the player jumps towards it. It's a Sunday so I won't do too much work but tomorrow I'll be adding significant changes and updates.
21/11/25 - Aiming Reticule & Physics Fix

Physic Material

Aiming Reticule Sprite Replacing Mouse
I've fixed an issue in which the player would get stuck on walls if they jumped towards them by adding a physics material to the box collider component and setting the friction to 0. This kind of thing always happens when making 2D platformers in Unity so I'm glad there's a simple function to remedy it without having to hardcode 0 friction on walls to the player.
​
I've also added an aiming reticule that follows the mouse because I'm thinking of making my prototype into a twin-shooter type game though this may change halfway through development if I can figure out a way to draw trajectory lines to show the player where their projectiles are going to land.
21/11/25 - Aiming Line

Aim Line
An aiming line has been added to the game using Unity's Line Renderer component. I'm thinking of changing this as I want the gun's to have their own specific trajectory lines.
21/11/25 - Gun Sprite & Fixed Ground Check

Rotating Gun

Contact Filters

I've added in a gun sprite that rotates on a fixed point while following the mouse. It'll make more sense once I add the trajectory lines and get controller input working properly. I also fixed an issue I was having with my ground check system in which the player could infinitely jump upwards. I fixed it by replacing my raycast ground check with contact filters. They allow you precisely control which contact results get returned which makes it more convenient to use than raycast lines.
29/11/25 - Shooting & Scriptable Objects


Shooting Mechanic Working In Both Directions
I've now added in a shooting mechanic into the prototype as well as two scriptable objects that have their own unique shot type properties, range and cooldowns. By utilizing scriptable objects, I can now have universal scripts that handle aiming, shooting and bullet behaviour set aside while I work on the unique ways each weapon will fire.
​
I plan on fine-tuning the rapid-fire weapon to make sure that it fires at full-auto when the button is held down and that the bullets ricochet off the ground and walls. It'll probably need it's own animated aim line too but that'll be added once I get the actual mechanics implemented.
03/12/25 - Ricochet Finally Works!!!


Ricocheting Bullets Before & After w/ Wall Pierce Fix

Piercing Bullets

Wall Checker Collider

Semi-auto Boolean
The rapid-fire weapon finally works the way I want it too now. I've made it so that the bullets bounce off the walls a certain number of times before they destroy themselves and if they don't hit any walls then they'll destroy themselves after a couple of seconds.
​
I had a couple issues at the start trying to get this to work in that I initially wanted the bullets to ricochet at a 60 degree angle but this only made the collisions look very awkward and unrealistic even for a 2D game.
​
I fixed it by using Vector2.Reflect which is just a simpler way of getting proper ricocheting bullet physics to work in Unity2D. As always it's better to use what's there rather than trying to reinvent the wheel.
​
I also had an issue in which the bullets would fire through walls if the player was firing the gun too close to the ground or walls. I fixed this by adding a trigger collider to the bullet spawn point that would check if it was touching the ground colliders and if it was then the gun wouldn't fire at all. It's not the best fix but for the sake of it being a prototype, I'll just work with it for now.
​
The rapid-fire and cluster bomb should fire in full-auto and semi-auto mode respectively depending on if the 'Is Semi-Auto' Boolean is ticked in the Inspector.
I can't put up videos of that working because I need to add another bullet type into the game and it should be a lot easier to implement the cluster bomb effect than the ricocheting bullets.
​
But yeah next thing I want to add now is the cluster bomb mechanic and a way to scroll between the two weapons.
04/12/25 - Range Value Works Now

Close-Range

Mid-Range

Range Value
So one thing I need to do before I get the cluster bomb and weapon scroll mechanics working is to make 'Range' value in my scriptable objects actually do something. Weapons need to have specific range values so that you can't for example, hit a group of enemies with a grenade launcher from miles and miles away.
I've now implemented a system in which each bullet will have its own max distance value, this value is dependant on what you set the range to on the bullet's scriptable object weapon. If the bullet travels past its max distance then it destroys itself.
​
In the videos above you can see how far the bullet's max distance is affected by the range value setting. Now onto the cluster bomb and weapon scroll!
07/12/25 - Cluster Bomb Finally Works!

Cluster Bomb In Action
The cluster bomb now works in my game! It's basically working the exact same way as the Bouncer weapon from Ratchet & Clank: Going Commando in that it creates a large payload which explodes then spawns mini-bomblets that bounce for a couple seconds before exploding again. I've color-coded the sprites so it's easy for me and other developers to understand what's going on.
I'm super tired as of writing this so I'll continue on with the weapon scroll next time. After that I'll need to update the planner and then start work on adding the final weapon as well as controller support and a weapon wheel.
11/12/25 - Charge Shotgun & Weapon System Rework
So the charge shotgun and weapon system rework has finally been done. In order to talk about the latest addition to the player's arsenal, I first have to talk about why I had to change up my weapon system so that I could add the new shotgun.
​​
I originally designed my system in way that had all the scriptable objects (SO) using the Weapon Controller script for aiming and shooting. Each SO would use the Shooting function which just created a bullet prefab from the bullet spawn point as seen in the two screenshots below.

Shooting Function In Weapon Controller Script

Bouncer Weapon Using The Shooting Function From Weapon Controller
The main problem with trying to get the shotgun working was that I wanted it to have two types of firing outputs. If you tap-fired the shotgun it was supposed to shoot out a small bullet spread consisting of 3 bullets but if you fully charged it then you had 6 bullets that would spawn out. It ended up not working due to the fact that there were way too many conditions for the Weapon Controller script to account for and so nothing would happen when you used the shotgun.
I was thinking of just leaving it as a semi-auto gun that would fire out bullets in a spread but I decided against it and went with line renderers instead because normal bullets are too boring. Taking further inspiration from Ratchet & Clank: Going Commando, I made it so that the shotgun fires out line renderers meant to simulate streaks of lightning. I've also added a weapon scroll function so anytime I want to add a new weapon to play with I can just slap it into the array and have a grand ol' time scrolling away.

Blitz Cannon & Weapon Scroll

Great Visual Effect From R&C:GC

Weapons Array Table
12/12/25 - Charge Shotgun Works As Intended
After banging my head against the wall for hours on end, I finally got my charge shotgun to work as intended. It no longer fires full blast on tap-fire. Now the player must charge the weapon to 100% before it fires the true payload. If it's tap-fired then the shot comes out a different color and at 75% of its maximum range.
​
This now works because I reworked my Weapon Data and Weapon Controller scripts to accommodate two different types of firing methods. For weapons like the rapid fire and cluster bomb, they'll both use the normal firing method but for the charge shotgun it uses a new method I added to Weapon Data which basically tells the Weapon Controller that it wants to do its own thing instead of going with the crowd.

New Firing Method

The "Its Own Thing" In Question
Of course with the new charge mechanic being implemented in engine, I wanted to add a way for the player to tell when the shotgun is fully charged. I initially wanted to go for a bar that would fill up above the player's head but that proved to be vexing to add so I went with Text Mesh Pro instead because it's just more reliable. The text will be yellow when the shotgun is below 100%, it will then turn red when you hit 100% and the text will say "FULL CHARGE!".

New Blitz Cannon In Action
It's coming up to the deadline soon so I'll focus on adding some final touches before wrapping it up in a nice build for other people to test out and give feedback. I'll just add a control guide and then upload everything because I'm so very very tired as of writing this.
24/03/26 - New Movement System Is In The Works!
It's been a while since the last update mainly due to life getting in the way but I'm back and I've began some new work in updating the movement system!
The old one is very bad because it doesn't really do much except let the player jump.​There's even a bug in which the player can infinitely jump if they hug the wall.
The new system I'm making should cut that out entirely along with providing smooth movement along the ground and tight air controls that feel nice to play with!
​
In the screenshot below I've detailed some of the parameters the player character will have such as acceleration, jump height and coyote time.
Hopefully I can continue with adding new updates to the game and have something playable before summer.

Player Character Parameters
