Persistent game state over multiple sessions. Smooth motion. SVG support. Color and alpha mixing. TTF support. Smooth type rendering. Custom cursors. Music, ambience and sound. Window sizing support. No dependency on Electron.

This isn't , but now it can be.

· · Web · 2 · 0 · 4

@jrc03c It's C std c89,

with SDL2,
SDL2_image (for PNG and SVG),
SDL2_ttf (for TTF and font rendering),
and SDL2_mixer (for audio mixing, recompiled to support MP3)

@jrc03c This is a sort of deluxe version of the tech stack @neauoire has been using to make tools to run on Pino. We're trying to make something portable that's also less resource intensive than Electron.

@rezmason What parts of electron are you trying to replace?

@oak Electron solves a lot of problems for us, which is why we ported the games to it a couple years ago. The main problem is that Electron's energy consumption is higher than we'd like, and the Hundred Rabbits software portfolio is divided between Electron and C.

That said, it's easy to just simplify the existing Electron projects into plain web ones, and keep them around for archival purposes. It's not my call, but it'd probably help keep the games around for the long haul

@oak I just woke up and realized I did a shit job of answering your question.😅

We used Electron for basic HTML+CSS+JS and a couple menus. Nothing special!

One game makes heavy use of animated sprites, and another uses ThreeJS to draw 3D lines, but SDL (and probably OpenGL) are well equipped for that stuff.

Web dev tools are great for vanilla JS projects, hopefully we won't miss them too terribly. 🤞

Sign in to participate in the conversation

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.