Skip to content

Vents new terrain 2.0 - #7077

Open
Patryk26g wants to merge 13 commits into
masterfrom
vents-new-terrain-2.0
Open

Vents new terrain 2.0#7077
Patryk26g wants to merge 13 commits into
masterfrom
vents-new-terrain-2.0

Conversation

@Patryk26g

@Patryk26g Patryk26g commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Brief Description of What This PR Does

  • Changes vents terrain generation - now vent-like shapes appear in the vents. The chunks don't have collision shapes, instead one big sphere collision shape appears in the middle instead. Thanks to that the number of collision checks is significantly reduced and microbes won't get stuch on the terrain, they will just slide off,
  • Increases grid cell size a little bit,
  • Reduces number of grid cells
  • Changes spawning logic
  • When terrains overlaps the new chunk now slides off instead of picking random direction to spawn in
  • Lowers and increases the background plane a bit, so that chunks can spawn a bit more under the microbe plane

Rework of #6591

Progress Checklist

Note: before starting this checklist the PR should be marked as non-draft.

  • PR author has checked that this PR works as intended and doesn't
    break existing features:
    https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
    (this is important as to not waste the time of Thrive team
    members reviewing this PR). This includes gameplay testing by the PR author.
  • Initial code review passed (this and further items should not be checked by the PR author)
  • Functionality is confirmed working by another person (see above checklist link)
  • Final code review is passed and code conforms to the
    styleguide.

Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.

@revolutionary-bot

Copy link
Copy Markdown

The lead programmer for Thrive is currently on vacation until 2026-07-13. Until then other programmers will try to make pull request reviews, but please be patient if your PR is not getting reviewed.

PRs may be merged after multiple programmers have approved the changes (especially making sure to ensure style guide conformance and gameplay testing are good). If there are no active experienced programmers who can perform merges, PRs may need to wait until the lead programmer is back to be merged.

@hhyyrylainen

Copy link
Copy Markdown
Member

What's the status on this V2 of this change?

@hhyyrylainen hhyyrylainen added this to the Release 1.2.0 milestone Jul 15, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these changes in this file should be reverted.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sorry, I missed that!

Comment thread src/microbe_stage/Spawners.cs Outdated

entityRecorder.Set(entity, new WorldPosition(location, rotation));

entityRecorder.Set<SpatialInstance>(entity);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like nothing is ever put in this spatial? So I think it should be excluded from this entity type.

Comment thread src/microbe_stage/Spawners.cs Outdated
entityRecorder.Set<StaticBodyMarker>(entity);
}

public static void SpawnCollisionWithoutFinalizing(CommandBuffer entityRecorder,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public static void SpawnCollisionWithoutFinalizing(CommandBuffer entityRecorder,
public static void SpawnTerrainCollisionWithoutFinalizing(CommandBuffer entityRecorder,

@Patryk26g

Copy link
Copy Markdown
Contributor Author

What's the status on this V2 of this change?

Well, it's ready for review - the v2 is from the fact that some month ago I tried to add these vents in a very flawed way and this is the improved version. I will provide the fixes to the issues you pointed when I have time

entityRecorder.Set(entity, new PhysicsShapeHolder
{
BodyIsStatic = true,
Shape = shape,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hang on, I just realized something, won't this break on save load? Because PhysicsShape cannot be serialized into a save, so this actually must use a component type that can reload the collision upon loading the save; This shape setting only works in a single play session and is not restored automatically upon loading a save.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants