Poisson-Disc terrain sampling

9 days ago in Dev and Retro engine by luke

Poisson-Disc terrain sampling - random points on terrain

New procedural worlds

13 days ago in Dev, Game and Retro engine by luke

Procedural worlds

P133MHz

27 days ago in Dev, Pixel art and Retro engine by luke

P133MHz boot sequence

CRT screen test

29 days ago in Dev, Game, Pixel art and Retro engine by luke

CRT effect

Hitting the ground

3 months ago in Dev, Pixel art and Retro engine by luke

Vehicle physics model

4 months ago in Dev and Retro engine by luke

Finished setting up physics model for basic vehicle. Added some new constraint types and a new way to enforce the shape of verlet body.

Now i’ll be working on physics materials and rotating body parts mostly for the sake of vehicle wheels.

vehicle

Gif recording

6 months ago in Dev and Retro engine by luke

Added in-game gif recording. You can expect some more of animated pixels in the future.

Infinite terrain gif

World streaming and fixed-point math

6 months ago in Dev and Retro engine by luke

Since i’m using fixed point math (Q20.12) in the physics engine and some other places to keep things deterministic i had some issues with keeping all the calculations in the range −524288 to 524798.999. This range seems like a lot, but belive me, it’s not…

The solution for the limited range in the physics engine is to introduce world streaming tech. World is divided into chunks, each chunk has it’s own physics system and keeps all the positions relative to that chunk. Bodies can collide inside of the same chunk along with the chunks that are adjacent to that chunk. While comparing/colliding bodies that are in two separate, but adjacent chunks you just shift them to the same origin and BOOM – NO MORE MULTIPLICATION OVERFLOWS!

Similar solution is used with floats due to limited precision far from the origin. You can read more about this issue in paper called Using a Floating Origin to Improve Fidelity and Performance of
Large, Distributed Virtual Worlds
by Chris Thorne.