I am working on making a comedy/parody game called “+1 jump to save grandma from heaven simulator.”
My brother and I have built a community around games that are able to be completed.
I have been pretty hands-off with these games - my brother has taken on the brunt of the work. But now, I am building an entire game (mostly) from zero.
Why Roblox?
Roblox has a huge library of assets readily available to drop in, handles a lot of the difficult stuff (character controller) for me, and makes monetization easy.
I started working on the game in the beginning of December, and have been taking somewhat frequent screenshots. I will follow up this post with some screenshots and descriptions of what I’ve been working on.
The core “gameplay loop” of the games I’m parodying is literally: every second your Character’s Jump Power will increment by 1. Over time, you can spend currency to improve that.
My initial plan was to copy their games exactly, but make all of their microtransactions free/half price. Just to dunk on them, basically.
So this first image is me testing character jump power and applying Brick height as text on top of the brick to see how tall it is.
After playing with that a little bit, I thought, “well I could probably generate these towers on the fly with a script.” and so I wrote a script that takes a brick, clones it, resizes it, then moves it.
I was also playing with brick colors.
That was the point where I was struck with the idea: I make a “+1 Jump” game, but I make it actually fun to play, with procedural generation and a semi-competitive element.
The gameplay loop is: a level is generated using a series of constraints - no 2 generations are the same, and levels can be distinctive based on these constraints.
I won’t get too far into how it works, but essentially I have tables with values like “MAX_DEPTH” and “MIN_DEPTH” and just choose a value between them. I then iterate through that a few hundred times to create a level.
This is a video after decoupling the generation from runtime.
One of my main goals with this game is to set it apart from other games on Roblox. Most “games” on the platform are glorified clickers built to maximize monetization and time spent in game.
So, I have allowed myself the luxury of putting tons of lipstick on this pig. One of the first things: an intro/start screen. This is the first iteration of that.
I AI generated an anime girl to be the shopkeeper for my micro-transaction shop.
This is another example of the polish that I’m striving for: instead of a faceless purchase menu, I’m designing an entire character with her own theme and voice acting to be a shopkeeper.
Also, the music is not bad and is in Roblox’s library. Trumps anything I could find royalty free.
This is the first playable version of the game before I did the first major code refactor (that was yesterday… and it was a nightmare.)
You can see the first full implementation of the start screen. It starts white, then fades to black with white text. I thought that would look cool: it didn’t.
You can see I also added (and forgot to mention) collectibles. The main currency is cookies, you can pickup cans of beans for a jump power boost, and you can slip on bananas. There are also trampolines!
Implementing this required me to refactor basically everything in the game, which SUCKED. But it was worth it, because everything is significantly less buggy now.
This intro scene is a mock version of the games I’m parodying. They look very similar to this, with the rainbow bricks and ads for micro-transactions and “rebirths” everywhere.
Yes, I do watch Rick and Morty. Sorry in advance.
File too big for upload, here’s a link (thanks Linode!):
Just tested the game in multiplayer - 400 ping.
Reason?
Poor server performance.
I diagnosed and found that the reason is because each collectible has a script that is waiting for a “Touch” event. Hundreds, if not thousands of collectibles are running this script simultaneously.
My solution is to instead move the Touch event to the player, and then see what the player touches. This will hopefully result in 6 scripts looking for touch events, rather than 600.
Made the stats more animated. Their color and size are adjusted relative to a “maximum” value (11 for jump power and 750 for coins)
Basically, as the number gets closer to the “max” it changes Hue and Size.
For color, I just set and HSV value, change the hue based on amount added, and change the saturation randomly between 0.3 and 0.9
Oh yeah, and to top it off I made the colors gradients, so I had to learn how to generate those with code. Wasn’t too bad and I think the result was worth the effort.
so like a mix between a tower and an obby just wonder if you have plenty of traps or areas where you can actually fall…that’s what makes some of the harder towers so…well not frustrating but like you wanna be really careful.
maybe since using a tramp is seen as trying to get ahead it could be 50-50 shot that the tramp boosts you or makes you OOF? just a thought is all.
I approve of your currency model. Very good job so far
I’m going light on punishment so when people fall off they just get teleported to the start so they don’t have to wait to respawn. There are bananas to slip on though!
Random gunshot is part of the starting screen. I’m still iffy on using it because it might get me in trouble on console, but I thought it was funny and impactful - it’s pretending to be dramatic.