Future Perfect Update 6

Posted by Max at 13-01-2015

We’re back after our holiday break with a new Future Perfect update. We’ve switched to releasing updates to the main Steam build on Monday, but you can get daily updates by switching to the beta branch.

Heist Game


We’re continuing work on the Heist game mode that we started a few weeks ago during our game jam. The core of the game is about manipulating electronic systems, so we’ve been working on expanding the set of building blocks for making interesting levels.

Some of the new pieces are a “security cage” which can be used to prevent sockets from being hacked and a lock which requires a specific key to activate. We’ve also implemented a timer component which you can see here:


And there’s also a reclaimer that will destroy anything on top of it when it’s activated:


We’re putting all of these elements into a new level:






We’ve got some new artwork, including security cameras, monitors, tables, chairs and plants. You can use all of these assets in your own games by selecting the “Security”, “Plants” and “Tables and Chairs” packages in the editor.


Color Picker


We added a color picker into the editor which is used for adjusting the colors on lights and materials.

color picker

The color picker is a bit bare bones at the moment, but we’ll continue to improve it along with other pieces of the UI as we go. If you have any suggestions, we’re always interested in hearing them on the forums.

Editor Hot Keys


In earlier versions, changing the size of the grid that was used for snapping was done using the + and – keys. This was inconsistent with other tools (including our own editor from NS2!) so we changed it to be [ and ] by default and added options for customizing the keys. We also added a hot key for moving the camera to focus on the selected entities which is Z by default.


Collision Improvements


When the entity is static we use the actual triangles of the model to determine collision detection, but due to performance considerations we need to use a simplified representation when it’s moving. This simplified representation is called a convex hull and it’s essentially the shape you’d get if you tried to cover it in wrapping paper.

For a lot of objects, and single convex hull won’t match the original shape very well, so we’ve added support for using multiple convex hulls that glued together. In this image, the blue dinosaur shows the full triangle mesh that’s used when the object is static. The pink model on the lower left shows a single convex hull which is what earlier versions used if the dinosaur is being simulated by physics. The lower right shows the the same model represented by multiple convex hulls, which you can see matches the shape much more accurately.

convex hulls

The process to build these convex hulls when you add a model to the game is slower than we’d like, so we’ve made it so that it has to be explicitly enabled. Once we have an opportunity to optimize that, we’ll make it happen automatically for all models.

We’ve also made some improvements to the handling of collision in the editor. Now collision files will hot load while the game is running and objects that are moving due to physics can be moved with the gizmo in the Editor while you are playing a game. We also made it so that collision objects attached to bones move properly when the entity animates.

There are a bunch more smaller changes and fixes in this update; if you want to see the whole list, including what we have planned, check out our Trello Board.

You can get access to all this progress, and more, by purchasing Future Perfect Architect Edition.