TeraSaturday #5: Do All The Changes!

Posted by Skaldarnar on November 21, 2020

Welcome to the return of TeraSaturday, a not-so-weekly update post about all the neat stuff that has been going on in the world of Terasology! Half blog, half changelog, completely cool.

It has been a while since our last update, the GSOC 2020 - Conclusion, and even longer since the last TeraSaturday. So, some update on the latest progress is overdue! You may think that we all took some break after GSOC finished, but quite the contrary seems to be the case. Since the release of Engine 4.0.0 / Alpha 16 - GSOC 2020 there were more than 120 merged engine PRs 🤓 and more than 130 merged module PRs 👾. That’s an average of >4 PRs merged each day! We’ll try to sum up the major achievements below, but feel free to read through each and every commit message at your convenience 😋

A lot of these changes happened “under the hood” which means that, except for the obligatory new bugs 🐛, you as a player won’t notice much of this. @Michael P and @Niruandaleth have been working on migrating our code base away from TeraMath towards JOML, the Java OpenGL Math Library. We hope to reduce maintenance effort by using a thirdparty library here, as well as for potential performance improvements due to the best practices that come with using JOML.

@immortius proposed to switch to glTF for models and animations more than a year ago (see MovingBlocks/Terasology#3785) and with the help of @PAndaContron, @Qwertygiy, and @Michael P we eventually merged this to our main branch. Since then, @Niruandaleth and @casals have been working on the glTF clean-up, adjusting and fixing all the old MD5 models and animations in the game. We actually have so many of those that we should definitely make better use of them 🧐 (and we already have some ideas on how to do that …).

Finally, we also made the step towards LWJGL thanks to the effort and contributions of @DarkWeird. This was initially suggested in December 2015 (now I’m feeling old … 👴) by @msteiger (see MovingBlocks/Terasology#2099) and just now became reality by MovingBlocks/Terasology#3969. As with the other changes, you can see that everything is working if you don’t see any difference to how it was before…

Cute Monsters

But it’s not all just nerdy changes and improvements. We used the motivation and excitement about the new model format to add cute monsters (incl. a new custom sheep model) to the game. The models were created by @quaternius, be sure to check out their Patreon for latest news and support. These new models are (partially) integrated with the WildAnimals module and replace the old low-poly models (like our good ol’ deer). We hope you like this new look, and we are looking forward to integrate more mobs and monsters into the gameplay templates so that you can experience them in the game!

In a similar fashion, MetalRenegades is now way more … metal 🤘 We replaced some of the Gooey citizens with actual robot models. Representing the good and lawful, sheriff robots will help to keep the piece in the old west towns. Opposing, the bad robots with their bulky, barrell-like bodies bend the boundaries of decency. Which side do you chose?

Metal Renegades Robots

And that’s still not all! @4D enthuasiast continues to shape the in-game world. By creating FallingBlocks and reworking FlowingLiquids the world now feels more dynamic than before. With the mass-preserving system of flowing liquids water becomes a valuable resource that should be used with care. Whole bodies of water may vanish in the depth of caves, so be careful which block you break!