Posts by ROllerozxa

(Avatar)
ROllerozxa
Posted on 2025-04-28 23:58 - in Contest - Puzzling Puzzles Link

Unfortunately the amount of contest entries was much lower than I expected. 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.

(Avatar)
ROllerozxa
Posted on 2025-05-16 17:20 - in Principia at FOSDEM 2025 Link

Eh? I mean things still haven't changed since last time you asked. Getting to FOSDEM next year is still not realistic unless something very unexpected happens until then.


Though while on the topic of events, I was wanting to attend foss-north this year which was happening in my city a month or so ago. The ticket prices were hard to take, I was going to try to lurk around there however far in I could without a ticket, but gave up on those plans because of more important things I had to attend to at university. It's just life.

(Avatar)
ROllerozxa
Posted on 2025-06-30 21:20 - in A new Principia YouTube channel Link

I have begun uploading uploading some videos to the YouTube channel now. Basically just gameplay videos of me playing through random levels. Hopefully I can keep it up for some time at least.

Please like and subscribe, comment, maximise the watch time and turn your device upside down and like it again (actually don't do the last part).

(Avatar)
ROllerozxa
Posted on 2025-06-30 21:37 - in New server for Principia Link

Screenshotter has been running for a while now on the new server, and everything else has otherwise been working as normal on the new server ever since I moved it.

For a post-mortem on what happened that made me switch from OVH to Hetzner, I wrote a post on my blog about it going into some more technical detail.

In the end OVH never got back to me, but they didn't end up terminating the service either (which still feels strange as I would expect some kind of email that the abuse tickets were closed). However the new VPS from Hetzner has ended up being an upgrade both in specs and the bang-for-the-buck anyway, so I don't really regret migrating over.

(Avatar)
ROllerozxa
Posted on 2025-09-02 00:39 - in Android app developer verification and Principia Link

About a week ago now Google announced probably the most insane thing I've read from them ever since they removed dislikes from YouTube. They will be tightening up the security of Android by disallowing directly installing APKs from developers that do not go through their upcoming verification process, killing off the previous freedom of allowing you to install any apps you want onto your Android device even if it is not available on Google Play.

The announcement in question, straight from Google:

https://android-developers.googleblog.com/2025/08/elevating-android-security.html

How this is relevant to Principia? Well, Principia is already not on Google Play, and the only way to get Principia on your phone is by installing it as an APK either from this website or from F-Droid.

While I personally used to have a Google Play developer account, it was deleted earlier this year for not agreeing to the new privacy invasive developer verification policies first announced on Google Play in 2023, and if that experience is anything to go off of I am very sceptical of these verification requirements Google has announced for apps that aren't even under their direct jurisdiction.

However there is one glimmer of hope that they have in the form of a specific distribution type for "students and hobbyists developers" with lesser requirements and waivers the verification fee, but it appears to come with limitations such as a capped number of total installations. The exact number is not yet stated but it might not be enough to cover how many devices have the open source version of Principia installed on it (I don't have the number but would likely exceed one thousand at this point).

As you may know, there are already a set of hoops you need to jump through to directly install an APK on a regular Android device. I don't know if they will have another way to circumvent these new requirements. Hopefully they do, but it likely won't be pretty, probably requiring a computer to install apps with USB debugging via ADB.

Internationally it will not be until sometime 2027 or later the requirements come into effect, as the plan looks like right now. Maybe things will change by then, or it will be the end for Principia on Android.

(Avatar)
ROllerozxa
Posted on 2025-09-03 00:41 - in Android app developer verification and Principia Link

Google Play Services has some pretty high privileges over the system, they can probably make it work retroactively on older versions of Android. Maybe custom ROMs where you install them after the fact can defang them but I don't know. Completely degoogled ROMs won't have the restriction of course but those are useless for everyday usage anyways, so this would still hit the vast majority of Principia players on Android who want to play on their daily driver phone.

(Avatar)
ROllerozxa
Posted on 2025-09-18 00:36 - in Android app developer verification and Principia Link

I don't know when this appeared but this Google support article now contains a FAQ about the new verification process, which includes this question and answer which I found specifically interesting:

Posted by Google
Q: Is there a way for power users to turn this verification requirement off?

A: Power users can install unverified apps via Android Debug Bridge (ADB).


Sounds like I was right that it will be possible to bypass it through installing via ADB. So I guess we'll likely be somewhat safe, for now.

(Avatar)
ROllerozxa
Posted on 2025-10-20 23:59 - in Principia at FOSDEM 2025 Link

I have submitted a proposal for a Principia stand for FOSDEM 2026. The accepted stands will be announced on the 16th of November.

(I'd also like to temper folks expectations by saying that they get a lot of proposals and only have so much space. I'm not terribly optimistic about it being accepted, but I felt I needed some more action in my life.)

(Avatar)
ROllerozxa
Posted on 2025-11-16 20:31 - in Principia at FOSDEM 2025 Link

The FOSDEM 2026 stands have been announced. Principia was not one of them. Which was to be expected but unfortunate nonetheless.

I won't be attending FOSDEM in a personal capacity either, as the potential plan if it was accepted would entail pulling strings to get myself to FOSDEM to host the Principia stand. Which doesn't make sense if there's no stand to be in charge of.

(Avatar)
ROllerozxa
Posted on 2025-12-10 23:28 - in Android app developer verification and Principia Link

I received an invite to the early access to the Android developer console and it's about as bad as you would expect. Longer post about it on Mastodon from earlier today:

Posted by ROllerozxa
I received an invite to the early access to the Android developer console in my inbox yesterday, the one related to Google's new push to make developers verify Android apps that are distributed outside Play.

Google had talked previously about providing a specific verification tier for students and hobbyists, but with limitation on how many app installs it could have. Well that sounds nice of them, right?

But the question I had on my mind back when I read that was: How many devices would that mean? Ten thousand, a thousand, a hundred?

Turns out it means just twenty. fucking. devices.


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.

(Avatar)
ROllerozxa
Posted on 2025-12-28 00:12 - in Porting Principia to the web! Link

Today I managed to crack the code as to why the game wouldn't render much of anything, and was pretty quickly able to get some stuff rendering in-game finally.

...However, it was not entirely perfect.

But with some more work later, the web version is now in a state where it could theoretically be playable with some levels.

There is now a link on each level page (only visible for logged in users for now) to open the level in the web version to play it directly in your browser directly on the community site, available for both current levels and levels in the archive. It is of course still highly experimental and expect all sorts of bugs and glitches, though I was able to play through Art Adventure without any issues. The playability and performance will vary from level to level. My Marble Maze level should be fairly playable.

(Avatar)
ROllerozxa
Posted on 2025-12-28 23:45 - in Porting Principia to the web! Link

Another batch of fixes have been made to the web port today that are now live. Most graphical glitches should be fixed now and opening the level player in a new tab should fill the browser window now. The link on each level page is now visible to everyone even without an account, which hopefully may make people interested in trying it out.

Having a functional browser version is good in general as it allows for a more convenient way to try out the game without installing it (or if you can't install the game on a computer), and it will also run on platforms where there is no native version such as macOS, iOS and locked down Chrome OS installations. I'm sure people will manage to get it running on even more weird places where there's a modern web browser available.

While the primary usefulness of the web port is being able to play levels from the community site with it, you can go to https://principia-web.se/wasm/ without a level ID in the URL to launch the game normally and go into the sandbox. However it is very limited at the moment as the web version uses the incomplete Imgui dialog backend with a lot of dialogs in the sandbox unimplemented, and all networking code for the game needs to be rewritten for Emscripten in mind in order to work in the web version (currently only downloading levels has been implemented). But things are looking bright for the future.

(Avatar)
ROllerozxa
Posted on 2025-12-29 22:20 - in forum attachments Link

I have now implemented a rudimentary file uploader in the community site that you can access here, if you have permission to use it. I have imported most images that were on the forum into it (which were mostly my posts), and I would highly recommend using it for posting images on the forums in order to prevent link rot, for the reasons stated in my previous post about the instability of third-party image hosts.

Getting access to the uploader is subject to a few criteria. But you have been here for a while, uploaded some levels and posted on the forums you should be eligible. However I will likely lower the criteria to access it once I am more confident in the moderation tools.

(Avatar)
ROllerozxa
Posted on 2026-01-06 15:15 - in A new Principia YouTube channel Link

I have created a PeerTube channel for Principia on the fediverse.games instance. PeerTube is like a decentralised and federated alternative to YouTube that's not controlled by any one corporate entity such as Google, and is good for independence and reaching a more Free software crowd.

https://tube.fediverse.games/c/principia/videos

You might have also seen the new Videos tab in the navigation bar recently. Currently it is just a list of the videos on the Principia YouTube channel, but the plan is for it to be like the old videos section on the old community site where players can share their own Principia videos. And it will be able to support both videos uploaded onto YouTube as well as uploaded to any sort of PeerTube instance, sometime in the future.

(Avatar)
ROllerozxa
Posted on 2026-01-18 11:25 - in Apparatus decompilation Link

Yesterday I gave another go at doing a decompilation of Apparatus. My previous attempt was almost five years ago now and didn't go particularly well, but now I feel like I am much more experienced.

After some quick fixing of decompilation quirks I managed to get it to rebuild, and after some more work I managed to get dialogs to work, levels to load and objects to render! There are still some issues remaining however, most glaring issue being some GUI elements not being drawn, but this is already way further than the last attempt.

This will likely be another slow burn type of project but maybe it can generate some interest from others in helping out. First priority would be getting the game fully working again, and then I would like to see if the game's version of libGDX can be updated from the ancient 0.9.9 to something newer. Or maybe that would be too much work (especially considering Apparatus' old GLES 1.1 code). Either way refactoring, bugfixes and any other QoL improvements are also accepted, this should become the ultimate Apparatus experience.

A decompilation usually also means being able to run it on more platforms, and libGDX is able to run on desktop with its LWJGL backend. I managed to just about get that to run in the previous decompilation, but the amount of issues in that decompilation did not really make it usable. This one should be more viable to get Apparatus running natively on desktop, no Android system emulation required.

The decompilation project is available on GitHub here: https://github.com/rollerozxa/apparatus-decomp

(Avatar)
ROllerozxa
Posted on 2026-01-18 20:35 - in Apparatus decompilation Link

So today I got the game to run on desktop after splitting up the codebase into an Android-specific project and a common project, and then brought in some code from my previous desktop port attempt putting that into a new desktop project, and it works spectacularly, much better than my last attempt. Sandbox works, you can play through challenge levels, and everything.

However one limitation with this desktop version is of course that the dialogs that are implemented as Android native dialogs are unimplemented. To follow Principia's footsteps in choosing the worst GUI toolkit that makes the least amount of sense for a game, I guess these could be reimplemented in Swing. However there are a lot of undocumented keybindings that can be used to e.g. save and load sandbox levels, which I would assume is how the desktop version was used during development.

(Avatar)
ROllerozxa
Posted on 2026-01-27 19:21 - in The Principia Iceberg Link

In 2021, I created a Principia iceberg following the format of other kinds of iceberg images - an image full of references that gradually become more obscure, outlandish and sometimes conspiratorial the further down you go. I originally sent it on the Discord server and it was subsequently forgotten about, but rediscovered it recently while going through some files.

It predates the open source release and a lot of references are to things that happened back in the day and before the open source release, but I still think it's quite interesting:

Since some may be extremely obscure, below is a full list of explanations for every label in the iceberg, going down each level:

Level 1

  • Smiley man: Smiley man was the oldest still working level on the official community site, created by pajlada it was of a smiley made with metal balls. When I began hosting principia-web, I made a homage to this level called "not so smiley man" as a first level.
  • Principia Beta: Before Principia's official release in November 2013, it was in closed beta and available to some well-known Apparatus users. Most of Principia's pre-release beta phase is lost to time, but Nighthawk and pajlada's YouTube channels contained several videos showcasing these early Principia versions.
  • The Principia announcement level: On the official Apparatus community site, sdac created an Apparatus level to announce Apparatus 2: Principia (archived link) back in July of 2012. What's special with this level is that he manually replaced its level thumbnail to white text "PRINCIPIA" on a black background, in reference to, well, Principia. This is the only known Apparatus level that has a manually replaced level thumbnail.
  • Apparatus 2019: Wiki page
  • Gearbox: An unused object. Teased and mentioned throughout the years, but crashes in its current state.
  • Magnet: Another unused object. It was found in an early level by sdac on the community site, and was later made available by the community, either by level hacking or obtaining the level file of sdac's magnet level. It is now available in the sandbox menu in the open source version.
  • Open sourcing announcement of 2016: Wiki page

Level 2

  • Leaked Linux Build: Principia user Jammer312, most known for his Lua levels, once uploaded a level in 2014 that was listed as being uploaded from Linux. This is important, since it is the only level not made by a Bithack employee that was seemingly uploaded from Linux. Some years later I contacted him about it and he claimed that it was simply some kind of bug while uploading, and that he had just uploaded it from Android.
  • Anonymous (user): As the official Principia community site made use of phpBB's database for users, the Anonymous user ID 1 that represents anyone not logged in became visible if you went to the user's user page. The result was strange, showing a personal user page as if you are logged in, despite not actually being logged in.
  • Separator: Another less infamous unused object.
  • Angular Damper: Yet another unused object.
  • Googlebot subscribing to every user: Back when subscriptions were a new thing, search indexers would accidentally index the subscription link, since it was a simple page just like any other page. What this lead to was that several crawler bots would subscribe to basically every user on the site, with Googlebot being the most prominent one. The reason search crawlers and other bots had accounts on the old community site was due to phpBB having pre-registered accounts for them to show in the online users list, which was carried over from the forums to the community site.
  • Bithack accounts: The accounts you used on the old community site back in the day were called Bithack accounts, and you would register them through the Bithack forum. The reason of this was that it was intended to be used for Bithack's future games, but that didn't go as planned.
  • Principia 1.4.0.5: The iOS version of Principia had an unique version number - 1.4.0.5. Since iOS never got 1.5, this was the only version of Principia for iOS that existed.
  • The screenshotting update of 1.5: Around the release of 1.5, the screenshot build of Principia was updated on the community site server, which contained the asset changes of 1.5 before it had even released. It also contained some quirks such as debug stuff on the new robot model (example level).
  • Steam Greenlight: Principia was on Steam Greenlight in 2014, and ended up being greenlit but was never released for Steam. In 2022 Steam Greenlight shut down and the Principia Steam page is no longer available.
  • Community site user bios: The community site would show your Bithack forum signature as a bio of sorts on your user page.
  • pajladatest: Alternate account of pajlada on the old community site which was in the moderator group, although it didn't have the green color associated with phpBB moderators.
  • The switch from bithack.com/forum to forum.principiagame.com: Some time 2015 or 2016 pajlada moved the forum from bithack.com/forum to forum.principiagame.com as part of some server maintenance. This also broke all old forum links as the redirect would not preserve the latter part of the URL.
  • Robots in adventure mode with weird behavior: Robots in adventure mode have a tendency to move into an obstructed layer, effectively getting stuck.
  • Adventure mode far lands: The pre-generated adventure mode levels have weird behavior far out, similar to another indie game of Swedish origin.
  • is_very_shitty: If the device you're playing on is "shitty", i.e. not very good specs-wise, Principia would set the is_very_shitty setting to 1 and reduce the graphics settings. This can also be triggered by crashing during loading. This has since been removed.

Level 3

  • 2012 gravity level (DO NOT RESEARCH): On the old community site there was a level by sdac showcasing artificial gravity using the Gravity Manager object. The level's first revision was dated 1st of April 2012 which is... strange, albeit amusing. The date was almost likely manually changed as a joke, as all other levels with a lower ID are newer than that.
  • The space background is of a real night sky: The EXIF data of the space background image looks like it came directly from a camera. If it was shot by a Bithack employee or if it was taken from somewhere is unknown.
  • "SERIOUS ERROR! CONTACT FBI !": Principia contains tons of log and error messages, but this one was probably the funniest. This error seems to be triggered by downloading a level with an invalid format.
  • Community levels 1-143: Seemingly the first level on the official community site was Smiley Man, but that level's ID is only 144, suggesting there would be even older levels than that. However, levels 1-143 simply displayed a "this level cannot be found" error, which means that they weren't locked. They were deleted. Before the story of the 143 cursed Principia levels starts floating around, pajlada has stated that these levels before Smiley Man was such early in Principia's development that they wouldn't be openable by newer versions. Screenshots for some of these lost levels have been rediscovered when I scraped the old community site to create the new archive for it.
  • The brief community site uptime in fall of 2018: This is mostly based on a personal anecdote - Sometime in fall or winter of 2018 I went onto the official community site and noticed it was back up again. At first I just assumed it was a cached copy of the site before it went down, but dynamic features such as searching was working. Initially being excited to see this, it later went down again and this whole thing feels like a dream looking back on it. But considering Apparatus 2019 was announced the next year the community site may have temporarily gone up to make the game playable again when taking screenshots for the fundraiser description.
  • Version history before 1.1.2: The changelog for the game only goes back to version 1.1.2. On the old Principia Wiki, this was explained that the changelog for versions "before 1.1.2 [are] currently unavailable". While this was simply because they didn't keep track of changes, the wording is... odd, like there was something preventing them from putting it up at that time.
  • The sources of various textures: Most, if not all, of the game's textures are taken from freely licensed texture sites, though a full list has not been created yet.
  • principia_sign.3ds: This is a model found in the game's files. At first without context, you could assume it to be an unused object or easter egg, but it actually used to be a part of the main menu in the early beta days.
  • Shape extruder before 1.5: The shape extruder was officially added to the game in 1.5. However, it was sitting unused in the game before that version. This can be seen as there was a Wiki page made about it way before 1.5's release, as well as having a significantly lower object ID than other objects added in 1.5.
  • Principia's unused music: This was mainly just a theory - Principia doesn't have music, however it might have been planned to have music. Once the Principia source code was released this theory was later corroborated by a text file found in the source repository containing a short credits draft, crediting Daniel Hjerth (who made the music for Apparatus) for the music, indicating that music maybe was planned after all.
  • Adventure mode tutorial: In Principia 1.4, a new built-in level was added - the adventure mode tutorial level. It would teach you how to use various adventure tools and features. In 1.5 this level was made unused due to the major changes to the adventure mode effectively obsoleting it.
  • Old bomber/lobber models: Prior to 1.5, the bomber and lobber models were extremely rudimentary and basically looked like two black sheets on the sides. These were later replaced with more detailed and unique models in 1.5.
  • Miner upgrade actually has a use: Miner upgrade is an unused item that would serve as some form of upgrade to the Miner (later renamed Zapper) item. It does not actually have a use, however it may still have a placebo effect that it feels like you can suddenly mine faster with it.
  • entity:call(): A LuaScript function that allows you to call functions in other LuaScript objects in the level.
  • Pixel Alpha: The Pixel object has a transparency slider that would correspond to the frequency it listens on, making it change size depending on the frequency. While the fact the alpha was used was most likely for reusing the same color picker dialog, it is admittedly a bit weird. You certainly wouldn't be able to figure it out yourself.

Level 4

  • Principia.AppImage: A Linux version of Principia was always being planned back in the day, as the game was fully running on Linux during the game's development, but did not become a reality until the game's open source release. But if the game's development had continued the Linux version might had been distributed as an AppImage.
  • Pajlada's testing community site: pajlada had a test version of the old community site up for a while at pajlada.se. It contained pages upon pages of levels uploaded by pajlada, seemingly for testing purposes. It also had a spinning "TEST SITE" text in the header. (archive link)
  • Real-life Principia robots coming to your house: The Principia indiegogo fundraiser mentioned that if you pledged enough, miniature Principia robots would show up on your doorstep. While this is most likely a joke, it would be cool to see a real-life Principia robot, sentient or not.
  • Tesla Plushies is hidden inside Principia's source code: I don't know, it was funny.
  • The dark web community site mirror: There was no hidden service mirror of the official community site. This is just another funny, also implying the fact that it was accessible from an onion address after the shut down of the old community site in 2018.
  • Principia Construction Set: This was listed as a $1,500,000 stretch goal on the Principia IndieGoGo fundraiser, describing a real-life recreation of the electronics system and other basic objects to create real-life contraptions just like in Principia.
  • Negative jumpers: You can change the value of jumpers to negative values using level hacking, and when you do this they become purple.
  • Illegal LuaScript functions: This was probably referring to the undocumented LuaSocket library available in the LuaScript environment.
  • Non-beta fluid: I don't remember what this was meant to indicate, probably the mention of "more realistic fluid simulation" in one of the fundraisers. Who knows, maybe it will happen someday.
  • Bithack Batteries are real: The Battery object in the game contain two Bithack branded AA batteries. While Bithack AB does not actually produce or sell batteries, it would be a funny merch idea.
  • The fourth layer: Look at what they are hiding from you.
  • Principia for Wii U: This was promised as a stretch goal in the IndieGoGo fundraiser in 2014, back when the Wii U was a current-gen console and had not yet been completely overshadowed by the Nintendo Switch.
  • Object ID 197: If you check the list of objects by ID you can see that ID 197 is the only one that does not correspond to an actual object. When the source code was released it was revealed that while there is nothing associated with that ID in the object creation code (it's literally just an empty function), it is referred to as O_CHUNK and is used internally for representing terrain chunks for procedurally generated terrain.

Level 5

  • ROllerozxa is a secret ex-Bithack employee: Silly.
  • The source code is actually lost: Very silly, proven to be false now that it has actually been released, but this was made before that happened and it is not unheard of for the source code of commercial games to have been lost for one reason or the other.
  • TechZ was pajlada, trying to win all the contests: Silly. TechZ is a player from back in the day that collected a lot of contest trophies.
  • Every Principia APK is personalized: Yet another silly, reference to the "Every copy of Super Mario 64 is personalised" meme.
  • Subliminal messages in the adventure mode: More silly. The adventure mode is mostly random and procedurally generated but the pattern recognition part of the brain will sometimes hallucinate meaning where there is none.
  • The Bithack Game Archive contains malicious versions: Even more silly. Some of the old Android versions that have been archived were modified from their original to patch out license verification. But there does not appear to be any that had malware in them.
  • principia-web is using source code from the original community site: More silly. While principia-web has been greatly helped by the Principia source release giving me access to tools for editing levels, taking screenshots, etc. I have not actually seen the source code of the old community site. That part has, and is, still entirely written from scratch.
(Avatar)
ROllerozxa
Posted on 2026-02-05 22:20 - in Hidden pages on the site Link

This forum thread intends to link to all hidden pages on the website. There is nothing secret about them, I just don't know of a good appropriate place to put a link to them, and they may be too technical or incomplete to be interesting to regular players.

  • Level list: Very raw bullet list of all levels, non-archive and archive (long, may be laggy!)
  • Packages list: List packages that have been uploaded to the site.
  • Statistics: Shows a simple combined graph showing the historical amount of levels, users and comments on principia-web.
  • Sitemaps: Links to the sitemaps that exist on the site for search indexing.
(Avatar)
ROllerozxa
Posted on 2026-02-16 18:59 - in Contest - Crazy Circuitry 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-02-22 23:39 - in Principia meetup at foss-north 2026? Link

foss-north is a FOSS conference taking place in Gothenburg, and is running on 27-28th April this year. Principia will not have any official presence there but I will be around just as myself, if anyone else is attending and would want to meet up at the event. You can get the new Met ROllerozxa badge on your profile if you do!

If there are enough people I suppose we could form a group and go do something else in the city. Not sure what we would do, go to O'Learys and do an ad hoc building competition in person on our phones. We'll see.