Bounce Canyon has recieved an Android app on Google Play. Check it out!
Hi! I make video games, I think.
Joined on 4/14/13
Posted by bluswimmer - November 17th, 2020
It's been a couple days since I first released Glide. As of now, it currently sits as the highest rated game I've made to date (3.41 vs. Bounce Canyon's 3.35). Even though it wasn't frontpaged like Bounce Canyon was, I'd say the response to it has been pretty strong. And I'm glad it has! The funny thing is, Glide could have been a completely different game.
Development started around a month ago. About a month prior I had finished development of my previous game, Froggy Adventure, which I had been working on for close to half a year. I was pretty burned out, so I wanted to make something pretty simple for my next game. My idea? A Tiny Wings-esque racing game.
Thus, the hills. It took a fair amount of trial and error, but eventually I had a nice algorithm to generate a nice, hilly terrain in Pico-8.
However, I quickly ran into a problem: I suddenly remembered that Tiny Wings already had a multiplayer racing mode. I didn't just want to make a worse Tiny Wings, so I instead tried to come up with ways to utilize the new hill algorithm in a game.
One such idea I had was a one-button game where the hills were instead the ceiling, and you used a whip to swing around underneath. However, I became inspired by the "up-down" nature of the hills to experiment with some sort of gliding mechanic. Thus, Glide was born.
From there things were mostly uneventful. I opted to keep the minimalist style of the demo, as I felt the game needed clarity for which direction the glider was going in. Most of the development time at this point was about fine-tuning player physics and controls. The physics are probably what I'm most proud of- there's a lot of nuance to how the player controls, and it's very fun to zip through a tight area.
The movement actually directly inspired the second gamemode, Sprint. It felt fun to go fast, so the natural step to me was to introduce a mode solely about going fast. As a small aside, the difficulty in this mode actually ramps up faster than it does in Endless. The gap between the floor and the ceiling is as follows for Endless:
flr(80 - sqrt(12*hill_count))
And for Sprint:
flr(80 - sqrt(20*(hill_count+1)))
The music in the game was loosely inspired by Bomberman Hero's "Redial," though frankly I'm not a very good musician, so I don't think I came close to matching the style I wanted for the game. That said, some people have said that they liked the music, so maybe I didn't do too bad.
And with that, I don't really have much else to say about this game. If you'd like to catch up more on the games that I make, feel free to follow me on my Twitter, where I post a lot more.
Posted by bluswimmer - June 21st, 2020
I am still very hard at work on the Frog game that was posted a few months ago. As of now, I estimate that the game is around 70% complete; I want to have nine levels, and I've designed six so far. You can check out new gameplay footage here, which demonstrates a lot of the new features I've added since the last update, like sliding, enemies, and more!
This has been by far my most ambitious project to date, and I can't wait to share it with all of you.
Posted by bluswimmer - January 18th, 2020
Today I'd like to announce that I'll be participating in Weekly Game Jam 132! The theme this week is "Deep Dive". I'm going to be creating something of a proof of concept; not really a polished game by any stretch of the imagination.
The game is called "Daily Dive". If you think it looks at all similar to Bounce Canyon, then you're completely correct! It reuses a lot of code and assets from the game, like the canyon generation and the font. Ultimately it's probably going to be a hastily put together game with a mildly interesting idea.
The game is a literal "race to the bottom", as you'll be diving down another canyon, trying to do so in the least amount of time. However, the course is different each day! The current date is used as a seed to generate the canyon. In a way, it's like a daily competition between your friends over who can complete the course the fastest.
Feature-wise the game is pretty much complete. All I need to do is add a character to replace the ball and some sound effects, which is pretty much the bare minimum for the thing to qualify as a "game". If the game (or the idea, anyway) is received well, I might pursue a more polished game with a similar idea.
This is my first time I'll actually be submitting something to a jam. I'm a little nervous since I'll be competing with people who have probably done this sort of thing for ages. Regardless, I hope people enjoy my weird little experiment once it releases in a few days...
Posted by bluswimmer - January 13th, 2020
So a little over a week has passed since the release of Bounce Canyon. Given that it's no longer on the front page, I think now is a good time to look back on the game's development.
I first conceived the idea in early December 2019. I had been in a creative rut for a while, and couldn't really get any games off the ground. After a while, I decided to place two restrictions on myself with the game. First, I wanted the game to be a vertically scrolling arcade platformer, with a unique movement mechanic. Secondly, I wanted the game to be feasibly playable on a touch screen.
With those restrictions in place, I remembered the minigame Trampoline Time, which appeared in Super Mario 64 DS. I've had a few people note the similarities to me, and I acknowledge that I took the idea from there. From there, the game began to take shape.
After conceiving the basic gameplay concept, I decided that the game would resemble a Vectrex game. To put it bluntly, this choice was mostly so I wouldn't have to make elaborate graphics for the game. The game and the art style seemed to go hand-in-hand in my mind- the walls and trampoline could easily be represented with simple white lines.
The only challenge with the vector art style was designing the player character, Viv. Upon researching various Vectrex games, I noticed that most games with humans opted for a stickman-like design. I wanted Viv to look recognizable, but still stay within the restrictions of vector art. At one point, I even considered putting a lightning bolt design on her torso, but this was ultimately replaced with a bandana.
One of the more frustrating parts of development was getting the bounce to work in a satisfying way. Initially, I had difficultly implementing the bounce at all, as the trampoline tended to bounce the player at really weird angles. Once I did, I had trouble determining how far the bounce should go.
In the final game, bouncing on the trampoline actually applies more vertical force than horizontal force.
characterVX = 0.01 * Math.cos(angle); characterVY = 0.018 * Math.sin(angle);
I felt this worked well, as it felt good to see the character bounce really high, while still maintaining control over the character.
My next challenge was deciding on the difficulty curve. During an interview about Tengen Tetris, Ed Logg talks about logarithmic tuning. Similarly, Bounce Canyon utilizes a logarithmic difficulty curve, with the space between walls slowly shrinking. The final "space between walls" equation looked like this:
var cliffLength = 1 / (Math.log10(lineCount + 20));
with "lineCount" being the number of times the wall changes angles. Originally, the wall was going to shrink twice as fast, but I found it difficult to get very high with this tuning. A good rule of thumb in game design is if you find something you make is too hard, you should change it, because it'll be even harder for everyone else.
Now that the basic mechanics were in place, I sent an early version of the game to my friends for some feedback, and to challenge them to beat my score of over 6000. My friend Lily offered to stream her attempt to beat my score over discord. It was during this time where I discovered a critical bug. Lily's monitor has a 144hz refresh rate, while mine is only at 60. Her game was running over twice as fast. We mutually discovered that the RequestAnimationFrame() function depends on the monitor's refresh rate, so I hastily implemented delta time into the game.
The next week or so was merely a bunch of small features, like the font, a pause button, and the title screen, since it was close to Christmas. I also began work on the sounds, which I made in Deflemask using the Sega Master System tracker, and trimmed using Audacity.
There's actually an interesting story about the "hit wall" sound- originally, this was going to be only white noise, but I found the Master System's noise channel produced unsatisfying results. However, I later discovered that playing the same note in the third square wave channel created a weird chime sound. It reminded me of whacking an iron bar, so I kept this sound in the game.
The character sprite was originally just a quick Krita sketch, which I traced over with lines. Here's the original sketch:
and here's the final idle sprite:
The biggest challenge I faced with implementing a character was the discrepancy between the collision circle and the character. I remedied this by giving Viv two hitcircles- one on the torso deals with the trampoline, one on the head deals with the walls.
Finally, I needed a name. I just wanted to be done at this point, so I came up with "Bounce Canyon" and slapped some text onto the title screen. With the game pretty much done, I uploaded it onto Newgrounds and itch.io.
While the game was Under Judgement someone asked for there to be a scoreboard. It took me around an hour and a lot of trial and error, but I added one at his request. Admittedly the addition was very hasty; one of my friends even managed to hack the game and called me out on my poor obfuscation.
So, that's pretty much all of my thoughts on the game. Apologies if this retrospective seemed rather long-winded. This has been my most successful game I've ever made (I've made others that I haven't uploaded here), and I'm really happy a lot of people enjoyed it!
Posted by bluswimmer - January 7th, 2020
Hi everyone! Given that Bounce Canyon is getting a lot more attention than I was expecting (thanks Tom!), I figure now would be a good time to introduce myself.
My name is Bluswimmer, and I am an aspiring game dev. About a year and a half ago I started making Atari 2600 homebrew games. My first wholly original title was Tumble Temple, released in January 2019, which you can find on my itch.io page.
I'm still a full time college student, so I can't be as active in game development as I'd like. If you'd like to keep up with my game development shenanigans, I post videos of my latest games (and occasional shitposts) on my Youtube channel.
As for what's next, I'm not entirely sure yet! I'm tossing around some ideas. I hope to make some more weird things soon!