Tumgik
topblokechase · 2 years
Text
Big Bertha Final Post Part 4: The End for Sure
After getting the mechanics up and running, I needed to get the menus working and the wave based gamplay working.
Unfortunately at this point I was making the game almost completely solo. I managed to get some sounds together for the gameplay, they turned out great. I am particularly proud of the missile reloaded sound I added at the request of another playtester. By speeding up a creaky door sound 2 or 3 times, it became a very convincing shell reload sound. I loved it and my playtester loved it too. I also didn't get any of the sprites I asked for (except for 2 edits), so I had to stick with what sprites i had. I unfortunatly have no experience with pixel art, and I didn't have the time do commit to making more myself. The menu screens I made turned out ok. The layout was solid but the visuals are obviously placeholders.
Regardless, I got the menus functional, and got the upgrade system working too. I made the decision to tone down the "fun" high attack speed, high movement speed gameplay to something deliberately sluggish. I wanted the upgrades to feel significant, so having the player be subpar while the waves were easy meant that once they invested a few upgrades into a catagory, they were rewarded with noticable improvements.
When creating the wave system I found another speedbump with GDevelop; there are few ways to do for loops easily when you want psuedo random results. I wanted to use a difficulty score to spawn different kinds of enemies in different numbers based on their difficulty. I had planned for each enemy type to be worth different amounts that would subtract from this value until it ran out and that would be the wave. This would have added variation between runs and made it more diverse. After a lot of trials, I unfortunately had to scrap the idea due to time constraints, and go with a simple increase in the quantity of enemies, not diversity.
Overall I think the game turned out good. The visuals are ok, but what really shines is the gameplay. I find it to be very satisfying and has a lot of replay factor thanks to the upgrade system. At one point I actually just booted up the game and played it for about an hour without making any changes or edits at all. I was simply enjoying the gameplay, which I think is a good sign this game has potential. Here is the most recent footage I have of the game, I hope you enjoy:
(Excuse the lazy gameplay but I wanted to show off everything a little)
0 notes
topblokechase · 2 years
Text
Big Bertha Final Post Part 2: Electric Boogaloo
Heres what I ended up with:
Overall I was very happy with this result. Despit only having 1 target to practice on, I could feel the gamplay felt good, it really felt like I was in a dogfight. The small explosions on a hit were satisfying as feedback, and while the missile was a little hard to hit, it hit hard and felt so good when it landed. Something I realised during this period is that I needed a way to track how much health the enemy had, so I decided enemy health bars were on my list too. See the next point for my first playtest session...
0 notes
topblokechase · 2 years
Text
Big Bertha Final Update Part 3: Return of the King
At this point I wanted to get an outsiders perspective. I liked the game but the real test is if others liked it. Turns out, they liked i too (what a relief)! I had them play with me as I made a few tweaks and after a while I decided just to have a little fun. I upped the attack speed up to 11, and I multiplied health by 10!!! Turns out this was incredibly fun, even more fun than the original. Both my playtester and I agreed that seeing 5 or 6 shots on the enemy (as well as the player) was so very very satisfying, and intensified the dogfighter feel. If I wasn't so busy with this assignment and others, and we had more time, I considered reskining the game as WW2 Ace Pilots instead. Here's what I was playing around with (I'd like to say my missile aim is always like this but I'd be lying)
0 notes
topblokechase · 2 years
Text
Big Bertha Final Update Part 1
Getting back into it with assignment 3, this time in a group. For this assignment we needed to create a game, playetest it, then write a playtesting report.
The first thing we did was compare notes and decide our game concept. Thankfully, all of us wanted to make an asteroids game. While my game was the most mechanically complete, another team member had a much clearer concept and much better (like a lot better) sprites. So we decided to combine the two, merge my mechanics with the game concept and visuals of the other team member, here is the one page we came up with:
Tumblr media
With a solid direction, decent sprites, and a good deal of excitement I got to work. Being the most experience with programming, and the most excited about creating a game I toopk on the role of main programmer, in charge of making the game in GDevelop, while the others took over sound design and visual design.
The first thing I did was set myself a series of goals that I wanted to acheive so that by the end of my list I'd have a fully functioning game. My first goal was to implement movement for the player, heres what I ended up with:
The movement was smoothe, it felt responsive, and the "slippery" feel felt great to play around with. Implementing this was more difficult than I expected in GDevelop. I had to utilise several processes adding or subtracting permanant forces to the player. Firstly a force is added forwards when W is pressed, nice and simple. But once the player reaches their max speed they needed to stop accelerating. What I found worked best was adding the acceleration to the player anyway, but subtracting the difference from max speed immediately after. After that I needed to add friction. This ended up being somewhat simple, but figuring out how to make it feel good took a lot of trial and error. As long as the player is moving, a reverse force is added equal to a percentage of the players current speed. I also found that adding it after acceleration meant the player never truly got to max speed, so I had to calculate friction first.
My next task was to add weaponry to the player, a main gun laser, and a secondary fire missile. Shooting the lasers and missile was simple enough, but after resizing they would spawn off centre based on the orientation of the player. To fix this I had to add additional steps after spawning and resizing to then reposition them at the gun. I found this to be an annoying element of GDevelop, because of it's simplicity, doing seaminly simple tasks can often become bulky repetative functions. Something I am really proud of was the missile. To add a sense of realism, I gave them very slow initial velocities with a ramping acceleration. This felt awesome to use, and even better when you hit. Without any sprites for smoke, I reused small explosions as a missile trail and the effect looked amazing, I couldn't wait to get actual smoke sprites to replace them.
Next on the list was geting asteroids and enemies functional. Enemies were pretty simple, just copying the player functions with a couple tweaks. Asteroids were even simpler, just needed to spawn them in and give them speed and collisions. Something that was rather difficult to program in GDevelop was asteroid avoidance for enemies. It worked well enough when there was only 1 of each, but once there were several objects of both kinds things became complicated. Most of the issues stemed from GDevelops selection system. Getting 1 object to behave uniquely against all the other same objects made the programming very bulky and repetative. This project really highlighted the downfalls of a simplistic program like GDevelop. See the next part for the results...
0 notes
topblokechase · 2 years
Text
Update to my elevator pitch
As I've been developing this platformer and experimenting with GDevelop, my vision of the game has changed. I'd also like to more formally define what my game is and who it is for.
Gameplay: The gameplay will be fluid and quick. The player will need ot use the mechanics to traverse paltforms to collect coins/keys to unlock the exit and win the level.
The fun: The fluid movement will allow the palyer to deftly traverse the various platforms, avoiding or stomping on enemies, and getting collectibles to achieve otherwise impossible jumps. solving difficult puzzles and doing it faster than anyone else gives the player their sense of achievement and prestige.
Audience: Everyone: ages 7+
Genre: Puzzle-platformer
Setting: Fun and goofy alien jumping around on a strange planet avoiding slimes and monsters to escape
The name of the game: The alien main character's name is Moodle. Working title for the platformer is currently "Moodle's Misadventures"
0 notes
topblokechase · 2 years
Text
Tumblr media
A quick snippet of some level design and decorating I've been doing. I am liking the subtle differences between the platforms and background I have for the ground blocks vs the sky blocks.
I think having three distinct areas should be a good amount of puzzles for the player to complete this level. I plan on using keys at the end of each area as the objectives, which will unlock the exit.
The next thing I'll be working on is major level and puzzle design, building out the world and defining the three areas.
0 notes
topblokechase · 2 years
Text
Here it is. I've added some cloud pickup's that give the player a boost as well as another air jump. This will allow for some interesting level design options that take the player to the sky! While testing it I noticed that the plain background colour really made it difficult to see how the player was moving, so I've added a bunch of background clouds to make the scene a little more interesting and give the player some references for movement.
0 notes
topblokechase · 2 years
Text
I've been working on collisions with enemies and I've decided not to go for a health system but to simply rest the player to the start. All of the enemies and puzzles will automatically reset with time so having the player restart the level will be the only punishment for failure. As you can see I've added a nifty "glitchy" respawn mechanic as well. I quite like the effect and it makes failure very obviouse to the player.
This will take pressure off less proficient players. I think I will add a game timer to drive the player to always improve.
Next update will be very soon and I'll be working on another mechanic that should open up level design significantly :)
0 notes
topblokechase · 2 years
Text
I've implemented a jump reset for the player when they destroy an enemy. I am using a subtle glow effect to indicate when a double jump is available. This will make it easy for the player to tell when they have an air jump available. I had some trouble timing the events to both make the player jump when the enemy is destroyed and enabling an air jump. I ended up adding a very small delay between the launch from destroying the enemy and enabling another jump. The timing is very small so should not be noticable to the player. As I'm writing this I realise I could just make the launch from destroying the enemy be just a verticle force not a simulated jump. I try later and see if it works well.
I also set up a respawn system for the slimes (should work with any collectible though). I wanted a way for each puzzle to be resetable in case the player fails to make a jump that relies on getting resets from enemies/collectibles. Currently it is set for a respawn time of 5 seconds, which should be long enough not to interfere with any puzzles, but short enough that if the player fails immediately it doesn't take too long to reset. I was struggling to delete and respawn the slime in a way that is both robust and adaptable to any situation, so what I did was just turn it invisible. While invisible the player can't interact with it but it still follows its pathing and ensures that any puzzles I make in the future that require synchronised movements will never be broken by enemies being respawned out of time.
I'm very excited to get these mechanics working. Once I get mechanics working in a reliable and expandable way, level design will be as easy as placing objects in the scene.
I'm having tonnes of fun messing with these mechanics and I can't wait to have a working game!
See you in the next post <3
0 notes
topblokechase · 2 years
Text
My first game - My vision
Hello again :)
So I've been playing around in GDevelop to try and make a platformer game. I've never made a platformer before so I'm going to be testing a whole bunch of different ideas and features to try and get my vision of the game to come to life!
This is what I want my game to be: - Nice fluid movement that feels responsive and quick. I want my game to feel fast paced and clean. I don't want it to feel "floaty". - A dash that gives you a double jump if you hit an enemy. I think this will give the paltformer a well needed sense of skill expression that allows for some potentially interesting level designs. - Large level that has multiple objectives to complete before it can be finished. This gives the player reason to explore the entire level with multiple different challenges. Helps to give the level a sense of expansiveness. - Easy to see effects to show when the player can use their dash or jump. Clarity on the player model makes it simple for the player to tell when their abilities are ready to use without the need for a HUD.
Wish me luck, I'm going to be testing all these features and designing my ideal level to showcase the different features. I'll be posting my progress as I test everything right here on this blog.
0 notes
topblokechase · 2 years
Text
About Me
Hello 👋 I'm Chase and I'm currently learning game design at QUT! Currently I'm working with GDevelop to create a bunch of different games.
I've always loved games (a bit too much sometimes) and have been super excited to learn how to make them myself. My favourite types of games are simmulation games (Factorio, satisfactory, Shapez), and 4X grand strategy games (spent waaaay too much time in Stellaris).
I hope that in my current course I can get a good understanding of how games are made, and the development process. Along the way I hope to make a decent game that is fun to play as well 😆
1 note · View note