Remember how I was struggling to make a client-side version of Fleshcult? I’d settled on an approach, but it was still a significant amount of work. Now I’ve found a huge short cut.
There’s this thing called Python CEF and it lets me build a web browser engine into a Python program. I’ll get into the technical details below, but the end result is a totally self-contained version of Fleshcult that runs locally as an application. The downside is that it no longer runs on mobile, and making Mac and Linux versions will require some additional work.
I’ve been working on it for about a week and I’ve already made a lot of progress. I can play through encounters and recruit minions, but there are still of a lot of details to attend to. Hosting the server-side processing has been costing me about $60/month for the past 8 years, so I’m feeling pretty stoked to get that monkey off my back. It also opens up some interesting possibilities that I’ll get to in the next post.
Technical Details
CEF stands for Chromium Embedded Framework. It uses the open source bits of Chrome browser, without all Google’s extra gunk. It’s sort of similar to the Electron framework, except that’s for Javascript and this is for Python.
Does that mean you’ll be running a local web server? Hell no! The browser engine connects to the (formerly server-side) game code via IPC, so there’s no fuckery with open ports. IPC is when two programs love each other very much and exchange messages via the operating system.
Yessss!
“IPC is when two programs love each other very much and exchange messages via the operating system.”
God Damnit
I don’t know coding or programming, but I really like your sense of humour sometimes.