| EpistemicNorth | |
|
EpistemicNorth
Posts: 1 Joined: 2026-03-11 |
Posted on 2026-03-11 12:20 Link |
Hi everyone. I’m new here but I’ve been reading through the wiki and the repository to understand the current state of the project. From what I can tell the codebase is mostly C++ with parts of the underlying engine written in C, and a lot of the gameplay logic exposed through Lua scripting. One thing I’m curious about is the long-term direction for the engine layer. Since rendering is currently based on OpenGL 2.1 / GLES 2.0 and the code dates back to the original 2013–2014 version of the game, is there any discussion about modernizing the rendering backend or abstracting it further? It seems like that could make future platform ports easier, especially for web and mobile. I’m still getting familiar with the code, but if there are areas where new contributors can realistically help (documentation, bug triage, smaller refactors), I’d be interested in taking a look. Thanks for keeping the project alive. |
![]() ROllerozxa |
|
![]() ROllerozxa Posts: 118 Joined: 2020-12-26 |
Posted on 2026-03-11 15:53 Link |
I haven't really had the time to any kind of better onboarding for new contributors but yes, documentation, bugfixing and code refactoring is a great way to begin and there is lots to do in terms of that. I assume you've already seen this page on the wiki about our Doxygen documentation, so if you begin to document the codebase you'd want to do so using Doxygen annotations. Posted by EpistemicNorth I'm not sure what you mean by this, Principia is already running on the web and mobile with the GLES codepaths. I don't know any platform we would want to be on that does not support some kind of OpenGL or GLES, other than really outlandish things like the Wii U. And while both iOS supports GLES and macOS supports OpenGL, they are in different states of disrepair with an unknown future, but both can use OpenGL ES 2.0 running on top of Metal using ANGLE. But we have no iOS version anymore and the macOS version is in an unknown state without anyone to test it either so we're getting far into the theoreticals here. Upgrading to OpenGL 3.1 Core on the desktop side is probably fine, as well as utilising even newer GL functionality if there's a good reason for it, as long as there is still some kind of fallback for devices that don't support it. One of the game's strengths is being able to run on really old or obscure hardware configurations, like me and my ex got Principia running on a Samsung Galaxy S3 (only supporting OpenGL ES 2.0) running postmarketOS a while back. Ideally we would still be able to have both. As for the non-graphical parts of the engine, those are practically timeless. There is no new version of matrix maths that has released since TMS was originally developed, so to speak. |