A megaman-inspired classic platformer project I have been working on and off, for the last 2 years. It's been on hiatus for the past couple months due to college but I'm planning to start developing it again while this time documenting its progress.
I was a little bit confused on where to start the devlog and I thought devlogs where gonna be written through blog posts so I sort of made one introducing both myself and this project. So I’ll just reiterate some of the stuff I wrote there, and here is a link to the post if you want to read it.
Game Description
You play as the titular, Light Speed Gunner, and hunt down different mercenaries and criminals for bounty in a classic arcade platformer gameplay.
Title screen of the game for now, I’m planning on improving it
Gameplay
The gameplay structure is basically similar to Megaman where you select a level and each one has their own unique bosses.
Level select of the game
4 different levels of the game I made so far
Tools used
The project so far is still rough around the edges, I planned it to initially only have 4 levels since I’m not confident I can do more whilst also dealing with college and the levels are still a bit short but here are a couple things that I’ve made so far:
I naively thought I could finish this in 1-2 years due to its small scale but even the smallest things in game development can take a lot of time. Here’s a couple of things that I’ve still yet to add in my project:
So I think that’s all for the current status of the game and the future plans, I aim to continuously write my updates here in this thread until I finish the project. Comments and feedbacks are appreciated!
I made some progress on the level progression and the lives system today.
I used PlayerPrefs (although I’ve read that PlayerPrefs might not be the optimal way to save player data) to keep track of both of them. Now, the level select screen shows if the player has already completed the level or not and the number of lives persist after a level completion. However, the player can still select the completed levels, I’ve still yet to fix that.
I will also be recording my progress and also to show some gameplay footage, however it’s already quite late so I might just do that tomorrow.
Was a bit busy with other stuff today but as promised I managed to record some gameplay to show the 4 levels I made. I also like to note that unfortunately, the recordings have choppy framerate particularly in moments where alot of stuff’s happening and that’s on me cause my laptop’s not that great with screen recordings.
So yeah here they are:
I also had an idea on how to prevent the player from selecting completed levels. I have the function and conditions written already but I think I’ll test and implement it tomorrow, since I have to wake up early for tomorrow. I’ll just update if it works or not.
Just another small progress today, the code I made yesterday didn’t work initially but it only needed a small few changes to work out just fine. So now, the player cannot select a completed level and I made sure to add an audio cue to let them know it cannot be selected and I made another sound effect too for changing the screen. I think it doesn’t sound quite right to me yet so it could change but I think it won’t be as noticeable if there was a background music.
I still gotta learn how to make a chiptune sound of an engine starting for the select animation and the next thing I’m planning to work on is improving the life system since for now the player can only have 3 maximum lives which isn’t gonna help with the difficulty. So I’m thinking I’ll revamp the life system then put some 1-ups in the levels and then once those two work well enough, I can then start with the points system.
Just a quick update, I have been working sporadically on the game for the past few days. I started with the implementation of the 1-ups. It wasn’t really that complicated so it didn’t took me a bit too long
Most of what I did was revamping the code of the health system for the enemy. Before, the value of the life of the enemy and the method that reduces their life were all in the same script which led to the player projectile script looking like this:
every time the projectile hits a gameobject it has to go through multiple ifs to check if the gameobject has a certain script
so I created a separate script for the life management of the enemies and updated all the different enemies and I went through all 4 levels again to make sure they all worked and thankfully the projectile code has now been simplified to this:
After updating the enemy health system. I began the implementation of the score system. For now, there’s a working score system but it doesn’t really persist throughout the scenes even though I’m using singleton for the score manager. I’ll still have to review the code again and maybe watch a couple more videos if I’m actually doing it right. Here’s what the score system looks so far:
So yeah that’s all for my update, once I get the points system working. I’ll probably work on a pause UI and the transitions between screens to finalize the flow of the game.
Just a small update, I managed to get the points system persisting throughout scenes
and I also started working on the pause UI, although the player animation still changes so I might have to update the player script.
I’ve still yet to add the transitions between most of the scenes and then I’ll probably work on the music or the game settings.
I’ve been working on the arcade intro for the last portion of this month. I was planning on working on the music or the game settings but then I’ve ended up enjoying and getting hooked to the process of creating the intro since it has been a while since I’ve drawn and animated so I just decided to dedicate my efforts to the intro.
Anyways, it’s still not finish, some background art still has to be made but most of it is already done. Here’s a video of my work on the intro so far:
Hello again, it’s been a while. As usual I’ve been preoccupied with college stuff but now that the semester and my overall college life is ending, I’ve been slowly updating the game bit by bit since my last post. Here is a list of the changes:
I added some animation in the intro so the player doesn’t just blink right in
Modified some of the backgrounds I wasn’t satisfied with.
I ended up composing the music as well and all of the scenes I finished already has an audio. I also finally learned and added the options menu where the user can modify the music and sound effects levels. I created an AudioManager object that persists between scenes.
That’s pretty much it, there are only a couple more things left I need to do:
maybe add decorations or items on the walls, add doors, and modify the overall structure.
after those, I think the first build should be ready.
After a couple years of on and off development, the first build is finally done! It’s still a bit rough though and there are some little things I still want to add but I think it’s already solid. You can download the game in the game page and feel free to leave any comments or recommendations about the game!
After participating a couple game jams, I learned some critical mistakes I made in the previous build which is mainly the screen sizes. Even if the aspect ratio is the same, due to my canvas setting being set to Constant Pixel Size the UI is messed up in every other screen sizes besides my own. So this update is mainly fixing that error and also having the WebGL build so the game can finally run on the browser. One last change I like to note is the camera behavior, before the camera pans up and down if the player aims up and down respectively. Now the camera only pans if you aim down, since there are sections of the game where that’s needed while panning up barely makes any difference.