Posts by ROllerozxa

(Avatar)
ROllerozxa
Posted on 2026-03-07 13:40 - in Contest - Crazy Circuitry Link

The contest is now over! Well, it finished back in Monday, but there has been a delay for the results. But the results are now here.

1st place: Random number generator by randomguy123

Being one of the few who participated in the contest, and having managed to create something that fit my vision for the contest so perfectly, the winner was pretty clear. It's a fancy Blinkenlights which generates a random six-digit number on the digital displays. Take a screenshot and see which number is chosen.

2nd place: N/A

Because of the lack of interest in the contest I didn't feel it was appropriate to nominate a 2nd place. So it is empty... for now.

(Avatar)
ROllerozxa
Posted on 2026-03-07 13:41 - in Contest - Daft Dummy! Link

A new Principia building contest went live on Monday the 2th.

For more details see the the contest's page. This forum thread acts as a longer form discussion board than the contest comments section.

(Avatar)
ROllerozxa
Posted on 2026-03-11 15:53 - in First steps for contributing 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
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 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.

(Avatar)
ROllerozxa
Posted on 2026-03-16 18:38 - in Contest - Daft Dummy! Link

The contest concluded earlier today, with a total of one entry submitted. I don't really feel okay with declaring any winners for a contest that ended up only having one entry submitted, so I have decided to just call off the contest without a winner.

In general, there is no point in running contests when there is so little interest in them, so the next contest is put on hold until a not yet determined date, whenever that would be.

However, I would still like to thank randomguy123 for participating with this... slightly gruesome entry featuring a dummy being turned into ground meat, and his sole entry to the contest has been highlighted to give him a badge for participation.

(Avatar)
ROllerozxa
Posted on 2026-03-19 21:02 - in Android app developer verification and Principia Link

Posted by ROllerozxa
Thankfully Google has somewhat backpedalled recently on their original plan and will be introducing some kind of advanced install flow for advanced users besides installing via USB debugging. Whatever that is awaits to see, I guess.

Well so about that... Google just unveiled the new advanced install flow which will be how you will install Principia from now on:

Great, huh?

(Avatar)
ROllerozxa
Posted on 2026-03-21 21:06 - in Android app developer verification and Principia Link

Thank you! I'm gonna be honest, I feel a bit disillusioned about the current state of technology and where it appears to be heading, but it feels better when I know I'm not alone in all this.

(Avatar)
ROllerozxa
Posted on 2026-04-13 14:58 - in Contest - Rube Goldberg Machine Link

A new Principia building contest is now live.

For more details see the the contest's page. This forum thread acts as a longer form discussion board than the contest comments section.

(Avatar)
ROllerozxa
Posted on 2026-04-27 18:58 - in Contest - Rube Goldberg Machine Link

The contest is now over! The winners of the contest have been selected.

1st place: Spacerube by binarctq

An interesting short cinematic experience, featuring CT Mini dominos and explosions.

2nd place: N/A

Because of the lack of interest in the contest I didn't feel it was appropriate to nominate a 2nd place. So it is empty.

(Avatar)
ROllerozxa
Posted on 2026-05-11 14:48 - in Contest - Apparatus Link

A new Principia building contest is now live.

For more details see the the contest's page. This forum thread acts as a longer form discussion board than the contest comments section.

(Avatar)
ROllerozxa
Posted on 2026-05-16 15:01 - in ⚠️ HELP: Fullscreen Toggle on PC won't work Link

Toggling fullscreen can be done with F11 but requires a restart. I personally just go into the settings.ini file, which can be found in your user data directory, and look for these keys:

window_fullscreen=1
window_height=720
window_maximized=0
window_resizable=0
window_width=1280

window_fullscreen controls whether the window is fullscreen and then window_width and window_height is the window size if you need to change that too. Be sure to close Principia before editing the settings.ini as it will overwrite your changes on exit otherwise.

(Avatar)
ROllerozxa
Posted on 2026-05-17 19:37 - in Help test the next version of Principia! (likely 2026.05.XX) Link

It's been over a year since the last release of Principia, partially due to a lack of development activity on the game but also due to a lack of testing of changes that are made for the game, which is a prerequisite for actually being able to actually release a new version.

Specifically this time, there is both new locations for user data directories on some platforms as well as a new directory structure, as well as migration code to move from the old to the new. While it's careful enough that no data loss should occur, even for junk files that people may have scattered in their user data directory themselves, it's still important that the most important data is correctly migrated to ensure that users are not confused by their levels disappearing. For more information about the migration process see User Data Directory Migration page on the wiki.

However, this is not all. There have been many other changes since the latest release and many technical code changes have also been made, and finding any potential regressions would also be greatly appreciated. See the changelog for a (slightly outdated) summary.

Note, in big letters to make you read it: BACK UP ANY IMPORTANT USER DATA BEFORE INSTALLING! You will not be able to go back.

For Android, make sure you have some way of accessing the Principia app data. Do NOT install the Android version if you cannot access your user data directory.

First, make sure you have installed or run the current stable version of Principia, see the downloads page, and create a level or two in the sandbox (just drag out some planks and then save). This is important in order to test the migration process.

Then, see the following download links. These are built off of commit 8771027 which is the latest commit at release.

Then report your findings. Report any issues you find but also let me know if things, especially the migration, work like they should.

(Avatar)
ROllerozxa
Posted on 2026-05-31 01:43 - in Help test the next version of Principia! (likely 2026.05.XX) Link

Thanks for the testing. Just checked real quick and yeah seems like moving over the levels & such is broken on Windows (there's a specific Win32 codepath for moving files based on wildcard) - I swore this used to work so I will have to take a closer look at that.

As for Android I'm not really sure what happened there. I've tested it in the Android SDK emulator with an Android 16 image and it works there so it may be an issue with whatever GrapheneOS is doing.... Not sure about that.

(Avatar)
ROllerozxa
Posted on 2026-06-01 20:10 - in Help test the next version of Principia! (likely 2026.05.XX) Link

I see.

I ended up looking further into the problem on Windows and ended up fixing it - turns out I had forgotten to use wide UTF-16 strings for the filepaths. :S When I was writing it I was working on it as an independent program and likely hadn't defined UNICODE so it was using the equivalent ASCII functions. Just Win32 stuff... But yes that should work now, thanks for making me aware of it!

(Avatar)
ROllerozxa
Posted on 2026-06-04 23:56 - in Principia for Windows XP (edited 2026-06-10 21:53) Link

If you just want to try Principia on Windows XP, see https://github.com/rollerozxa/principia-xp/releases! Do note these are not officially maintained builds and have limitations compared to the official builds due to using the experimental Dear Imgui dialog backend, with a lot of dialogs still unimplemented.


Yesterday I built my own GCC-based mingw-w64 cross-compiler toolchain targeting 32-bit Windows XP, with the purpose to compile Principia and its dependencies and create a functional build of the game that runs on Windows XP again.

While the last proprietary Principia version (1.5.1) did run on Windows XP, this was back in 2014 with older toolchains. The modern toolchain we use for 64-bit Windows builds do not support XP, hence why I went all the way from the ground up to ensure that I could have a toolchain I know targets XP at every step of the way.

The resulting build runs under Wine as a smoketest and the executable and libraries manage to execute under XP without reporting missing DLL functions, which is a good sign, but I can't get further due to a lack of hardware acceleration in a VM.

A friend of mine was supposed to test the game on real hardware on a laptop running Windows XP, but she seems to have already ran off to install Vista on it, so I will see if I have any other way of testing it.

With that being said, there are some current caveats with the build as it stands right now:

  • The build uses the Dear Imgui backend as GTK3 almost definitively does not support XP, and if it does I don't want to build their entire dependency tree from source - 1.5.1 used GTK2, but getting the Imgui dialogs up to parity would be a better use of time. Usability will be a bit limited for now but at least you could play levels on an XP machine.
  • cURL is also built with SChannel, and XP's TLS stack only supports... what, TLSv1.0? Connecting to principia-web as-is without proxies won't work. Using OpenSSL that we can bundle would be better.

With that being said, this could probably be a well functional build of Principia for XP if there's enough interest. The repository containing all the buildscripts is available here, as-is. There are no builds available to download, for now:

https://github.com/rollerozxa/principia-xp-buildscripts

(Avatar)
ROllerozxa
Posted on 2026-06-09 20:31 - in Principia for Windows XP Link

Update on the XP builds, I spent some time trying to install Windows XP onto my previous desktop computer, to have somewhere to test with proper hardware acceleration, and I successfully installed it earlier today. (See my thread on Mastodon which goes over that in more detail if you're interested)

Then after fiddling with getting drivers and a browser better than IE6 installed, I went to try running Principia there. It was a success!

For some reason the text is garbled, but I think this might be a issue specific to the OpenGL drivers for my integrated GPU (ATI Radeon HD 3000), as Principia 1.5.1 exhibits the same issue. Your experience may be better or worse than mine.

I'll try to get some builds up for download once I have polished up the XP build a bit (build OpenSSL to make network connectivity work, and fix some other issues with the game that I noticed on XP), but if I forget about it and someone wants to try it out then let me know. This likely won't be an officially maintained build of the game but just something that I'll make updates for whenever there's interest.

(Avatar)
ROllerozxa
Posted on 2026-06-10 22:13 - in Principia for Windows XP Link

Okay so I did some more work on these builds.

  • I rebuilt curl to use MbedTLS rather than SChannel for its TLS stack, which means that it supports the modern stuff that the community site expects. I also bundle an up-to-date CA store with the game since that's probably not gonna be up to date on an XP system either.
  • After having issues trying to get curl and mbedtls built with eachother as a shared DLL, I ended up going through and compiling everything statically. The game is now just a single EXE file, excluding the data directory. Fun.
  • I produced an installer version of the build based on the installer script we use for official Windows builds, which also registers a protocol handler for playing levels directly from the community site. I would recommend using something like Supermium for browsing the community site on XP.

With all that being said... I pushed a release with the builds I have made and they are available for download in the GitHub repository where the scripts are located. Both an installer and a portable zip are available, like with the regular Windows builds.

https://github.com/rollerozxa/principia-xp/releases/tag/2026-06-10-xp

The note about the builds using the experimental Dear Imgui dialog backend still stands, and as a result a lot of dialogs in the game are unimplemented and will not work. These builds are provided as-is and are not officially maintained, it's just a interesting thing for those with Windows XP machines to try out.

(Avatar)
ROllerozxa
Posted on 2026-07-24 00:06 - in Help test the new Dear Imgui dialogs! (edited 2026-07-24 00:08) Link

Recently we reached the goal of having replaced all GTK dialogs in the game with new ones using Dear Imgui, which is something that has been in the works for some years by now. All of the new dialogs are available in the latest nightly, and GTK is now no longer a dependency on Principia.

While all the dialogs should be functionally complete through my testing as I worked on the dialogs, there are inevitably issues with edge cases in the dialogs compared to the old GTK dialogs as this is all new code that hasn't seen the test of time yet.

Unless anything unexpected happens before then, I will be giving until the end of the month for people to test the new dialogs before I make a new stable release. If I don't hear anything then I assume every dialog is working perfectly fine for everyone.

How to test

Just go and download the latest nightly build for Windows or Linux, or build from source on Linux if you rather want to do that. Android does not have the Dear Imgui-based dialogs (and I'm unsure if they will ever have it).

In addition you can also test the new dialogs in the Principia web client, which has seen an update now that all the dialogs have been implemented, but still lags behind the latest nightly and has other issues related to it so keep this in mind. You can access the sandbox in your browser here, and you can play any level on the community site by pressing the "Play in browser (BETA)" link on any level page, which should become more prominent soon.

For a reference of all the dialogs in the game you can see the Imgui dialog tracker page: principia-web.se/imgui. For objects with dialogs I have uploaded this level which contains all objects with a configuration button that have a dialog associated with them, for more streamlined testing.

The most important issues I want to hear about are the critical ones that would be a regression in usability over the old GTK dialogs. I am aware some of the dialogs implemented may not be my best work design-wise (especially some of the lesser used or complex ones) but that all the functionality still is present and functional is the most important part for now. It will take some time getting used to the appearance of the new dialogs if you're an old player but I hope it will be an improvement in the long run.

If anyone wants to try to make a custom colour theme for Dear Imgui that would look nice with the game then that would also be appreciated - I'll likely add a setting to switch between different themes for the dialogs so we can have more than one.

(Avatar)
ROllerozxa
Posted on 2026-07-25 01:03 - in Porting Principia to the web! Link

Now that the Dear Imgui dialogs have become functionally complete and replaced the old GTK dialogs, this has also seen a positive effect on the web version which used the new Dear Imgui dialogs from the very beginning. This means that the sandbox is more or less on par with the desktop version now when it comes to configuration dialogs.

In addition to this I have done further work specifically on the web version to reimplement all the networking code in the game for the web so that you can now log in and upload levels in the sandbox directly in your browser. There is now a banner on the download page linking to the main play page for the web version available here, and the web version has now also been made more prominent on level pages. When pressing the play button you will have the option to pick between the native version of the game if you have it installed, or the web version.

This has been a long time coming but the web version is finally gearing up to be a usable alternative to having to install the game. Of course, performance will be worse and things such as the clipboard and filesystem-related functionality will never work due to the nature of the web, but in terms of accessibility for people just wanting to try out the game or wanting to play the game on a locked down Chromebook, the web version has gotten really solid for that now.

(Avatar)
ROllerozxa
Posted on 2026-07-30 20:20 - in Help test the new Dear Imgui dialogs! Link

Thank you for the testing! Yes this thread is okay to report your findings in, I'll take a look at everything. :)

(Avatar)
ROllerozxa
Posted on 2026-08-01 17:06 - in Help test the new Dear Imgui dialogs! (edited 2026-08-01 17:08) Link

Forgot to reply but I fixed all the issues brought up. Thanks for the feedback!

  • All the "wireless" objects share the same dialogs, but the broadcaster can broadcast to a range of frequencies. The max range it can broadcast is 255, so the max frequency for non-broadcast objects is UINT32_MAX while the max frequency for broadcast objects is UINT32_MAX-255. Or that's how it seems to be in the GTK dialog, so I fixed it to be more like the old dialog and properly clamped the frequency field. I've hopefully also fixed the hang, and other signedness issues in the dialog.
  • Fixed the clamping on the audio setting. By default in Dear Imgui you can bypass range limits in all number fields and you need to specify to always clamp a field which turns out to be a bit error prone...
  • Limited the sticky note text to the limit of the old GTK dialog.
  • Put some reasonable limits for the prompt settings dialog, and also improved the prompt dialog itself to scale better to more text.
  • I also added word wrap to some multiline text fields I forgot to put them on

As for logging - there is no way to get more log output from Principia with just command-line arguments. If you make a debug build there will be another level of debug logs, but they are not extremely helpful IMO and for stuff like hangs you'd really want to have a debugger to step through the execution. Reliable steps to reproduce are still very helpful and I managed to find the place it hung on myself with a debugger.