[ARCHIVE] Final Checklist (GIF HEAVY!)

Status
Not open for further replies.

Rhys

FreeSO Developer
Staff member
Moderator
Click here for the discussion thread.

We're at that stage now where we have a lot of small tasks to complete before the server can actually be launched. We should probably get around to picking a city some time soon, as I'll need to gussy it up a bit with roads. Maybe someone could even write a terrain road-map editor! That would be nice.

After these are completed, I will launch a beta test. This will be open, but I don't want you inviting literally everyone to it since the server will likely crash immediately due to some special case I might have missed. Assuming the economy isn't somehow completely broken, all lots, skills and money will be transferred to the real server.

All posts in this thread will include what tasks have been completed. Should look like this:
unknown.png

Fixed whatever this is happening. Busgirl keeps working against me all the time...
☑ Remove doors from Room Obstacles (stops getting stuck in doors)

Incomplete tasks marked with ☐
Complete tasks marked with ☑


Routing:
☑ Remove doors from Room Obstacles (stops getting stuck in doors)
☑ Leaving sims have no collision so that they can exit objects like the mechanical bull regardless
City:
☑ Move Lot
☑ Purchase Lot costing money
☑ Change Lot Category
☑ Clean up instant messaging
☐ Friendship Web
☑ Pick a city and road-it-up
Person Page:
☑ Relationship panel
☑ Skill Lock rules - verify users can apply skill locks and keep track of how many can be applied.
☑ Where am I? and privacy setting
☑ Ignore List
Lot:
☑ Invalidate city server data service for avatars in lots every db update.
☑ Update person page with up to date information, as an extension to the city client data service. (relationships, skills)
☑ Modify Skill Locks while in lot
☑ Category Specific Objects, special behaviour depending on lot category
☑ User objects for sale
☑ Removing objects you do not own sends them to roomie's inventories instead of selling them. (only owners)
☑ Roommates leaving lot
☑ Island surroundings - make less terrible.
☑ Interaction Result
☑ Object Limit (locking also related to category specific)
☑ Lot Admit/Banlist
CAS:
☑ Special cases where it fails - make sure all of these are caught
☑ Verify that running the game immediately starting with CAS lets users do everything without a client/server restart. (also anonymous clients should not be able to do most things)
Bugs:
☑ Exceptions thrown in data service should not be fatal... They are made to be caught.
☑ Unusual routing behaviour (why does failing to route through a door randomly set its permissions attribute to "locked by code"?)
☑ Investigate slow motives for some objects, like TV
☑ Better deserialization of array types.
Account Management:
☑ Registration and simple account management online (web app polling API server)
☐ Administration tools, including ban and transaction monitoring
☑ Distributed safe city/lot shutdown


Maybe later:
☐ Trading EOD
☐ Nightclub EODs
☐ EODs (in general)
☐ Mail & Inbox
☑ Rotate Lot (useful after move)
☐ Object Repair State
 
Last edited:
fc920423bdc949f05ddc8406f498bdd9.gif

☑ Removing objects you do not own sends them to roomie's inventories instead of selling them. (only owners)
☑ Roommates leaving lot

This should help owners gain a little more control over their property, without having to get their roommates to come online or kick them out for messing around.

Added one I missed, but it kind of goes with the locking system required for category specific, where the object will be grayed out, skipped over by Find Best Object for Function, impossible to interact with, and Set to Next will skip over it.
☐ Object Limit (locking also related to category specific)
☐ Distributed safe city/lot shutdown
 

44b0333186ed2d59377d06f30a586d39.gif

57148bd4325403727dfb273d7b164728.gif
(costing money)
f98e3409f0cc053e2f9b08df04c37829.gif

☑ Move Lot
☑ Purchase Lot costing money
☑ Change Lot Category

Small issue with the client data service for move lot (doesn't expect lots to be removed yet), but it is physically moved and behaves correctly. Its road and surroundings are correctly updated in lot view.
City view now remembers how much money you have, and updates it when you attempt any transactions or initially connect.

Still need to implement the "demolish" mode, which will move all persist owned objects to inventory and start the lot fresh (the next time the lot is opened)
 
Disabling stuff. This will lead into object limit.
unknown.png

dd6a6b0fe45875a96c867767251e6d3e.gif

upload_2016-10-3_4-41-37.png
Roommate changes now happen ASAP - the objects are disabled and sent back to the owner's inventory as soon as they are not being used.
☑ Category Specific Objects, special behaviour depending on lot category
Believe it or not, this will also lead into object sale eventually.
 
unknown.png

☑ Island surroundings - make less terrible.
Will only look 100% correct when we've got terrain implemented, then the "coast" will gradually lower into the sea. The surroundings are just empty lots filled with water tiles, however it is possible for roads to go over them, forming a really thin & low bridge across the sea.

Right now if there is no road, the carpool will appear out of world. Your sim will attempt to go to it, fail, and get teleported to the job lot anyways. There will be a solution to this in future!

unknown.png

(snow islands also exist, and beaches look alright)

unknown.png
 
Last edited:
69f912e30ef3aa2f338571fb7de9e960.gif

8f51b7a0b91466d741c218fcfc9398df.gif

5656a5c3f02693d8ebfb57c7bdeee73e.gif

☑ Exceptions thrown in data service should not be fatal... They are made to be caught. (and friends)
☑ User objects for sale


Still cleaning up the UI, but it works. You can also sell things for $0, so be careful!
 
☑ Invalidate city server data service for avatars in lots every db update.
☑ Update person page with up to date information, as an extension to the city client data service. (relationships, skills)

The data service cache for online avatars now only lasts for a set time, at which point it is reloaded to update the representation. This isn't exactly optimal - we should probably only be doing this on database updates via the lot server (needs to signal to city when this happens, but really that could get quite straining), but it works for now.
 
d234c2a0b6fd840dda690e911a2505ec.gif

91c36655b2c2076d1ffe05950aa76c4c.gif

upload_2016-10-17_2-3-30.png

☑ Registration and simple account management online (web app polling API server)
Just a page on our wordpress that accesses the city server api via CORS, nothing special. There is also an IP registration timer

Working on these right now. You can connect after CAS, you just need to restart the game for some reason. Now that I have a registration page, it should be much easier to spam sims testing things.

☐ Distributed safe city/lot shutdown
☐ Special cases where it fails - make sure all of these are caught
☐ Verify that running the game immediately starting with CAS lets users do everything without a client/server restart. (also anonymous clients should not be able to do most things)
 
☑ Special cases where it fails - make sure all of these are caught
☑ Verify that running the game immediately starting with CAS lets users do everything without a client/server restart. (also anonymous clients should not be able to do most things)


Disconnecting during CAS no longer crashes the server. Attempting to use a taken name no longer crashes the server. The client does not need to be restarted after CAS to join the city. Here's some stuff I did after CAS, after burglar cop wired me some money:

unknown.png


unknown.png
 
42ddb3b277f2b5116b78e66365847965.gif

☑ Clean up instant messaging

Added minimize and close. Fixed MyCharacterRef's name not updating correctly in window after your first message if you didn't look at your own person page. Tray icon flashes on new messages on minimized window.

There's a weird issue where the request processing is getting hung up and the networking somehow becomes "behind" for some reason. Only seems to happen to the client I'm not debugging, conveniently.

Quick question, should the tray buttons for messaging always appear, or only appear when the window is minimized?
 
☑ Skill Lock rules - verify users can apply skill locks and keep track of how many can be applied.
☑ Modify Skill Locks while in lot

Had to do some silly database stuff to make sure people don't cheat using the lazy data service, at least while it's lazy. There might be some oddities leaving a lot right now, but you cannot break the rules.

Here's another two that need doing before launch:
☐ Ignore List
☐ Lot Admit/Banlist
 
9f1a68bdaba0f916eb7ff9b23974619c.gif

☑ Leaving sims have no collision so that they can exit objects like the mechanical bull regardless


Also, after recording this I finally implemented shoo for snap failure. Only took forever! I'm tempted to make the shoo interaction max priority uncancelable but that might cause some stupid issues.

a1b7a73e4cd919c859bcc28a51554eb1.gif
 
144cd7f5c22789928a789d71b1b028e8.gif

unknown.png


00a48de6a34cafc83473872a5dd45534.gif

7cde86014b588c33b94a2eb0c30cad61.gif

☑ Distributed safe city/lot shutdown


Shutdown with warning and immediate. Custom messages can be sent to all clients from the admin control panel. Assumes API server is on same server as all cities, and lot servers do not share cities. Still need a lot more work in this but it works for now.
 
Status
Not open for further replies.
Back
Top