Aspyr seems like a great place to work. Unfortunately, because we are a port house, I have to be very careful about what I talk about – lots of NDAs and the like. So I probably won’t be talking about work much…at least until I ship something.
Work is progressing on my framework. I’m hoping to get it polished off this week so I can get back to the ‘splosions. I was tempted to try to implement a “perfect”, McShaffry-style framework that rigidly separates everything, using standard messages to communicate between subsystems. The advantage of such a system is that it makes things like multiplayer easy – a subsystem doesn’t care where its messages are coming from, so you just package them up and send them over the network.
The disadvantage is that writing such a system takes a long, long time. It probably would have taken me a month to implement such a system…and it feels like overkill for Star Revolution. I was toying with having a multiplayer component in the game, where two people can link up over a LAN and fight with their custom-created ships, but that will be the last thing that gets implemented…if it gets implemented at all.
Now, that’s not to say that the system I’m using is bad…oh, no. My framework is now much better than it was when I used it for Inaria. Putting in states cleared up a whole lot of issues about where certain code should go. I’m expanding the GUI system based on the concept of an immediate mode GUI. GUIs can now also be loaded from disk. I’m also enhancing the font system to do things like automatic word-wrapping (and one cool thing about using OpenGL for my blits is that I get colored fonts for free).
I’ll probably bite the bullet and implement a completely event-driven framework for my third project…whatever that turns out to be. And once it’s done, it’ll be done.
One thing I have got to do, though, is nail down exactly what Star Revolution’s gameplay is going to be like. Because I can’t start designing the interface for the game until I do.