Future Perfect Update 16 is now live on Steam! As usual, we update the Steam “beta” branch daily with the latest, and then once a week we push that out to the main branch along with a post summarizing the most interesting bits.
Over the last couple weeks we’ve been focusing on the things we need to get done to bring Future Perfect to a wider audience. The main goal is to allow new players to jump in and start building and playing their creations within a few minutes. Here are some of the things we’ve been working on.
As we’ve been experimenting and building things in Future Perfect, we’ve been creating a library of different types of objects that can be reused in your own games. We did some reorganizing to pull these objects out of the specific game packages and make them easier for you to access.
We spent a lot of time reproducing and fixing bugs related to networking. These were mostly assert (i.e. error) messages that would be displayed on connection or while you were playing a game with multiple people. We also fixed some movement in the camera in some of the weapon animations and addressed some editor user interface bugs.
Check out Trello to see the whole list of fixes.
Last week we added a right click panel for editing entity properties, and this week we’ve been setting up a lot of our blueprints to use this mechanism.
On the left you can see the complete set of parameters for the player spawner script, and in the context popup on the right you can see the simplified configuration UI:
We added some new features to the annotation of fields in a Lua file. Script fields can now be marked as “hidden” to prevent them from showing up in the user interface. A list of values can also be included in the annotation and those will be shown in the interface as a dropdown selection list. Documentation on the markup can be found here.
Future Perfect has included a facility for drawing debug lines and text for some time, but it was never accessible to script code. Now we’ve added in API functions for creating these primitives from Lua. The debug system is enabled by typing “debug true” at the console (we’ll make UI for this in the future). Once it’s enabled, calling Debug_DrawLine and Debug_DrawText from script code will draw these primitives in the world. You can see it in action here:
The debug system keeps a record of of the last 200 frames and you can scrub though the history by hitting the stop button and then using the slider. This comes in really handy when you want to see something that only happens for a single frame, like the ray trace for the bullet in the video.