Blog

Presentation Slides

Today I gave a presentation on the current capabilities of the PAZ Engine and some applications it may have for my research group.

Text Support Enabled

The PAZ Engine now provides optional text rendering support using the FreeType library, which makes it much easier to convey information to the player. The systems implemented to organize this text rendering will also be used to add the other GUI overlay elements to the engine, meeting a major design goal.

Here’s a screenshot of what this text support can do.

Screenshot demonstrating text rendering in Orbital Space.

PAZ_Math Source Now Public!

The free source code for the PAZ Math library can now be accessed here. Note that the library is not feature-complete at this time, and the high-precision scalar type is still being integrated, but it already provides a number of very useful mathematical types and functions, including everything the PAZ Engine needs.

Making Death Work

I’ve spent too long trying to write the perfect blog post, but I have finally decided that it’s more important to get more content up here and get into the habit of posting regularly. So, today I’m going to talk about the death mechanics in Orbital Space.

I knew going into this game that I didn’t want to have a system of multiple lives or respawning, largely because I’ve always been a fan of the permadeath concept in Rogue-like and Rogue-lite games, but I also knew that I wanted the world to have some kind of persistence after the player died. The mechanic I had originally thought of was saving the game state every minute or so, and then allowing the player to rewind whenever they wanted, including at death. This would make it possible for them to have a second chance before they, say, wasted a little too much fuel maneuvering and were unable to reach a space station before running out of oxygen, but in the end, I decided that the ability to rewind time was too much of a godlike power for the more human narrative experience I’m trying to create.

This brings me to the mechanic I have decided to use instead. Rather than allowing the player to rewind or respawn, or forcing them to reset the game, I will use reincarnation. When the player dies, they will suddenly take the role of a new character preparing to undock their new ship from a space station, just as they started their previous life, but the world will be in the same state as it was when they died. I think that this setup has several advantages. First, the shock of completely losing a character will help keep the player conscious of the consequences of their actions, drawing them more into the roleplaying aspects of the game. Second, because the game’s state is preserved, there won’t be the same amount of disconnect as there would be if they were forced to reset. This is because the actions of their previous characters will still continue to impact the game world.

I’m also looking forward to seeing how overly aggressive players react the first time they try to attack a major space station, because that’s the sort of thing games usually let you do, and very quickly realize that if they act irresponsibly and don’t have enough firepower or influence, the NPCs will punish them.

Engine Open-Source Coming Soon!

At the rate things are progressing right now, I’m reasonably confident that version 0.1 (i.e. beta 1) of the PAZ Engine will be ready for release within the next couple months. This means that the source code will be made open to the public! Keep checking back to see when the release goes live, or use the box at the bottom of the page to sign up for our email newsletter (we won’t overflow your inbox if you do).