Hello again! It’s been a while since our last post, and a lot has changed. First of all, we have completely ditched Bass.NET for a custom solution using only Monogame (like the rest of our audio) and a decoding library called Mp3Sharp. This lets us play mp3 music through the same channels as our sound effects, meaning, you guessed it, speakers ingame (and robot job) can now play game music! No longer are you stuck dancing to silence.

Last month, the simulator underwent one of the largest and most important changes it’s faced recently – the addition of Permissions and checking them.

Giving Maxis our spare key.

But of course, that’s not all. Alongside many quality of life changes, such as the property list and two person object interaction fixes, we’ve also fully implemented sim budgets in a way that will transfer nicely to the global server.

TSO specific game features have always been a priority, since they have not been replicated anywhere else. One such feature, “plugins/EODs”, allows an object to display an interface on the sim’s local machine, and allows it to connect to an “EOD server”, hosted within the object in question. The biggest TSO objects, signs, the nightclub job and pizza, use this functionality extensively to provide interfaces for gameplay simply not feasible within SimAntics alone. The challenge was to implement this “server in a server” system in a way that could easily be extended for all ~20 plugins in the game. As of a few days ago, we were successful!

By far the most useful plugin, the dance floor plugin.

Signs and the Dance Floor plugin, but that’s not all…

Playing Pizza on the night of release!

However, implementing these three does not mean an easy ride for the remaining ones! Each EOD has a custom server which can be complicated (it especially was for pizza! 8 different simantics events, and ~7 freeso ones) and requires a backing implementation for its UI on the live mode panel. Most of the work is done by the UIScripts, however all functionality has to be implemented by hand… unlike SimAntics, where the simulator drives the object functionality from the game scripts!

dancer2
The Signs Interface. Features 4 different modes, one of much enables a tab to set permissions.
dancer
The Dance Floor interface, featuring a cool 25 buttons to queue custom interactions via the Dance Floor Controller.
The pizza interface, which must closely follow the state of the object, who is connected to it and the decisions they make.
The pizza interface, which must closely follow the state of the object, who is connected to it and the decisions they make.

We’ve come pretty far in the past year. It’s still hard to believe that the first online playtest was less than a year ago! You’ll also notice that our Road To Live Release thread only has a few select items left… Crikey, I wonder what this means? 😉

Thank you everyone for following development, and playing what we have so far has definitely been a lot of fun. Great things are to come!

Rhys.