Hello folks, it’s been a while since I posted an update. A number of things have happened since the last post, so I’ll go over them quite quickly.
Firstly, a lot of work has been put into our resource editing tool, Volcanic. It is now possible to make, test and debug new objects entirely from scratch within FreeSO! This is the culmination of 6 months work; you are now able to fully modify and create most resource types that TSO uses.
Many object interactions have been fixed – specifically the food counters, beds, campfire and bubble blower. There are a lot of small changes, but the gist of it is that now there are very few objects that do not work correctly. The only remaining main SimAntics VM features are permissions, budget, and the “plugins” system that drove things like “Pizza” and the sign posts. After these, we can get started on the MMO server.
You may have noticed that the forums are currently down. Don’t worry, we haven’t gone anywhere! They should be back up soon, but while you’re waiting here’s a little teaser for what I’ve been working on. 😉
For all you anti-forums folk, a lot has changed since the last update. The change suit primitive now works correctly, TV sounds are half working, and most importantly the game can now serialize and deserialize entire game states, avoiding the huge wait times people were seeing when connecting to servers.
Chat bubbles and chat history have been added, a ton of bugs have been fixed, and work has begun on a full Independent Development Environment for SimAntics to let users create their own objects! (and us modify existing ones 😉 ) There will be more on this soon, once it’s in a stable state.
To better support the objects and environments present in the original game, we had to switch routing algorithm to one which supported more accurate routing without incurring a huge cost. This combination of a rectangular cover algorithm and A* is performant, fit for purpose and seems to be quite similar to the way the original game does things.
As well as this, a large number of related changes have been made to routing, as well as smaller changes to SimAntics which fix objects such as the Whacketball set, computers and job carpool. Things should generally look smoother and work a little better, but I encourage users to look for regressions and bugs in the new code that I haven’t found on my own!
Hey all, the forums are currently down temporarily. Should be back up soon, it’s just the same database problem we had during the first playtest. You can keep track of all immediate developments on GitHub and the build bot primarily, but the new routing is nearing completion, at which point I’ll write a full blog about it. We’ll probably do a similar thing all the way to release, with detailed blog posts about all the important merges into the master branch detailing what specifically has been achieved, usually accompanied by a youtube video.
The new routing is looking phenomenal, but you might need a comparison video to show just how much better. This will come in a few days, directly after the merge. The roadmap is available on the forums, which I’m still going to be following semi-strictly, so next we’ll be clearing up the suit primitive and handling. Hope you guys are OK with barbie doll style naked sims, since the censor effect will not be immediately available. 😉
A few members of the community have been running play tests pretty frequently, but were coming up against an issue where the server would crash at unexpected moments because of certain interactions or objects. This was causing problems for users attempting to build houses together, so starting now in the release builds all exceptions in SimAntics threads will be caught, and objects that throw them will be reset or removed depending on the circumstance.
We also now have a new client, with the FreeSO logo. This client has a completely changed namespace setup and now builds to “FreeSO.exe”, so make sure to start the correct version when testing!
The latest version enables buy/build online, and by popular request, adds the most important feature by far… “Go Here”! To get these working I had to implement a special variant of object that I’ve dubbed a “Ghost Object”, which only runs its init function and deliberately sandboxes itself away from all other objects, to prevent causing desyncs with the server when these objects are controlled in real time on client only by, for example, the mouse cursor.
Buy mode has also now be changed to act more like the original game. When picking up an object on the lot, you actually pick up a duplicate of it as a “ghost object” which only exists on your side. Changes are only confirmed when you finalize the placement.
The video above is of a play test Zack Casey ran earlier today, where he and other users collaborated on and interacted together on an initially blank lot. Hope you enjoy!