Since the last blog post, we’ve been busy adding a ton of object types to the collection of upgradable ones. This has enabled a ton of objects to be used for greening that were not usable before, and allows for much more freedom in designing themed properties. Here’s a list of everything we’ve covered:

  • Beds
  • Fridges, Stoves
  • Baths and Showers
  • Fun Objects (PCs, televisions, bubble maker, pool table, basketball… etc)
  • Chairs, Armchairs and Sofas
  • Some “fun” upgrades. Not the category, just ones that do weird things…
  • Drivable Cars

Wait – you never announced that last one! Oh, but we did… on Discord! That’s right, the blog fell behind again, but better late than never.

In this post I’ll be talking about what drivable cars mean, and about some new tools I’m introducing to Volcanic to help content creation in the future.

(the accessory and animation in the above picture are not an actual thing we will be distributing (pls no sue disney), though it is inevitable that custom accessories will make it to the game at some point!)

Drivable Cars

A while back, we introduced some decorative car objects as “premium” items in the decorative category. Immediately there were requests to make them drivable to other lots, but alas! Technology simply was not there yet.

With a recent update, I introduced a new controller object (and a few extra inventory systems) which activate when a player joins the lot. Through some smart engineering, I made a system that can look for “vehicle keys” in your inventory, which contain a reference to whichever car you’ve set as drivable. When you join a property and it finds these keys, it spawns the vehicle at the edge of the lot and you drive in with it, rather than just appearing at the mailbox! This is especially effective for showing off how ridiculously rich you are, if you’ve shelled out the big bux for the limo.

You can start driving any one of the purchasable cars – but first they must be upgraded. Upgrades to make purchasable vehicles drivable can be as much as the vehicle itself, so you should be prepared to shell out for the most premium vehicles! When you upgrade the vehicle, clicking on it should reveal a number of interactions that let you get keys for it, or return them. When you get the keys for a car, they will appear in your inventory til you clear them out. As long as these keys are present (and you still own a car of that type), you will drive into any properties you join with your selected car! Pretty cool, right?

Currently the selection is limited, as the other non-remeshed cars look super chunky in 3D or with any 3D effects that might be applied to them (more on that in the next updates). However, in future it may be possible to recolour some types of car as well, giving you even more opportunities to make things personal.

Could there be cheaper vehicles in the future, for people to “get started” with? Absolutely yes – as remeshes become available for existing carpools they will become purchasable in the catalog, and you will be able to upgrade them to get car keys. We will also be creating some of our own original vehicles, some of which you might only be able to obtain via an event! They don’t even have to be cars, or have an engine at all? Stay tuned for more on that.

The Avatar Tool


Over the past few weeks, I’ve been working on a tool within volcanic that gives you more control over the avatar content system. With the Avatar Tool, you have the ability to create new Animations and Accessories for use in interactions. This is possible thanks to a new GLTF importer/exporter that can import and export meshes, animations, textures and skeletons from the game! Export existing avatar+accessory+animation combinations, edit them in blender to change or add more, and export back to GLTF to put into the game.

I’ve created a few guides for creating content like this with the Avatar Tool, available on the FreeSO Wiki on Github. You could also just go for the pictures. Check it out here:

https://github.com/riperiperi/FreeSO/wiki/Avatar-Tool:-Exporting-and-Importing-Animations
https://github.com/riperiperi/FreeSO/wiki/Avatar-Tool:-Importing-and-Exporting-Meshes-&-Textures

Right now we don’t yet support adding character outfits, handgroups or purchasable collections, though that will likely change very soon. The focus right now is on extending the possible interactions we can add to the game – particularly the ability to add new person to person interactions to the game via new animations!

This will give us a lot more freedom when making new objects for the game, and give animators or character artists a way to contribute to the project. Eventually, you will also be able to create animations and skins for TS1 as well!

Volcanic 2.0?

One of the more complex scripts for the Water Balloons. Click for a closer look.

With the upcoming update to add Hybrid 2D/3D graphics and various optimisations, I’ve prepared quite a few changes to Volcanic that should make creating content and even reading it a lot easier. A lot of them are bugfixes, though quite a few features have been added to improve object creation!

The most obvious thing is support for comments, labels and gotos. Comments can be added to primitives individually, but can also be placed by themselves at any place in the tree. Labels/Gotos allow you to avoid large arrows that cover the entire BHAV by pointing them instead at a goto, which teleports execution back to the corresponding label.

But what is support for these two things without being able to save the actual layout of the tree? Yes, now the layout no longer resets when you re-open the BHAV editor, which will make it a lot easier to edit complex trees over multiple sessions.

All of this is actually mirroring what the Maxis internal format “TREE” was capable of doing, which managed layout and comments for their BHAVs. Unfortunately most of these have been stripped from TS1 and TSO, but they are still present in the TSO Pre-Alpha… and, would you believe it, The Sims Bustin Out? Yes, Volcanic can now read iffs from that game too. If you have any lying around, you can open them up and check out some TS1-derivative trees with their original layout and comments.

Finally, we now support object creation for TS1 in Simitone. It’s a little rough right now as there are so many more rules for objects to not crash in the original, but we’re excited to see what this enables for modding TS1 and potentially even The Sims Bustin Out.

When this version is released, our Water Balloons objects will have all of their scripts fully commented, making them a brilliant place to start learning about the more complicated features+uses of SimAntics. Hopefully this should inspire some more of you to give object creation a shot!

New supported characters!

vietnamese
Some characters added by Cosmatevs!

Not the sim kind of character, the font kind of character! Recently we’ve seen a surge of Thai language players, which was quite surprising when none of the characters they type with appeared ingame! To help with this a little, I added support for multiple character sets to the game, through “extension fonts”. This is still a work in progress, but should allow extra characters from other fonts to be included in addition to the ones in the main font, ideally with users able to drop in their own extensions as needed. Future improvements regarding unicode characters in lot descriptions and direct messages are still a work in progress.

Additionally, Cosmatevs on Github has recently contributed a pull request adding many latin, cyrillic and greek characters that the original font did not have! This should greatly help with UI translations, and object translations when they are fully supported. Check it out here:

https://github.com/riperiperi/FreeSO/pull/154

Whater bout Water Balloons???

As mentioned previously, water balloons are a seasonal catalog item that only lasts for the summer. We’re already a little into autumn, but I figured I’d give you a little more warning before RIPPING them from the catalog. You’ll only have a few days more to purchase them, so get your orders in!

As always, seasonal catalog items will not disappear from your inventory when they are removed from the catalog. You can hit santa with water balloons if you want, but I doubt he’ll be impressed.

 

That’s all for now. I hope you’re all doing well, and I’ll see you in the next blog post!

– Rhys

Yes, the upgrades system is finally ready for public testing! “Silently” debuted during our world emoji day… event… the upgrades system lets you pay additional money to upgrade eligable objects when purchasing them or even afterwards, on the same panel that lets you return objects to inventory. These upgrades can make the object match more expensive versions for motive gain, benefits and even add some extra functionality the object never had before! Our emoji day example was a thinking emoji that spins when you upgrade it, but the real targets are more… practical than that.
Today, we’re debuting the first set of functional object upgrades that aim to free house builders from only using a small slice of the catalog. Soon, it will all be viable. 😌
Visitors will know when an object has been upgraded, as stars will appear next to the cursor when hovering it!

Upgrades for Beds, and where to find them

The Moroccan Bed in TSO is famous for being the only one that is bearable to green with. It’s an important staple of any popular ingame lot, whether it fits in with your property’s theme or not. Rustic style, artsy, scifi? Still Moroccan. Finally, those days have come to an end!
(See the top image for the upgrade panel location and look!)
Four upgrade levels are available for the beds – Cheap, Moderate, Expensive and Very Expensive that have been based on the existing objects and their prices. For example, the child’s bed is at the Cheap upgrade level, the scifi single bed is Expensive, and the morrocan/heart beds are Very Expensive. From the upgrades panel, you can select a higher upgrade level and pay the difference to get its benefits.
As the upgrade levels are the same for each object, and the target price always corresponds to a “flagship” object from each level, you can pay the same price to get the best version of any bed. Note that bunk beds and double beds have a different pricing scheme to single beds, as they have their own benefits.
The Upgrades Panel can be found on the information panel that appears when you pick up an object or select one in the catalog. By clicking the red star button on the top right, you can see a list of all available upgrades along with which is currently selected. You can buy upgrades in bulk from the catalog, or upgrade individual objects after the fact… this will cost you more depending on the object’s level of wear, but the object will be good as new after the upgrade.
When you upgrade an object, it is permanent! I even worked extra hard to make sure that even if the server crashed shortly afterwards, the database would remember that you upgraded the object and not need to roll it back. Good for expensive upgrades! 😉
Bunk beds will cost you a little more to upgrade to max, but they’re essentially two beds in one.

Gradual Rollout

Upgrade Tables have to be created manually per object, and we need to reason about where those levels lie by looking at the tuning and prices of every object in the category (collected in a spreadsheet). To reduce the wait and get more thorough testing of each category, we’ll be rolling out new Upgrade Tables as they are created.
Each weekend for the next few weeks, we’ll be rolling out Object Upgrades for a new class of objects. For example, this week we’re rolling out upgrades for Beds, next week will likely be Chairs, and so on. Early on, upgrades will use existing tuning, for object categories that are already somewhat balanced or aren’t game critical. However, some upgrade rollouts may end up changing an entire category’s tuning (such as the Fun category, which is very unbalanced), and enabling purchasable upgrades for certain objects that add something entirely new.
During this time we hope you try decorating with objects that might not have been viable before, and report any upgrades that you think are not working. While we’re gathering feedback on the system and tuning, we will continue working on the rest of the items on our roadmap in parallel.

We’ll be posting short summaries each time we debut new objects, ingame and in the discord. Check in often for the latest developments! Hope you enjoy the changes, and unleash your creativity with the full catalog.

– Rhys

Hello everyone!

We are happy to announce that the Mentor applications are opening today, and will remain open for the whole of June 2019!

For those of you who missed the Mentor announcement a few weeks ago, a Mentor is a regular player who has been acknowledged by the staff to be trustworthy and capable of assisting the community in some way. Whether this is via generally helping players in the game, answering minor questions in the discord, or even intervening with hostile players and calming a situation. Everyone will be good at something different.

It should be noticed that Mentors will not have any moderator or admin privileges.

As previously stated in our announcement, please note that to be considered for this role you must have a positive behaviour, good attitude and be somewhat thick skinned. This is not a popularity contest; all suitable players will be considered equally, and the role can also be lost if trust with the staff is broken. The Mentor role is also a voluntary position and will not receive any in-game benefits. Mentors will however receive a Discord role and a badge on their in-game profile!

Applications will be reviewed during June and any players who pass will then be offered a 2 week trial in July. Trials must be kept confidential, as we want to see your involvement with the community, not their response to you being on trial for the position.

If you wish to apply to become a Mentor you can do so here ←-clicky clicky. There are some rules to read and accept on the application so please familiarise yourself with them.

Good luck and we look forward to reading your applications. If you have any questions feel free to ask us in the FreeSO Discord or in-game.

Thanks for reading, see you in the crater!

~ The FreeSO Team ~

Hey folks,

Since the neighbourhoods update has been out for over a month and people have become settled in their new town halls, I figured it was about time for an update post on what we’ve been doing… and what we will be! Yes, this post will contain a full roadmap on what we are focusing on bringing to the game before leaving beta. Yes, that is still a thing. Feel free to skim any of the sections and just read headings, as many of them get quite technical.
(If you are still concerned about the contents of the last post, I suggest looking at the post date.)

—————————————————————————

Recent Changes

 

Automatic Reconnection (anti-error 23 tactics)

 

owo what’s this

Back in the olden days, the internet was a very unreliable medium. Transfer speed was low, cross country signal drops were frequent, and everything was just poor in general. Nowadays everything “just works”, and you can guarantee that most connections will stay connected for large periods of time. Most.

Assuming we were past the “extended suffering” period of the internet, FreeSO’s core networking was built with the assumption that when a connection is created, it is only destroyed when the other user quits out of the property/city or their connection drops entirely. It’s predecessor from the original TSO, “Aries”, had an additional feature for handling a third situation – disconnecting due to a temporary line fault, but being able to re-establish connection shortly afterwards via a slightly different connection handshake.

The internet is essentially a huge network with many different routes connecting points around the world. Essentially, depending on your global position, you would have a different route to our server. There’s no guarantee that all of these routes have 100% uptime, or behave nicely with long-lasting connections, so occasionally connections ended up dropping/terminating to some users more than others. This was what was causing “Error 23”, where the user lost connection to the City Server, or simply being booted from the property without warning. This disconnection was instant, and immediately destroyed the sim’s session, booting them from the property they were on.

Disconnecting and reconnecting can cause a small hitch in gameplay, but it’s much better than dropping out entirely.

To solve these issues, I first made this session live on for 30 seconds after the initial disconnection. Given the user has the right authentication available, they can then retry to re-establish connection and regain control of that session, without closing it. This lets users who drop connections or switch networks re-establish connection to the game without dropping out of the property or city! The networking on top of all of this is on another layer of abstraction, so it should all work the same – handling disconnects is just deferred until we know that we definitely cannot reconnect.

An interesting side effect of this is that you can now switch between different internet connections without dropping out of a property, such as a WiFi connection to a 4G one. This is only becoming more important as more devices are able to connect to cellular networks.

This is still work in progress, of course. In some cases the game attempts to reconnect in the wrong situations (a mistake that doesn’t do much) and there are very rare cases where re-connection could still fail entirely. It’s definitely many steps above the instant guaranteed drop we had before, which is useful when you’re doing something long term like a game of Band, Pizza or deep into a… future EOD.

Incremental Updates and New Updater

 

Now has exciting features, such as actually being visible without clicking on it from the taskbar!

The Old

 

Not again!

Since the start of beta, FreeSO updates have been distributed in a really simple way – when you log on, the server tells you the version it’s on and sends you a link to the zipped client with that version. If the version mismatches your client, then you are prompted to download it. When it was downloaded, a simple patcher application simply extracted all of the files in the zip, and reported any hiccups it ran into along the way. Unfortunately, when it hit these hiccups (usually due to access being denied to Program Files or multiple open clients) it usually ended up breaking the client, requiring a redownload via the launcher.

The process of creating this client zip was entirely manual. We had to download the build from our buildbot (servo) manually, add in extra files such as the splash screen, objects and catalog xml, re-zip it all and then upload it to a webserver. This whole process took a lot of manual time, and not all of the moderation team knew how to do it. A more recent problem came from the fact that users updating to the latest version were downloading the full update zip, which recently has been exceeding 120MB.

Updating the server has also been a lot of trouble – to minimize impact on players, we usually end up updating when the server restarts at its usual non-peak time at 9:30 GMT. This involves stopping the server during its restart, uploading a preprepared server zip like the client one mentioned above (this takes time to make) and then extracting it over the server files, making sure some config files are not overwritten. The server files are usually backed up in case a config file is wiped, the database is handled separately. The update download URL had to be updated in the config, and some more things had to be performed manually to make sure clients didn’t log in with the wrong version (before it auto-updated).

All of these things have been discouraging small bugfix updates, as the cost for us and the users is too high and I always have to guide the process, essentially. It’s due to this that I decided to rethink the entire update process, to make it easier to develop the game and cause less trouble when we fix issues or introduce new features.

The New

 

If you felt sorry for us reading that previous paragraph, be assured that things are definitely much better now. For a start, ALL of these steps are now automated. The generation and upload of client and server zips from servo are automated via a “branch” configuration, and queued to apply after any given date on a server restart. This already saves a lot of work (and dependence on me to push the update), as now you can simply click a button to get the process started. This has greatly sped up generating updates for internal testing too, which helps catch bugs before they affect Sunrise Crater.

The real magic behind this automated generation is the ability to generate Incremental Updates. If you’ll remember, the regular client update is essentially the entire FreeSO client zipped up and downloaded every time, regardless of whether you had the game installed already. Our incremental updates are zips that only contain files that have changed from the last update, reducing the size of the update dramatically. For reference, a recent full update was about 126MB, and its incremental update from the previous version was 6MB. These also have a manifest with hashes of the old/new versions of files, and any files that are deleted.

This huge reduction in filesize is good for a lot of things – the bandwidth of client and server, the time taken to update and the number of files where something can go wrong. When you are a few versions behind, we can still use these incremental updates to save space. Say you are 3 versions behind – the full redownload may be around 128MB, but you can get to the current version by downloading 3 incrementals instead (6MBx3 = 18MB). Given that most things in the FreeSO client do not change between updates (existing objects, patches), this incremental update size will always be very small.

On the user side (what you’ll see), you’ll probably already have seen the new incremental updater that has been used for the most recent updates. It’s a lot more fleshed out than our last updater, which simply displayed the file it was currently writing and alerted on any errors. Now it can extract multiple files (eg. multiple incremental updates), shows progress visually, continue to extract files if one or two cannot extract, and rollback the entire process if something goes wrong. This prevents a ton of cases where the game would end up corrupted and unbootable.

If something goes terribly wrong, you switch between cities that use different versions, or you reinstall the game, you can still download the full update at any time. Note that the patcher is now supported on osx (rather than our hacky script solution), though we’re still working out some issues there.

Thanks to these changes, we’re able to be much more confident about pushing updates without worries that people will be locked out of the game, removing some anxiety from development. We look to further this more in future with runtime object/patch updates for live development and emergency fixes, which could lead into a CC platform in the future.

(note: we have also added an auto patcher for TSO version to the game, in case the user installs the wrong version of TSO when attempting to use FSO)

—————————————————————————

Beta Roadmap

 

 

Phew! With all of that out of the way, It’s time to spill all the beans. We’re closer to release than ever before – it’s time to stop the feature creep and get down our core set of features. Here is what will come to FreeSO before it leaves Beta:

2D Mode Refactor (Currently in Progress)

 


If you have a powerful computer, have been on a few object heavy lots (sparkling’s is an easy choice) and have played in 2D AND 3D, you’ll notice that 2D mode actually ends up running a lot worse than 3D, with more stutters and slowdown than you’d expect from a 2D game. This is because 3D mode is intensive on your Graphics Card, and 2D is intensive on your CPU. 3D mode makes enough sense because it has more complex shaders and more triangles, but 2D mode’s shortcomings need a bit more explanation.

The way 2D mode works right now, it has two sprite modes: “STATIC” and “DYNAMIC”. Objects that don’t change often are lumped in “STATIC”, and objects that do are kept in “DYNAMIC”. When a “STATIC” object changes its graphic or moves, it hops into the “DYNAMIC” buffer, which causes the static buffer to be regenerated as the object is no longer there. Buffer regenerations like this are also caused when a wall or floor is changed, or even when you mouse over a wall to cause it to cut away. When changes do not occur, however, the static buffer does not need to be regenerated (or even redrawn in most cases), saving a lot of cpu and gpu power over 3D mode.

The problem is, right now any single change will regenerate the entire buffer – even elements which are far away from the change, are the same or use a different set of geometry. You’ll find that attempting to place flooring can lead to extreme slowdown, lots with many objects and walls stutter heavily when these buffers are regenerated, and the experience simply isn’t great on older PCs that can’t regenerate them quite as fast. The “DYNAMIC” buffer is no better – it could be caching sprite vertices for individual sprites in the buffer… instead it regenerates all of them every frame.

The goal is to get a lot maxed out running well on a laptop CPU, mostly through changes preventing data from being regenerated when it will be the same anyways. This may include other changes such as simplifying the grass shader, optimizing lighting etc – some of which have sliced 11.5% off of cpu time in a current dev build for 2D AND 3D. Similarly, optimizations to things like roofs, terrain and floors will apply to 3D as well, as these elements are shared between both modes. When the update drops, the goal is for the changes to be big enough that you can really feel the difference.

3D Hybrid Mode, 3D shader changes and Dynamic Textures

 

I’m also looking into adding an additional mode called “3D Hybrid” mode, which will allow us to display 3d-only objects within 2D mode. This will allow us to do a few things with custom objects that sprites typically limit us from doing, such as applying dynamic textures (eg. cc images on a poster), having objects with a very large number of states, or even animations. With correct pre-baked AO (and anti aliasing enabled from options), these should blend in pretty well with the other 2D mode objects, but should still only be used when required.

The focus on 3D hybrid should also work the other way – allowing for using 3D mode graphics to still play in 2D isometric, but with smooth rotation and better zooming.

With these changes I will also be looking into including a few more features for our 3D remeshes – such as specular lighting/cubemaps and perhaps normal maps. These would help us better represent objects with really shiny 2D sprites – which right now we simply fake by baking specular into the diffuse texture. I’m not saying we’ll have a full PBR solution, but any improvement will be an improvement.

Upgrade System for Objects and Revised Tuning

You might not be able to see it, but this image represents justice for the rustic wood chair.

Tired of the same Moroccan chair in front of every table? Televisions which are good for nothing except decoration? We realise that one of the biggest problems with The Sims Online is not the number of objects available, but the number of which are viable. You shouldn’t be punished for wanting to have a rustic themed property, so what if you could upgrade your crappy furniture to the same stats as the best? This will essentially be done via a huge tuning replacement table, and the goal is to have similar furniture (chairs, beds) share “upgrade levels”, where objects may differ on which level they start from, but generally cost about the same to get to the best. Obviously crafted objects and rares will always be a cut above, but this should make the catalog a lot more interesting.

These won’t just be assigning the existing tuning values to upgrade levels – we will likely change how each object performs at its best, and add upgrades for objects where there is only one version (eg. the bubble blower fun object). These upgrade levels will be shown when purchasing the object, viewing it in buy mode etc. so that they are easy to identify when trading and selling objects.

Improve Skill Gameplay

 

Maze 2.0? What’s that?

Recently we introduced a concept called “group skill” with the maze object and wargame. This is a faster way to gain a particular skill that involves more user activity, via the Maze game and the increased motive drain while playing. We will be considering tweaking both of these objects to make their benefits more obvious, and adding more objects of this kind to cover more skills. We will also be looking into the speeds and behaviours of the idle skill objects and decay, to see what we can do about the game becoming boring for users not used to the slowed down pace of TSO gameplay.

Note that past beta, we will have a skill lock system that rewards active gameplay over sim lifetime. This will be important for the long lifetime we expect the server to have – as as things are right now (many users with max locks) the game stops making much sense.

Improve Server Infrastructure for Distributed Scale

 

Right now, the FreeSO server runs on the assumption that you’ll only be running one city at once, with the lots and api server running on the same FSO.Server instance. The server has been designed to support scaling in a few ways: multiple lot instance servers for each city server, multiple city servers for each database server, a potentially separate API server… but none of these things have been necessary yet, and do not work as seamlessly as we might like them to. A larger focus on this will future proof any future extensions to the server we might make, such as a second city or a city running a different game version! (similar to Test Center in the original)

Obviously scaling would not be good for our wallets, but it could be inevitable if the game gains a considerably larger number of players. The best approach is to prepare for it regardless!

Dynamic Distribution of New and Modified Objects Without Updates (Stretch)

 

The gingerbread table object needed a few updates past its initial release to get right. Distributing them instantly would be much more effective!

This is more of a pipe dream, but over the course of beta there have been a few times where we have had to update the game just to add a few objects/patches, or fix a game-breaking bug with one. These updates didn’t change any client code or other binaries – just files that were loaded by the game on startup. But what if they could be dynamically loaded and unloaded AFTER startup, and potentially served from the server on demand, without an update?

Essentially, we would be able to push out “temporary” objects and patches on the server side which would be loaded into the server’s content system immediately. When a lot encounters one of these modified or new objects, it would then tell all of the clients about it, and force them to download any missing or updated files for the new object, then load it into their game. This is obviously a simplification, but it would allow live development and testing of new objects in a test server, and deployment of critical fixes or event objects without forcing an update.

This could also lead into a Custom Content platform in the future, where CC objects would be uploaded to the server and served out only to users who encounter them in properties. We’d have different rulesets for visual only changes (on top of the upgrades system mentioned above… you see? it all ties together :angel:), patched script changes and full new objects that would allow placing and using these objects without downloading ALL of them, but while minimizing any hitches that would come from doing so.

Bug Rounds

 

Who doesn’t enter restaurants by climbing a fence?

Over the course of these updates, we will be doing several bug rounds where we will squash some remaining bugs and small issues that have been around for a long time. The priority list is as follows:

  • Pets (free will misbehaving, rules around running away + email for it, occasionally teleporting out of world or becoming unusable)
  • Restaurant Bugs (Alignment of certain job lots, serving large groups of people breaking, round activity tracking)
  • Top 100 Avatars, Relationship Decay (top 100 needs relationship decay to stop its query locking the db for 100 seconds)
  • Hi-DPI
  • Chat Channels (fix bugs, make tab behaviour/hiding more obvious)
  • Various UI bugs and crashes
  • Minor simulator bugs, eg. erratic playback of simulation ticks in some cases.

Don’t worry if I missed any – during these bug rounds I will actively find out what player’s biggest issues are and target them directly. I’ll let you know when I’m doing one!

—————————————————————————

Wrap Up

 

All the features listed here are just what I’ll be working on – you might still be surprised by some additional features, objects and events from the rest of our team in the coming months! Who knows? 👀

To keep better track of this roadmap, I’ll probably set up issues for it and a milestone on Github, alongside the split between master/develop/feature branches I’ve been planning.

FreeSO has always been a hobby project, so it has always been hard to predict how much time would be spent implementing a feature – and it has been especially hard predicting when we were going to leave beta. As always, thank you for being patient – hopefully you won’t have to be for much longer!

– Rhys

At FreeSO, we’re always committed to updating the game to match modern expectations for people sim video games. That is the reason we added 3D mode and new lighting, of course, but there are some crucial areas that have been missed when focusing just on engine improvements. One day, I was eating my 3rd McFlurry™ of the day, writing my daily essay about how McDonalds™ has shaped our planet for the better. I was just getting stuck into a scoop with the world renowned McFlurry™ Galaxy™ Caramel Sauce when I was struck with an epiphany. Solutions to modern problems, should come from modern feedback to modern games.

So I started work on FreeSO Battle Royale. That was too much effort, so I instead looked to criticisms of the latest iteration in a similar series, The Sims. I’ve never played The Sims before, so I’m surprised that their series has so much in common with FreeSO, including pools and the Adult life stage. Looking back on complaints that have been made over the past few years about their most recent iteration, it’s clear there as a lot to learn about making a crowd pleasing simulation game.

We couldn’t be bothered making the fancier pools that TS4 has with all the pool rooms, windows etc… so we have found a better way to improve pools and bring some of that modern charm to FreeSO. Introducing – the BALL POOL.

As flat as you need them, the new FreeSO ball pool is just as functional as regular pools in FreeSO, if not more so.

Yes, every pool in every property is now filled with inflatable balls, and the world is better off for it. We’ve been keeping close tabs on the reception ball pools received in modern Sims games, and decided that it was an overwhelming hit with fans and deserved inclusion in our completely original game too. We’ve decided to include two modes for the ball pit pool, which can be triggered by the complex shaders option. Want more 3D balls than you have ever seen in real life? Check that Complex Shaders option. Want the authentic TS4 experience? Turn it off.

Why would we add ball pools without a special class of sim to sit in them? Yes, you read the title right, toddlers are coming to FreeSO. Due to excessive fan requests, we have decided to add toddlers without adding any other life stages whatsoever. This means that we have spent as much time as possible on the toddler life stage, making it a more polished experience. There is also no aging, as that is not the story we want to tell (and with how long you play this game you’d end up dead pretty fast).

“how did you add toddlers so quickly?” I hear you say? “wouldn’t it take hundreds of hours making new models, textures, and creating new animations for the new skeleton?”. Simply load the game, to find out.

We’re also giving out a free, never before seen object, TODAY ONLY! To go with our update focusing on pools, what better object to roll with than a Pool Filter.
Pool filters are used around the world to keep your pool water from becoming dirty. What? Pools don’t have any water now that they’re filled with balls? I hope nothing bad happens when you try to pump plastic balls through a pool filter…

Log in today to receive your new Pool Filter!

That’s all for today, folks. I hope you enjoy your day. April 1st is truly the real start of spring, as things do really start to heat up around this time of year.

Rhys.