Skip to content

louis-bourgault/endlessClimb

Repository files navigation

Endless Climb

An infinite platformer game, ideally in the future to have different generation methods such as perlin noise, possibly something to do with mandelbrot set, equation parsing (like platforming on graphs in desmos etc) and others.

How to play

Use A and D to move left and right, and W to jump. You can also use Q and E to zoom in and out so that you can look at the surroundings. You can regenerate the map at any time or change the background colour from the settings window

Direction

I'm inspired heavily by Slow Roads for example and really like how you can just play that for half an hour or so and not really notice. Anyway id like it to be fully customisable, maybe with the following

  • Different music tracks, lofi or something
  • GLSL shader or pixel art backgrounds, possibly with parallax scrolling
  • Different block textures, fully configurable

TODO:

  • fix the jank
  • Allow headhitter jumps so that you can't get trapped in caves as easily
  • enhance safe spawn to be more reliable
  • make it so that x values of less than 0 are generated and there isn't just a big black wall to the left of the spawn point
  • Create other generation methods other than perlin

Contributing

If you're interested in contributing, that's cool. But still I consider this my own passion project, so would like the majority of the code to be my own. That isn't a definitive no, but please message on Github Discussions or Bluesky (linked in my profile) before doing anything. If you want to make your own generator, by all means please do so! You can do this by making a class that implements GeneratorInstance. This has to have public functions getHeight (which returns a number 0-1) and clearDistantChunks, which can be called in future to do memory management (this is never used at the moment, but to satisfy Typescript just define it anyway). Also, look at how the settings system is defined both in /generators/index.ts and in the existing generators -- it is slightly janky, but it works with the settings window at the moment. If you have a better idea of how to implement this, please message me as before.

Licence

This project uses the GNU AGPL

Releases

Packages

Contributors

Languages