What is this?I'm building a game which requires the player to interact with a virtual OS. At the moment, the goal of the game is to be a computer which belonged to someone and you explore it, as well as solve puzzles, to learn more about this person. I only have rough ideas of the story at this point. I started building this over the weekend and I plan to continue working on it.
Here's where the app is now (sorry it's not pretty):
The game is built with web technologies. The game has a client side, for UI, and a local server for rendering templates and handling system operations (like reading/writing files). The game is built this way for two reasons:
1) I wanted to leverage HTML and CSS for building a suitable UI.
2) I'm considering adding some sort of scripting system to the game, and I could leverage javascript easily for that purpose in this environment.
3) I'm a web developer by trade, so I know this stuff pretty well.
Progress so farI've been able to run this game through my browser as well as a standalone application (using NW.js).
So far, I've done a good amount of setup work, built out the super rudimentary OS interface (background + taskbar), and worked out building the windows (this is where the majority of coding has gone so far). Each window holds an iframe, like this:
The source of the iframe contains a url to a html page on the local server. This means, the windows can load any arbitrary html code I give it, each of which will act as an application in the OS. The file at /static/apps/test-app/index.html looks like this:
I'm planning on some of these applications to be mini-games, probably built with phaser.js. Others will probably be more mundane, but important apps. I haven't quite planned it all out yet. One other aspect of these windows that I got working is the ability to independently move and resize these windows. This is from an earlier build, but I can confirm the recent versions are able to do this too.