On The Weight of a Soul‘s new architecture and GUI.
The Plan
While I’m 2 months behind schedule, the general outline of the plan hasn’t changed — I’m going to go ahead with whatever I can and aim for an end-of-year game release instead. This means that after finishing the writing, I’m now working on porting The Weight of a Soul to a new interpreter that lets me do interesting things with JavaScript.
To release The Weight of a Soul as a standalone application, I’m using Electron. This lets me take the fundamentally web-oriented Vorple interpreter and shove it all into a web-browser-bundled package that will run on a variety of operating systems.
Disadvantages
- It’s very slow, since we’re effectively running a virtual machine inside a virtual machine inside a virtual machine.
Advantages
- I’m already familiar with HTML, CSS, and JavaScript.
- CSS is great for creating graphical interfaces that look good at a variety of resolutions.
- Zero effort cross-platform compatibility.
- Most importantly, I can reuse my existing code base with minimal effort — if it wasn’t available, TWOAS likely wouldn’t be released.
Pics
Here’s what my development build currently looks like:
The beginning of the game
As you can see, TWOAS is running inside of a native Windows application window and everything works as you would expect. There’s a fancy banner with location text that changes accordingly, and there are buttons that direct you to the appropriate page or carry out the appropriate function.
A few turns into the game
Older text fades to grey and leaves the most recently printed text in white. I also took the liberty of adding some tasteful CSS fade-in transitions for the text and colors, which you can’t see, but I can assure you make the interface feel much more slick.
I’ll keep working on the interface and implement the rest of the functionality that I aimed for in my mockup. See you next week.