TWOAS Dev Diary #28

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.


  • It’s very slow, since we’re effectively running a virtual machine inside a virtual machine inside a virtual machine.


  • 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.


Here’s what my development build currently looks like:

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.

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.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.