The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

+1 vote

I am making an open world 2D platformer. I have a tilemap, and want to create an infinite course or environment. Basically, I want to create a large side-scrolling world that the player can navigate. I have tried to use the set_tile function, but I cannot figure out how to make hills, trees, and such. Any help would be appreciated!

Godot version Godot 3.2
in Engine by (16 points)

Procedural level generation requires "complex" algorithms. Try google searching that and using them in godot.

I have looked, but I have not found any generations for 2D platformers. They are all top-down or 3d. Do you know of any sites-or scripts-to create a side-scrolling world?

1 Answer

+1 vote
Best answer

You can save the components in individual scenes and then load them by random number to a random position. (Of course, you have to be careful that nothing overlaps) This is how I created my 2D open world.

by (80 points)
selected by

Thanks! It worked. I made different tilemap layouts and loaded them together. I also generated random numbers to place animals and trees. Thank you for answering!

How to implement 2d procedural platformer

Could pls someone explain me how do i do this, because i am new at coding and dont know much. ty

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.