A downloadable game

climbtime - climb and jump parkour up procedurally generated levels for best time,crystal hunt,local multiplayer,vive/rift support

steam early access release version - paid and demo(first level only) - recommend playing this for the latest version plus steam leaderboards and achievements


The game was developed in unity using a gamepad controller(gamepad strongly recommended, mouse/keyboard controls are supported but may find difficult to control due to the quickly changing momentum and key combinations). The game supports the oculus rift on Windows/Mac. For the rift, I chose a medium graphic setting on game startup to keep a higher fps with less judder/ghosting. The mouse look speed settings can also be adjusted if the body rotation is too slow/fast and a VR comfort mode(30 degree rotation changes) option is available from the pause menu(start button/F1).

Game goals/modes

The game currently has two modes:

time attack - try to set your best time for getting from the start to the end of the level(default mode)

crystal hunt - collect 10 crystals placed in the level(see page notes on starting crystal hunt mode)

For time attack, you start the game at the bottom and have to jump/run up the blocks and walls and land on top of the top(or farthest)-most block(which flashes from white to black) of the tower in as short a time as possible. Falling into the water resets the level timer and returns the player to the last point at which they were fully stopped(fully stop if you want to create a checkpoint). Pressing the gamepad back button or keyboard F2 will restart the level regenerating any level pickups

Levels are procedurally(randomly) generated from a level random seed number, changing block and wall and color choices. Levels 1-6 have progressive difficulty(level 1 easiest, level 7+ same hardest difficulty).

Pause menu(player name, player2 name, look speed x, look speed y) and display toggles are saved in a game settings file. Best runs on completed levels are saved to level files.

For now on the rift, the main controls I use on the gamepad without having to remove my headset are back button to restart a level, start button to pause and back button while the game is paused to go to the next level(same as F3 on keyboard).

Controls (shown in-game)

Lets Play videos


Level End

When you land on top of the top(or furthest-most from the start) block(flashing from white to black) you will hear an indicator sound and the timer will stop. If you have beat the best time, your time will be recorded as the new best time for that level. To change to a different level, enter an integer number(anywhere from 0 to say 2000000) in the field that says 'CHANGELEVELTO:' and the game will restart(and continue to restart if hitting the water) on that level.


If a best time has been set for the level, when restarting the level the player best time path will be shown as a path of small cubes that change from white to black according to the previous player time. This allows you to see your earlier best path and improve on it for better times. Displaying the best previous path may cause your frame rate to drop 10-20 fps depending on your PC so a toggle on/off(pause menu) is provided if it effects fps too much. Saved level files can be shared between players of the same game version number(see file notes below).

Crystal Hunt

To play crystal hunt mode, in the pause menu(F1) turn on the following options:

-show aim
-rock foliage
-crystal hunt

Press F1 to unpause and F2 to restart the level. You will see in the display a count of 10 crystals that have been randomly placed for the level for you to find. The crystals are small blue cubes and create a sound which grows louder as you get nearer. There are also 2 parallel vertical blue lines that will appear near the middle of your display when you hear the crystal sound, the line on the right will expand the closer you are to the nearest crystal. When you see where the crystal is, press the 'B' gamepad button or mouse right-click with your aim cursor directly over the crystal to get it(it should disappear, will make the hit area bigger in upcoming versions). The game currently just keeps a counter for the level of the crystals left, so if you get to zero that's it for the level. I've tried to sort out any issues where crystals might spawn inside of objects(unobtainable), but if you run into an issue where you think a crystal has spawned in an unreachable spot, let me know the level number and I'll try to fix.


I have an initial attempt at a leaderboard system, when a player 'completes' a level(lands on the flashing furthest block for a level), a message is sent to a server which should record the game version,level,player name,score and game settings. The name 'id' suffix is there to provide an additional unique identifier if people happen to choose the same username. I don't see where people are playing the game yet as recorded by my reporting server, so feel free to message me if you are trying to get on the leaderboards while online but not able to do so. I have added a 'leaderboard' button on the pause menu which will bring up a browser page in the future of player rankings as I collect more records of people playing.

Hope you have fun trying the game out and finding the fastest way to the far part of the levels. I haven't added any formal music to the game yet, so have been listening to some good music while playing.

I would like to further add to the game:

- leaderboards
- online multiplayer
- multiplayer weapons(rockets, etc) to challenge players racing each other
- other AI type 'boids' to act as additional challenge(patrol, snipe) or scenery
- music
- config options for color/texture palettes
- config options for speed of play(run/jump) or movement
- config options for more/less blocks/walls or layouts(something other than vertical tower)
- other features based on feedback

Check back on this page for updates or twitter announcements at https://twitter.com/rangerfall

Any problems or feedback on the game(likes,dislikes,what to improve or provide options for) feel free to email:


Additional game/level file save notes

The game currently stores its save files on windows under

C:\Users\<username>\AppData\LocalLow\saluda systems\climbtime

game_settings.gd keeps settings on the pause menu(F1)

game_settings_physics.gd keeps settings on the physics menu(F10)

The other files are the level files(level_x.gd) which have a best time/path recorded for levels completed.

Removing the settings or level files will cause the game to try to create a new file. A saved level file for the same version issue game can be shared between players to try level ghost challenges, keep a backup if wanted of your existing level save file. I've included some example best paths(levels.zip, .gd files) for levels completed.

Game version update notes are listed at



Log in with itch.io to leave a comment.

(1 edit) (+1)

Hey Garcia, got a good game here considering its in alpha. I played the demo you have up on your Itch site and it looks pretty good. A few better textures would go a long way, but otherwise its the first casual parkour game I've played in a long time.

I've did a Let's Play of the game on my Channel. I don't have many subscribers or regular viewers, but it may bring some more people to see your game.

Hey Eddiember,

Thanks much for trying the game and the let's play video - really great seeing how other people play the game, what they like or might change or provide options to make it a better game with ongoing development. I've been getting similar feedback that the movement and controls are very 'slippery' - there are two parts there, one is the drag the player has when touching the ground(higher drag=more friction=less slipping with ground), the other is the player's horizontal momentum which I could remove so that the player moves more like an arcade character instantly in the direction pushed - or I could provide some kind of slider amounts for drag and momentum for players to set to their liking. Would you suggest starting players out with a much easier setting of high drag and low momentum to make the controls feel more responsive? I started out the game with the idea of the player getting a sense of their 'weight' to help feel more immersed in the physics of the game(in a good way), but so far I think it is frustrating to starting players who are more used to most FPS where the player has high-drag and no momentum(instant direction changes).

With the texture work would you suggest both higher resolution and variety of textures or something else? The art/aesthetic work is my weakest point as a solo programmer so I'm always trying to get helpful suggestions from players on this. The latest version (last screenshot on webpage) I've replaced the placeholder placeholder 'cube' with a more humanoid shape bot form. Thanks again and best luck with the youtube channel.


As its randomly generated I figure its hard to make it look attractive while keeping the the game the same. I think perhaps maybe some variety of different objects you can climb on, like maybe some floating trees or such, just some things other then rock walls.

As for the jumping, perhaps a slider would be good, but there are some jumps that I don't think you would be able to make without the high jump. The Random Generation is difficult to work with in terms with the jumping, because if you affect anything, one might not be able to make a jump. Perhaps an in game method to control the drag or friction on your character, like a press of a button will turn it to Arcade to make short jumps, then you can press the button again to turn it back to the slippery jumps. I don't know if thats possible with Unreal though.