Bubble universe

For my first-time posting, I’d like to share a fun little experiment created during my recent visit of the Fujiama party. There was a lot of excitement about the so-called Bubble universe algorithm, which creates stunning animated pictures with very few lines of code. Along with my friends implementing it in Atari Basic or C65 w/o floating point, Daniel shared his C variant with me. It goes without saying that I had the urge to run it on Genode as well.

You can find the result here.

This little project may also serve as a simple example of using SDL2 in a Goa project. Right now, it is pretty limited, e.g., it does not support resizing the window. But I’m sharing it anyway.

Sculpt 24.04 users can find it available at my “nfeske” depot in the “Fun” menu. The mesa ROM can just be routed to the black hole.

BTW, for accommodating these kind of software-rendering experiments, it would be really nice to remove the hard dependency of libSDL2 from Mesa. Most of the dependencies listed at pkg/archives are on that account but effectively remain unused.

1 Like

I just tried it on the PinePhone, and it looks great there too! (The window is only half visible, but that half looks really crisp on the high-res screen. :wink: )

Love the cross-platform portability!

1 Like

Impressive idea (result of inspiration and intuition, or of tons of sweat? the original twitter post does not say ^^).

I’m going to test adding this to my own GeDepot so that SculptOS users are not the only ones having fun ! Index of /nfeske/pkg/bubble_universe

This somehow reminds me of a question lingering from my youth (and still unanswered to this day) : for those who remember the Microprose game “Midwinter”, there was a huge island modelled from a game running on a floppy disk. The 700+ KiB disk obviously didn’t contain modelling for hundreds of km² of landscape, so it must have been generated from some sort of fractal formula, which somehow was tuned to generate realistic looking mountain ranges, lakes, and so on (with the human-built settlements obviously hardcoded on top of the fractal landscape). I’ll probably never know how it was done. By contrast, the Bubble Universe seems to be an “open secret”, open for all to see… but still mysterious. Always nice seeing that kind of stuff.

EDIT: on a tangential topic, I think if time permits I’ll start an “ongoing” thread titled “basic app tasks in Genode”, showing how to do certain everyday things in a Genode-based OS… The kind of simple end-user oriented (maybe also integrator-oriented) article that would have been helpful when I started in Genode. Now I just have to figure out how to insert screenshots by URL (and/or by uploading them). I’m not much of a moderator * g *

1 Like

I didn’t have that particular game, but I had a (buggy) demo disk from the same general time-frame that worked along the same lines, and that has stuck in my mind over the years (decades!). You could fly over a large fractal-rendered mini-planet (moon? asteroid?) at good speed, with a view (IIRC) similar to the screenshots of Midwinter. I always hoped that that technique would be used more than it was.

Thanks for the memories! :slight_smile:

Norman, this is off-topic, but I noticed you put this on Codeberg. In my general distaste for MS, I was thinking of using an alternate git host than github, but don’t know how to choose.

From your experience, do you recommend Codeberg? I tend to think along the same lines as you do regarding these things - do you mind sharing a few thoughts on your choices in this area?

Thanks for the nice feedback!

John, regarding your question about Codeberg.org, I cannot offer much insight because I haven’t used it extensively. I picked them because I find their ethos as expressed on their front page very relatable. For my personal projects, it feels good to use a service offered by a non-profit that is close by, and which accepts memberships and donations. I don’t care too much about technicalities like performance or the web UI because I’m using the git command-line interface anyway. The UI is familiar, which I like.

1 Like

Speaking of truly inspiring work, what you write about the generated terrain reminds me on my all-time favorite 4Ktro Elevated. Everything audible and visible (including the terrain) is produced by a mere 4 KiB executable (on Windows). The inner workings are no mystery. The author not only published the source code but explains many of his ideas and tricks in his splendid articles. His work is a treasure.

2 Likes

They’re very loud (in their blog) about their support of the neo-con/imperial narrative… But from a pragmatic point of view, I guess the overarching concern is their hosting reliability and honesty, and they would seem to have a clear advantage over GAFAM-held ‘mainstream’ hosts

“GeDepot” , That’s makes me curious! Is it something in public?

Currently GeDepot (on my chiselapp.com ttcoder repo) is just a few lonely buttons in a window (“install nano3d”… “run nano3d”…). Bare-bones minimalism. It adresses the concern that until now I didn’t have anything in my Ge-based distro to install Genode depot packages and deploy them. In the “hybrid” spirit, I wanted to run not only Be-style apps but also Ge apps, side by side. Anyway, it will have to wait a long long time until I advertises it as anything of interest to Genodians ^^. I’d rather talk about “PartitionSetupGPT” first, as that one could conceivably be a subject of debate, maybe.

With that said, I’ll bounce on that question to mention that bubble-universe looks great! Easiest thing in the world to add some download & deploy buttons for it (it worked exactly the same as nano3d, just had to change the “nfeske/pkg/…” string to point to the right place), Norman’s package downloaded in a few seconds, and the window looks gorgeous. Now I wish I had a CPU-activity app to monitor how much CPU it uses ^^

EDIT: oh, and I’ll have to implement some sort of screenshot utility based on the Capture session, as my camera will only make blurry photos of the screen for some reason.

1 Like

The video of that 4k demo is… downright unbelieveable. Downloaded the explanatory PDF and started reading. I guess I’m in for a treat. The rest of his masterpieces look equally amazing.

EDIT: the formulas and algos start at page 33 of the PDF

1 Like