Use Reddit? Come join our Reddit Sub as another place to follow the community!
Title: Veridian Expanse Demo
slembcke a day ago
Huh... I didn't realize GoL had forums again. I thought they got axed due to some UK child protection law a while back?

Anyway, I've been working on a game part time for a while. I've maintained open source libraries for gamedev for almost 20 years, made many smaller games, and worked on many games as a contractor, but this is maybe the first big game that I'm really proud to call mine. :)

Veridian Expanse is a sci-fi exploration/crafting game with twin stick shooter elements that's heavily inspired by games like Terraria and Subnautica. It's not done yet, this demo is a bit of an early access type of situation, but there's enough solid content for a few hours of fun.

External Media: You need to be logged in to view this.


Since you all are fellow Linux users and like options, here are some to play it. :)

  • [Demo on Steam](https://store.steampowered.com/app/2137670) - easy to run on Steam Deck

  • [WASM based web demo](https://veridianexpanse.com/demo/) - no download required, but with minor quirks

  • [Full dev build on itch.io](https://howlingmoonsoftware.itch.io/veridian-expanse) - source code + binaries for Linux/Mac/Win (includes ARM binaries for Raspberry Pis)



It's written from scratch in C using a handful of libraries. I'm pretty proud of the game's lighting. Normal mapped sprites lit by hundreds of lights in every frame with soft shadows and reflections, all while running smoothly on something as simple as a Raspberry Pi.

Anyway, I'd love if people gave it a try. Also, I'm dying for someone to tell me they compiled it and played in on OpenBSD, or Haiku or something like that. It's a big part of why I wanted to release it with the source code available. :D
User Avatar
Running into compiling errors:
source-code$ make -j DRIFT_SDL3=1
cc -std=gnu11 -0s -DNDEBUG -I . -I src -I ext/tracy/public -D_REENTRANT -I/usr/include/fribidi -I/usr/include/libdrm -I/usr/include/libdecor-0 -DDRIFT_SDL3  -c -o src/base/drift_app.o src/base/drift_app.c
make: cc: No such file or directory

I am pretty sure fribidi, libdrm and libdecor-0 are installed. Running ARM64 Debian 14 (Testing). Vulkan is not available, so I cannot run the rpi64 build.
slembcke 19 hours ago
Interesting, usually systems provide a 'cc' alias that is just mapped to the default C compiler. You can replace that with gcc or clang and it should work. It works on the 3 or 4 Linuxes I've tried it on, *BSD, and Haiku. I know there are a lot of ins and outs to making a very cross compatible makefile, but I kinda just labeled it as a "template" because it seems to work everywhere I tried, but I knew it wouldn't work everywhere. 🀷
PlayingOnLinuxphone 19 hours ago
User Avatar
gcc was not installed, because I was setting up the system last week... compiled, thanks. I am not yet that experienced to see these hints myself. But now I could not run the game. Terminal prints:

Using SDL v3.4.8 -> src/base/drift_app.c:589
Loading additional gamepad mappings. -> src/base/drift_app.c:625
Disabling threads when rendering with OpenGL... Need to fix this. -> src/base/drift_app.c:637
DriftApp no threads -> src/base/drift_app.c:408
Aborted

Sounds like you have to fix that thread-issue? Device is running with GLES2 if that matters, but also tried to force (currently unsupported) GLES3 with same issue. Testing it on purpose not on my main PC, because tried to make it work on a special device as you wished.

Last edited by PlayingOnLinuxphone on 17 May 2026 at 6:11 pm UTC
slembcke 18 hours ago
What hardware are you running it on? It requires GL 3.3, GLES 3, or Vulkan 1.1 at a minimum. That should support most hardware from the last 15 years or so. Add DRIFT_VULKAN=1 to enable the Vulkan renderer, probably will require installing a vulkan dev package of some sort.

The "DriftApp no threads" should really say it's running on a single thread. Not really a bug, just a fallback because there isn't really a cross platform compatible way to do threaded GL rendering AFAIK.
PlayingOnLinuxphone 16 hours ago
User Avatar
It's not about the hardware capability, but the MESA support. [GLES3 is on the way](https://christian-gmeiner.info/2026-02-20-gles3-on-etnaviv-fixing-the-hard-parts/), but but not landed and to my knowledge there is no work on Vulkan done. So sadly I have to wait before I can try it there again and I don't know for how long.

I tried it right now, because GNOME 50 software is also running on GTK4 and therefor GLES3. Forcing the app being rendered in GLES3 (and not in software rendering) works for this kind and is making their apps super smooth ... with a few artifacts from time to time. My hope was it works similar in case I cannot start your game, but doesn't look like. Once it works, I will come back to post it.
LoudTechie 1 hour ago
Was running a self compiled version(I didn't change anything) on my main, but encountered what appears to be a buffer overflow bug in the tutorial. Specifically the harvesting materials part.

Terminal output
 
INFO: Using SDL v2.32.4 βžœ src/base/drift_app.c:593
INFO: Loading additional gamepad mappings. βžœ src/base/drift_app.c:625
INFO: Disabling threads when rendering with OpenGL... Need to fix this. βžœ src/base/drift_app.c:637
INFO: DriftApp no threads βžœ src/base/drift_app.c:408
INFO: Main thread entering scheduler βžœ src/base/drift_app.c:653
INFO: Game start βžœ src/drift_game_context.c:375
INFO: GL 4.6 initialized: βžœ src/base/drift_app_sdl_gl.c:968
INFO:  vendor: Intel βžœ src/base/drift_app_sdl_gl.c:969
INFO:  renderer: Mesa Intel(R) HD Graphics 520 (SKL GT2) βžœ src/base/drift_app_sdl_gl.c:970
INFO:  version: 4.6 (Core Profile) Mesa 25.0.7-2, GLSL: 4.60 βžœ src/base/drift_app_sdl_gl.c:971
INFO: saved 'autosave.vxs' in 110.5 ms βžœ src/drift_game_context.c:214
INFO: Long frame: 219.932914 ms. Skipping ahead! βžœ src/drift_game_context.c:1017
INFO: Long frame: 297.904662 ms. Skipping ahead! βžœ src/drift_game_context.c:1017
INFO: Long frame: 234.172694 ms. Skipping ahead! βžœ src/drift_game_context.c:1017
INFO: Long frame: 267.439856 ms. Skipping ahead! βžœ src/drift_game_context.c:1017
INFO: Long frame: 475.285833 ms. Skipping ahead! βžœ src/drift_game_context.c:1017
INFO: Long frame: 279.202368 ms. Skipping ahead! βžœ src/drift_game_context.c:1017
Fatal error: ext/microui/microui.c:422: assertion 'len + size <= (int) sizeof(ctx->input_text)' failed
Afgebroken
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon Logo Patreon. Plain Donations: PayPal Logo PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register