Hey there everyone – Michael here. School’s back in effect for me, and I imagine it’s the same for a lot of you as well. Or maybe you’re Australian and it’s about to end. In either case, what a wonderful time for my programmer brain to decide it wants to start a new project! I’d like to propose it and guage interest from the community first, though.
So, what is it?
I’d like to revive the Peace Engine. For those who may not know, Peace Engine was Bit Phoenix’s flagship game engine from back when we were known as Watercolor Games. It was built on-top of MonoGame, and was the backbone of The Peacenet.
Peace Engine featured a relatively simple user interface system for building desktop UIs, a module system built on the concept of dependency injection for extending the engine, a real-time OGG Vorbis audio processor, a ShiftOS-esque skinning system for the UI, and basically everything necessary to run The Peacenet, all for the convenient price of a really complicated and annoying development experience!
It’s no wonder we ditched it in favor of the Unreal Engine in mid-2018 and haven’t looked back. But I’d like to give our poor flagship engine another run.
…I hear you ask. Well that’s a good question. It’s always good to ask “why” when starting a project. Why do you need it? What’s it’s purpose? What do you want out of it? I’ll answer all three for you. How about that?
Why does Peace Engine need to exist?
The simple answer is: it doesn’t. I know this already. The Peacenet is doing perfectly fine in Unreal. There’s no real need for us to write our own engine. But I’ll ask you… why the hell SHOULDN’T we?
Last year, while developing Peacenet in Unreal, I took two dual credit courses at St. Lawrence College. Basically, they’re college courses, that you’d typically have to pay tuition to take, but you get to take them for free while in highschool as a way to safely transition into college life and gain experience. You also get both a highschool credit and a college credit, hence the name, dual credit.
In my case, I took two gamedev courses. The first one was an introduction to C++, and the second was an introduction to SDL2 with C++. I’d love to use these skills.
What’s Peace Engine’s purpose?
Peace Engine’s purpose, this time around, is to finally use my SDL2 and C++ skills that I learned last year in a practical way that can be re-used for any games I decide to make that require it’s features.
What do I want out of Peace Engine?
Operating system games, games that are played through a virtualized OS, seem to be popular among this community. Remember we’ve all come from ShiftOS, right? Already, that’s one.
But there was also DarkOS, ShiftOS’s unreleased spiritual predecessor, and Histaccom, DarkOS’s predecessor. TimeHACK was a rewrite of Histacom, and Histacom2 is a literal CONTIHUATION of Histacom. The Peacenet is the spiritual successor to my branch of ShiftOS, I’ve done the ShiftOS in One Week Challenge, and ShiftOS: Tycoon Edition…exists? That’s a ot of games.
Problem is we all have to either fight an existing game engine’s APIs to get what we want, or roll our own game engine and spend months (or even years) getting things to work right. Ugh! Why not have a common, mature, developed engine that supports this stuff out of the box? That’s what I want out of the Peace Engine.
So that’s why.
To reiterate, I want to write Peace Engine again because it’s fun, because it’ll use the skills I have yet to use in a practical setting, and because maybe it’ll make all these gosh darn OS games easier to develop.
So what can you tell us about it?
Not much yet. I still have to plan things out. But there are a few things that are definitely set in stone that I’ll say right now.
- No, Peacenet’s not getting ported to it. I’m not fixing what isn’t broken.
- Yes, it’ll be written in C++.
- No, it won’t be Windows-only.
- Yes, it’ll be open-source.
- No, it won’t be paid or have any royalties.
- Yes, you’ll be able to donate to the project if it starts taking off.
- No, you won’t need to download a clunky launcher to use it.
- But yes, there will be an editor environment, and a scripting system.
Another thing I’ll say, is that I will be reviving ShiftOS–not as a game, but as a demo of the engine’s capabilities, since ShiftOS is the perfect kind of thing to be able to take advantage of the engine. While I’m aware of the stigma and bad reputation associated with the name “ShiftOS,” I’m also aware that it ws my administration of the community, and the lackluster gameplay that were the elephants in the room. This time around, it’ll just be a demo for the engine it’s built upon.
Anyway, more info coming soon. Thanks for reading. 🙂