Devlog - Coming back from hell
Initial Idea
This game was inspired mainly from Dynomite Deluxe! A childhood game from the golden age of Popcap Games, I kind of wish bubble shooters were more evolved and has a nice real time play to it similar to Tetris. Not having made a grid game before, or a more meaty game of this level, I took up the challenge. It needed to feel good and have a good pace, but I wanted it to be more casual as well for my first game.
How did I start?
I didn't really know what are my challenges yet nor on what to change/add to the game itself. So I decided to start development immediately anyways until i hit a road stop. I recognized the MVP of the game would had been the grid itself, and the launcher. In addition to that, I wanted the combo system which swapped the current ammo into a bomb which gave the game a distinctiveness for me.
Challenges
I had a variety of different challenges from technical all the way to just the motivation.
- Creating the Grid
- Making the shape of the grid placements was pretty important to get right. Unfortunately, I only knew how to make square grids at the time. So I figured the game would almost look identical if i just offset half the x cell size every second row.
- The only cons out of this was empty gaps in between rows which i could cover up by making the sprite slightly larger.
- In the future i do plan to change it into hex grids as i think the distance between rows would be then nearer making it easier. Plus it would look nicer.
- Debug scripts
- Late, but i would had saved a lot of time in some of these bugs if i created my own logger and debugging scripts.
- Note to my future self for sure.
- Creating The Guide Line
- Creating the guide line to show collision and the reflection of the projectile was another challenge. Making the line reflect in different directions was easy with unity's vector reflect function. However, drawing an accurate line reflections with unity's line renderer component was difficulty as it draw's square meshes not multiple lines. https://answers.unity.com/questions/919428/linerenderer-just-showing-awful-resul...
- In the end, I had to pool spawn multiple Line Renderer dynamically to draw each line separately to get a more accurate result.
- In the future i plan to use Freya's Shapes package to solve this as it has better looking dotted lines.
- Spawning new lines of orb
- I took the longest to implement this as I was very conflicted in how to approach this. The initial implementation of the grid was static 2D arrays that couldn't expand. I figured maybe I could do some sort of re-arranging teleportation or shifting the grid positions or making vertical List<GridObject> instead.
- In the end, the easiest solution was making a List of List<GridObject>. This allowed me to keep on creating new rows as they spawn.
- One could argue that i didn't need such implementation, but I had to keep in mind that the grid could be pushed backwards, shrink and enlarge as part of it's game play. This was to me the easiest way.
- I do suspect this has some bad memory usage as I did not dispose of them at any given time. So i plan to make this into pools as well.
- Projectiles Attaching
- For the projectiles to attach and then calculate if it matched was a bit confusing.
- After some researching, I found using the double coordinate system suggested by RedBlobGames proved to be useful and flexible for future implementations.
- Orb attaching, out of bounds
- This bug is probably the hardest for me to debug and figure how to fix. As projectiles would merge inside of other orbs. Projectiles also got attached outside of the grid bounds. And sometimes it would be stuck in mid air.
- I added multiple fixes for this.
- Valid grid checks, and adjusting the walls to prevent the projectiles was attaching outside the zones.
- Making a circle cast on each frame to determine if it was colliding on the next frame.
- Adding a distance travel clamp before moving.
- This seemed to be better, however people who are using Macs were still experiencing said bugs.
- I believe i have to also test rubber banding frame rates as well. And a fix for this was to circle cast X times between distance of the collision and the projectile. This will make the attaching more accurate but add more processing.
- Over scoped abilities system and game difficulty
- At some point of development I felt the game needed more oomph as I did not have the power ups or special drops like Dynomite. I ended up building multiple systems; (this was a bad idea at the time)
- Random shaking orbs on the grid giving the user random abilities.
- Rogue-like level up ability system.
- Multiple gun abilities.
- Having the game mode to be endless was also challenging to balance. As the game got harder, the player couldn't achieve the combos anymore which was the most satisfying part.
- After a long overview. I realize i was adding more work not only for myself but the art side as well. More bugs was being exposed. more animations and UI were required. The difficulty was getting harder to balance and confusing. Its a mess.
- So in the end, with what I had already developed, I made huge changes and cut backs.
- The game was no longer endless. Survive for 10 minutes instead.
- Stuck with only 3 demon orbs color
- Game difficulty was based on the grid size, and speed.
- User has access to 3 abilities which was slowly introduced as the player level up
- The game was no longer endless. Survive for 10 minutes instead.
- This improved the game significantly.
- With no leader board, there was no reason the player to play an endless game. Surviving 10 minute gave the player a reason to stick around.
- Was easier to balance as there was less randomness.
- Easier to achieve combos with just 3 color orbs.
- More curated experience for a better 10 minute experience.
- Less work for artist, less work for coder.
- Could wrap up things earlier for release and feedback.
- At some point of development I felt the game needed more oomph as I did not have the power ups or special drops like Dynomite. I ended up building multiple systems; (this was a bad idea at the time)
- Art Assets
- Unfortunately, the art took longer than expected to be produced. I did not give a hard deadline, and I ended up letting the art bottleneck the development of the game.
- It went through a redesign several times. But I did not give any milestones or deadlines.
- A lot of the assets towards the end of the game were not required and could had been simpler colors to make the game props contrast more.
- Overall, the game was very pretty towards the end. But there is much room for improvement.
- To solve the time constraint, I had to cut many planned out assets. Even the 5 orbs we planned had became only 3.
- Losing Motivation
- To be honest I had lost motivation countless times in the project. At the points where i had technical struggles. At points where it was difficult to progress without the art assets. When the project had ran overtime it's original deadline of 2 months. When many bugs just keep flooding in. Even when I had just bad days it was hard to go on.
- Luckily every-time i got back up and planned to finish again.
- I have to learn to get over things quicker in the future. And any timeline going out of deviation require immediate steering before the entire thing goes under.
Early Builds (Evolution)
Future Plans
- Depending on the outcome of the project, I might make a story mode and release it on mobile. But it is what it is for now.
- Other than that, I'm going to continue maintaining the game for bugs and performance issues.
Overall, I'm quite satisfied with the end results. It's definitely a step up project from my other games. I also want to give thanks to @catimus for making these absolute beast of assets, also apologies on not setting expectations properly. I also give much thanks to my friends that have supported me in my endeavors. I ready to move on to a new project, and I'm excited for the next one.
Files
Get Work Like Hell
Work Like Hell
Survive 10 minutes in the bubble shooter from hell!
Status | Released |
Authors | napmi, CatimusPrime |
Genre | Puzzle |
Tags | bubble-shooter, Cartoon, Casual, Endless, Funny, Unity |
Leave a comment
Log in with itch.io to leave a comment.