I love the ideas Athena! there was that abandoned game by notch (https://en.wikipedia.org/wiki/0x10c) that was going to incorperate a virtual machine that ran actual bytecode and I've dreamed of related concepts as I get bogged down in writing a bloody engine that can do tons of things I don't personally want to do

I'd like to offer that if you plan on some future, server/client like multiplayer?

There's things that will save you a lot of time in the future, if you think about the difficulties of synchronizing/validating the virtual machines, at this point in the design.
For example you could ensure that two virtual machines communicate over a virtual network and add an api for this virtual network into the virtual machine if you wanted internal networking.
or/in addition, you could abstract the interface between the VM and it's input/outputs eg the 'display' - this abstraction allowing for local computer, single player setups but also server/client remote rendering.
The way I understand it - the bandwidth of server/client synchronization (think anti-cheating, screen rendering) was a big sticking point for 0x10c and its scalability/performance.

Would deffo like to hear more as and when you choose to say