Sunday, August 14, 2005

The Game Engine as an Operating System

Among the notes I took a couple of weeks back, I wondered whether there would be any merit to treating (or building) a game engine like an operating system. My thoughts on the matter didn't go very far beyond just asking the question, but today I found an interesting blog post where the maker of the Sylphis 3D engine asks the same thing.

It's an interesting idea, I think. I actually have more experience with operating system architecture than game engine design (and that's not saying much), and I wonder what analogies would have to be employed to fully connect the two concepts. Harry K. suggests that actors in the engine (essentially any entity in the game, concrete or abstract) would all be considered processes running on the OS. But that can't be the extent of it. Processes demand resources from an OS; what resources do actors demand from a game engine? Perhaps they demand scheduling, or a handle to some aspect of the world. (Aspects are...? Are such aspects actors?)

What is memory in a game engine? If the game engine is treated as a virtual machine, is there utility to having virtual hardware?

How many layers of abstraction does this virtual machine need? Is the virtual processor distinct from the virtual OS? Is there a virtual file system?

I need to review one of my college textbooks on OS architecture. I really like thinking about this idea, but I fear it's all over my head at this point. I can't do anything very conducive toward its research except ask questions.

Harry K.'s post is good, though I think it benefits from more than one read.


Post a Comment

<< Home