Canyoneer
Help! How do I play?
There are instructions in game, but if you need help understanding the mechanics, this short video ought to help.
About Canyoneer
My entry for the Ludum Dare 48 Compo game jam!
The theme is Deeper and Deeper.
Well, try exploring deeper and deeper down this canyon with nothing but your trusty rope. Can you survive all the way? Can you be the fastest to reach the floor?
As in the Ludum Dare Compo rules, everything was made by my fair hands in just 48 hours.
If you're interested in how my jam went, there's more info below. Otherwise, I hope you enjoy, and don't forget to post your best scores in the comments!
Source
The source code and all assets are freely available here:
https://github.com/kwoodhouse93/LD48
Be warned, it's a bit of a mess.
How my LD48 went
I tried to avoid the most obvious interpretations of the theme, but still ended up with something pretty literal - trying to get deeper down a canyon. I had the idea of using a physics-based rope to negotiate a rocky environment where falls kill you easily.
To begin, I made a simple ground sprite in Photoshop, slapped on a 2D physics collider and started playing around with a few movement mechanics: jumping, walking, and eventually using a rope to descend and swing.
Once I had some satisfying movement mechanics down, I looked into terrain generation (more on that below). Once I was able to generate a simple canyon for the player to navigate (the red pixels above), I moved on to prettying it up a bit.
With the core gameplay mostly sorted (but a bit buggy), I cracked on with putting together some UI. That left me with the screenshot below by the end of day 1.
Day 2 picked up with creating sound effects, music, a title menu, tutorial/intro scene. Also plenty of playtesting and fixing as many of the slightly broken bits as I could, plus adding a little bonus music and visuals for anyone who makes it to the bottom of the canyon!
I'm pretty happy with how this has turned out in the time.
Finally, I'll just pick out a couple of highlights and some major issues I wish I could have fixed already.
Highlight: Background and player rendering
I really like the visual effect on the background and the player. To do this, I created a texture in code with a low pixel count. For each pixel, we sample a colour from a gradient, but with just a bit of randomness to make the image a bit 'noisy'. It's essentially dithering, but we redraw the image every 200ms with new random samples, producing this effect of constantly shifting noise.
Issue: Rope physics
The rope is simulated using Unity's 2D physics simulation. It works well most of the time, but occasionally behaves really weirdly. I think it happens when it can't meet the constraints on the joints between each rope segment. This sometimes causes the rope to violently shake, usually killing the player if they try to dismount.
I think the fix is to reimplement the rope physics another way. I tried implementing it with Verlet integration. It actually worked fairly well, but I had trouble getting it to interact nicely with Unity's 2D physics engine. I think I'd need to do quite a lot to get this to work.
Issue: Terrain generation
This is the first time I've tried procedurally generating any kind of terrain. My approach was to generate a height map from a 1D Perlin noise for each wall of the canyon. That gives a fairly nice shape to the canyon wall, but there's not much there for the player to actually stand on.
I'd love to have come up with an algorithm for placing features like caves, ledges and forks. In the interest of time, I settled for just placing ledge prefabs randomly in the canyon, aiming for a distribution that is usually somewhat playable. You still sometimes end up with gaps you can't actually negotiate without dying, which is really frustrating to play. This might be a topic to revisit and experiment with some more.
Status | Released |
Platforms | HTML5, Windows, macOS, Linux |
Rating | Rated 4.5 out of 5 stars (4 total ratings) |
Author | Kieron |
Genre | Platformer, Adventure, Simulation |
Tags | 2D, Casual, Exploration, Ludum Dare 48, Pixel Art, Short, Singleplayer, Unity |
Links | Ludum Dare |
Download
Install instructions
All downloadable builds should contain an easily runnable executable. No need to install anything, just run the .exe for Windows, the .app for Mac, or the binary executable for linux.
Comments
Log in with itch.io to leave a comment.
Only took me 4 hours...
theres a glitch where if you throw the rope, and try to go down it as soon as you threw it too fast, it goes wild and throws you around if you try to let go
I liked this game man
keep it up!