Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infdev #732

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open

Infdev #732

wants to merge 18 commits into from

Conversation

zandgall
Copy link
Contributor

@zandgall zandgall commented Jan 7, 2025

Extends terrain on all levels using the chunk system. Ask @TheBigEye if you want to know the practical limits, but creates 'infinite' levels.

  • Levels are generated on a chunk-by-chunk basis
  • Level generation (mostly) utilizes Simplex noise rather than sequential random generation
  • Level save format is modified, Level*.miniplussave files are replaced with Level*/ folders containing c.x.y.miniplussave and d.x.y.miniplussave file for every chunk saved in the level (containing tile ids and extra tile data respectively)
  • Entities are spawned in a specific radius around the player no matter where the player is

Things to consider

  • Game stutters when chunks are generated. There is a 'stage' property of chunks that can be used to generate the chunks over multiple ticks, as long as generation functions are split into several stage generators
  • Usage of random.next____() functions may cause chunks in a level with the same seed to generate a little differently (especially with structures?) depending on which chunks are generated before others.
  • Cloud and dungeon levels still have boss fights positionally oriented around the middle of the level as determined by level size setting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants