So… the rocky times of The Peacenet’s development are over, and things are back to normal. Progress is being made on the game and I want to talk about some of the bigger features we’re implementing in The Peacenet 0.3.0, the next major alpha release of the game.
First of all, we’re back on UE4.
I have a confession to make – the MonoGame rewrite was just a scapegoat for me. While doing that rewrite I wasn’t doing well emotionally and couldn’t look at the UE4 version of the game without feeling sick to my stomach due to personal reasons I won’t go over.
I didn’t want to stop working on the game because, developing it truly makes me happy, and cutting it out of my life would only make things worse. So working on the MonoGame version of the game was a way to still have fun while I recovered.
Needless to say these personal issues have been, for the most part, overcome – so I’ve decided to resume work in Unreal Engine where the game is far more developed and polished. I apologize for any confusion I caused during the development of the MonoGame rewrite, hopefully this clears everything up for you guys. With this out of the way, let’s go over some new features!
Full VT-100 Terminal implementation
Ever since ShiftOS, our terminal has been shoddy at best. It does a good job at looking like a terminal and acting like a terminal, however there are a ton of limitations associated with the ShiftOS and Peacegate terminals.
How I got it all working is a story for another blog post, but the basics are that I’ve spent a week or so examining the source code of the suckless simple terminal and using that as a base to rewrite the game’s terminal emulator. This new emulator came with a massive amount of changes to the Console APIs in the game, as well as VT-100 compatibility, complete with ANSI escape sequences to change foreground/background color, bold, italic, underline, blinking, reversing, and invisible text attributes. And this is how it turned out:
So, in The Peacenet 0.3.0, terminal commands can now:
- Display bold text
- Display italic text
- Display underlined text
- Display invisible text
- Display text that blinks
- Display “reversed” text – foreground is background, background is foreground.
- Display invisible text.
- Erase regions of the terminal.
- Scroll regions of the terminal.
- Move the cursor up.
- Move it down.
- Move it to the left.
- Move it to the right.
- Move it to the top-left corner.
- Move it anywhere on-screen.
- Clear the screen.
- Save the cursor position.
- Restore a saved cursor position.
- Save the cursor position AND attributes.
- Restore the cursor position and attributes.
- Reset the entire Terminal display.
- And SO much more.
You likely won’t notice these new features in gameplay as they are mostly cosmetic and behind-the-scenes, however the increased capabilities of our Terminal should make for some interesting ideas for new commands and programs in the future.
There is now a hidden text-only mode in the game, toggle-able with the F3 key. This mode prevents you from using any GUI-based programs and accessing any of the Peacegate Desktop’s features, leaving you with just a fullscreen terminal to play in.
This feature is mostly for those of you who want a more challenging gameplay experience that doesn’t involve a GUI. You can return to the normal GUI environment with the F3 key when you’re in Text Mode, and in fact, your GUI session and your Text Mode session are both preserved when you switch between them!
Icedog has a command line!
As Icedog Mail Viewer is a very prominent part of the gameplay, since Text Mode is a thing, we have added a new mail command you can use to interact with Icedog through the command-line.
This command lets you view your inbox and outbox, see available Missions, read any emails in your mailbox, and start Missions.
Remember the Shiftorium? …Yeah…I do too. It’s back in The Peacenet, but way less of a trainwreck.
In The Peacenet, system upgrades are a form of rewards you can get for being skilled at stealth hacking. These rewards add new features to the OS and the graphical UI, which make the game easier for you to play. They’re not required and, in fact, the game can be played just fine without them, but they can certainly make things a bit easier.
Some upgrades, in fact, may add additional Wallpapers and User Colors to your Personalize app, allowing you to customize Peacegate in different ways.
And last but not least… the fixes.
- CTRL+T now properly opens the Terminal like it should.
- Tutorial dialogs are less obtrusive and are now treated like any other program window.
- The focused window is now always brought to the front while preserving the order of all the other windows.
- Fixed an issue where running a command that contains a flag argument (e.x. “–flag-arg-here”, “-f”) or subcommand argument (e.x. “mail view”) causes a crash if the flag or subcommand is not specified by the player.
- Command usage errors now properly display the prolper usage of the command.
- Command usage errors now prompt the user to see the command’s Manual page.
- Completely refactor the codebase to get rid of unused gameplay mechanics, duplicate code, etc. Make Peacenet Lean Again!
- Burried an angry cat in the content assets.
- Fixed all UI debug asserts from 0.1.x
- Commands such as ls now use proper console APIs.
- The save game is no longer accessible to any part of the game other than the World State, Mission System and World Generator.
- Fixed an unbelievable amount of issues related to entity ID assignment in the save file and world generator.
- System Contexts no longer require a Peacenet Identity to function, allowing for non-personal computes (email servers, Peacenet Sites, non-public computers) to exist without crashing the game when being hacked.
- DNS resolution simulation has been consolidated, meaning that all DNS resolution operations work the same way no matter what.
- “localhost” and “127.0.0.1” both now resolve to your local computer.
- It is now possible to hack your own computer with “gsfconsole localhost” as a result of the fixes above.
- Fixed missing string table entry in Text Editor’s save file dialog.
There’s more to come.
This is in no way a complete list of features and fixes. This update is massive and it’s still a few months out. We’re going to try to get this update out sometime in late September 2019. So, look out for new feature updates! 🙂