Skip to main content

5 posts tagged with "new features"

Major new features added to the ScrewBox engine.

View All Tags

Soft physics part 2

Hi there,

the last big contribution to ScrewBox in 2025 is in. The current version will finalize three major updates to the soft body physics.

  1. Soft bodies now support collisions using point in polygon and bisector intrusion algorithm. So your soft bodies now can interact with each other quite nicely.
  2. The shape of the soft body can now be preserved using shape matching. This will prevent collapsing of the original shape and will be essential when using more complex shapes.
  3. Pressure can be applied to soft bodies. So you can blow them up like balloons, because why not?

I have updated the soft physics guide accordingly.

rope.png

Soft physics

Greetings,

the next minor release of ScrewBox will introduce soft physics. The new components will allow creation of ropes and soft structures. Both will be build of entity clusters and will therefore support mixing with existing components.

rope.png

I have just finished the foundation (linking entities, rendering smooth curves). The next steps will introduce a nice api for easy creation of entity clusters building soft bodies. Currently this is purely manual and leads to a lot of clutter code.

Want to learn how to use? Have a look at the soft physics guide.

Lights on

Hey there! I’ve just dropped version 3.9.0. This version adds support for drawing arcs, expands the options for drawing rectangles and uses the new options to add enhanced light effects. Expanded light areas also support lens flare effects now. Looking back on some old screenshots it really makes me smile. ScrewBox graphics made a huge leap since I started in 2021.

2021

2025

The new version also comes with a lot of useful minor features and fixes. For all features have a look at the full changelog. I will concentrate on adding even more light effects for expanded light areas in the next version(s).

Make some noise

Greetings! Version 3.4.0 of ScrewBox added support for generating Perlin Noise and fractal noise. Both algorithms can be used to generate infinite deterministic landscapes and are commonly used in games like Minecraft or whenever 'procedural generation' is mentioned. The next minor version of ScrewBox will also add support for three dimensional Perlin Noise.

noise

ScrewBox is a game engine designed for creating 2D content, so the third dimension used for generating noise will most likely be time. Nonetheless, you can also create some pseudo 3D content using these utilities, as seen in the example screenshots. The second one is a three-dimensional fractal noise which looks quite cool but doesn't add much value to the engine because it's so slow and I cannot imagine any actual use but creating nice looking blog post illustrations.

noise

Generating noise is quite easy. Enjoy!

// 2D noise
PerlinNoise.generatePerlinNoise(seed, x, y); // value in range -1 to 1

// 3D noise
PerlinNoise.generatePerlinNoise3d(seed, x, y, z); // value in range -1 to 1

Update July 26, 2025

After massively improving the performance of noise generation (10 times faster!) version 3.6.0 will also ship 3d Fractal Noise generation. Because, why not?

Fluid physics

Greetings! Version 2.19.0 of the ScrewBox engine has just been released. This version adds support for simple fluid physics.

fluids

To make something fluid, just add a FluidComponent to the entity you want it to be. To make the fluid show up, add a FluidRenderComponent and pick your colors to make water, lava, or anything else you want. Physics entities can swim in the fluid by adding a FloatComponent.

Future will tell what features will be added to the fluid physics. In the current state, the fluids are quite rudimentary. Combining the fluids with a reflection is definitely on my to-do list.