Microsoft MakeCode

Procedurally Generated Platformer

After making procedural generation and jump I decided to combine (well, not really) the ideas and make a platformer game that is procedural!

You may recognize the platformer tileset :slight_smile: (it’s from here) since I don’t have any creative skills in the slightest.

Controls:

  • Jump - up (W or 🠕) or A (Q or Space)
  • Left and right - left and right (A and D or and )

Show us your seeds and best times! Mine is 1:06.27 on seed 1234: (I would love to see someone get under 1 minute :slight_smile: come on guys lets speeeeeeedrun this :rofl: but don’t cheat :wink: )

(also night mode doesn’t help with perf - I only get 36 FPS while it’s on instead of 200! :laughing:)

Would also appreciate feedback on how easy/hard the generated platformer is and if there any “impossible” scenarios.

10 Likes

This also works on my PyGamer as well, with 40FPS/11FPS. (night mode) :smiley:

2 Likes


This is seed 1234, and I got 59.72!!

3 Likes

Post 8,500!

2 Likes

I couldn’t get under a minute :frowning:

7 Likes

Wow! This game is amazing!
(High score: Couldn’t beat lol)

1 Like

HOW DID YOU MAKE THIS??? I’ve been going through the code since you posted this, and my smol brain still can’t understand…

2 Likes

Update! :smiley:

(Seed is 2468)

Changes:

  • Can set a random seed
  • Scoring mechanic! If you get a time within 120 seconds then you will get a score from 0 (>=120) to 1000! (0 seconds :laughing:) You can also reset the high score
  • Little death animation which was fun to code. :slight_smile:

Sadly this version does not work on hardware. :frowning: Guess it’s too big.

6 Likes

Ik, idk how. but OMG it looks SOOOOO complicated

2 Likes

What don’t you understand?

1 Like

While I do understand the basics of the biome generation, I fail to understand how the platforms are generated in a manner that allows the player to traverse them…

2 Likes

I dont understand how you make the seeds. its so cool how you can do that like in minecraft.

2 Likes

As far as I understand, each digit of the seeds, results in one aspect of the game. For example the biome, or the placement of the trees. Correct me if I’m wrong… (I most likely am tho…)

2 Likes

So there are 3 different types of platforms:

  1. A 1x1 cube
  2. A 2x2 cube
  3. A 3x3 cube

So I first set some starting coordinates, and then place a random-width platform. Then I move 1-2 tiles to the right, and up to 2 tiles up and down. Since the player can jump 2.5 tiles, the player can always jump far enough. And then a bunch of random numbers determines how and if the “extras” are placed.

image

  • rng_base: Is the base RNG which is used to seed all of the other RNGs.
  • rng_width: Determine how wide the platform should be (1, 2, or 3)
  • rng_variation: Determines what type of extra should be on top of the platform. Ignored if 1-wide platform.
  • rng_rand: A random number for the extra.
  • rng_height: Determines how many tiles up or down we should shift before making the next platform.
  • rng_distance: Determines how far away should each platform be. (either 1 or 2)
  • rng_season: Determines the season we are in.
  • rng_stars: Used to place random stars in the sky if in night mode.
6 Likes

I was able to get past it but how did you make the beginning!?!?! AND I like the night version 2. That was the best version i think.

2 Likes

WHOO! now it makes a bit more sense.

2 Likes

got 55.28 in seed 1234

4 Likes

This is an official speedrun game. I guess we need a leaderboard which states the timing, the device used and if it is a set seed or random seed.

4 Likes

And I got 1munute and 16 seconds on mobile, random seed, day. And night time is very laggy on mobile.

5 Likes

We need a speedrun-game tag :rofl:

6 Likes