Entire TSO CAS and other things in HTML5

RHY3756547 said:
Just implemented what I mentioned above. Does anyone have a screenshot of a city with roads? I want to see what they looked like in the original.
I can't believe all the progress you're making RHY! Streets weren't all over the map from what I remember, and have no idea why EA made random strips and culdesacs. Would be cool to see throughout a map would give TSO a Sim City feel.
 
Gabriel_L_Ferraz said:
RHY3756547 said:
Just implemented what I mentioned above. Does anyone have a screenshot of a city with roads? I want to see what they looked like in the original.
560954_468814666504812_104574072_n.png


282560_468814983171447_2088251047_n.png
Unfortunately those are just old beta mockups, the city view never looked that good. :p
 
RHY3756547 said:
AidanM said:
Despite the minor difference that looks just like a city. Wonderful work RHY!!! Glad you had some houses in your cache still! Gahhh do I miss roof art lol. Another question, when you construct a VM successfully what will be next for your project?

Well, the VM is the game! If I crack that, I've basically got the whole thing working, since nearly all of the game logic is in the objects. The part after that would be to get it working over the internet, hence the sims ONLINE. :p
Do objects build off each other, or is each one unique and requires to be cracked individually? I can imagine group objects are going to be the most difficult, maybe skill objects since skill speed is based off the amount of participants.
 
AidanM said:
RHY3756547 said:
AidanM said:
Despite the minor difference that looks just like a city. Wonderful work RHY!!! Glad you had some houses in your cache still! Gahhh do I miss roof art lol. Another question, when you construct a VM successfully what will be next for your project?

Well, the VM is the game! If I crack that, I've basically got the whole thing working, since nearly all of the game logic is in the objects. The part after that would be to get it working over the internet, hence the sims ONLINE. :p
Do objects build off each other, or is each one unique and requires to be cracked individually? I can imagine group objects are going to be the most difficult, maybe skill objects since skill speed is based off the amount of participants.
Objects all use SimAntics, all objects can access each others' subroutines easily and this is used to construct global subroutines which allow objects to control things on a grand scale. The Sims Online expands on this by 1. setting up a system to sync client VMs with a server one and 2. adding some extra primitives for online jobs.

There's an object called Skill Tracker (GUID 0x4A0C562F) in all lots which I believe controls skilling speeds across multiple skilling objects. There's also an object called Skill Degrade (GUID 0x534564D5) which I think controls skills expiring over time (assuming skills don't degrade when you're not on a lot)
 
Skills degrade over time whether their online,offline, or floating in city view. However they may degrade quicker when one is in a lot. So I'm assuming there's a GUID for single money object payouts too, as the more people jamming, gnoming, calling, etc the better payout.
 
I'm currently linking the matchmaker into the CAS demo so that it accesses the same local game resources as it and so that I can include the UCP + get everything in the one program. First though I'll need to set up the system for creating dialogs.
 
I have dialog type uis scripts working:
dialog.png


(missing list box and just content that is in general reliant the game controlling it)
To get the ok cancel buttons to work I had to make imageless buttons implicitly use the default button image, but that seems to have side effects for SAS:

badsas.png


The login dialog and most other dialogs do not have UI scripts and so I have to generate them at runtime. I'll make a system for doing that next. The UCP currently renders perfectly (with no money and time, of course):

ucp.png
 
sasprogress.png

SAS is looking more or less correct now, it's currently reading my "sims" from a precoded JSON array:

Code:
	var simsCache = [
	{
		name: "TestSim", 
		body: 0x0000024c, 
		head: 0x000003a0, 
		skin: "l", 
		city: "Test Center 231,006", 
		cityID: 13, 
		cityServer: null, //not important now
		houseName: null, 
		houseID: null, 
		desc: "This is a test sim!"
	} 
		]

That body and head is that of the proxy sim that appears when your avatar data is missing. The tabs don't currently work and none of the buttons actually do anything yet. I'll try to link it into CAS tomorrow so you can create sims and view them in SAS.
 
lol, the post was meant to show how I could open like 20 of the dialogs and that there was no way to close them... That's fixed now though, and I think the resources are unloading correctly when transitioning to CAS. Not sure about the <audio> elements that control the music, I think I need to do something to the blob url to unload it.

I'm controlling the music with audio elements instead of the game's main AudioContext because the browser would try to decode the whole audio file at once before playing it if I loaded it as an AudioBuffer, blocking the game's execution for around 5-10 seconds. The UI and HIT part of the simulator will play sounds via AudioContext, since most of the audio files are small and will be loaded when initially loading the lot's objects.

I'll have to make another bogus list for cities (which would again in the future be downloaded from a server to contain the actual information) to test the cityselector. Right now I'll just make CAS able to replace the sims on the SAS screen as a test, even though the real game goes straight into the city after you finish creating a sim.
 
Some files corrupted while I was testing, so I decided to pretty up the installer before running it again:
installer.png

It reads some files from the real installer which should be in the folder with the cabs, so again these images are not bundled with the client.

The font used is Comic Sans MS, which is surprisingly similar to the sims font. One weird thing is that all browser font rendering always seems to be shorter than it appears when I'm protoyping with Fireworks.
 
RHY3756547 said:
Thanks for the interest Aidan! You shouldn't get too optimisic though, not until I've got a working SimAntics VM at least. :p The Sims 1's SimAntics language seems pretty well documented, so since the sims online only has a few differing instructions there should be enough information to construct the VM without mining additional information though reverse engineering the binaries. (not really my strong point)

I've got an idea on how to sync the VM to the server with minimal data transfer, but I'll talk about that nearer the time (and when i guarantee that it's actually possible).

Remember to update the wiki when/if you get around to implementing the VM when/if you discover new things!
 


Can now fill the (offline) SAS slots with characters created in CAS. Description boxes are now rendering correctly with scrolling. Next thing I'll need to do is implement the general puropse dialog boxes. (ok, yes/no (or ok/cancel), loading dialog (used in a few places) and login (needs to be hard coded, not actually important right now as the game will be running in an offline debug mode for quite some time...)
 
Here's the Yes/No dialogs in action. I'm not sure if Yes is always on the left or if it's just flipped for retiring a sim because they don't want anyone to accidentally click yes...



OK and OK/Cancel basically just reference different strings with the same backend. Right now the function is called like:

gameUI.addYesNoDialog(title, body, width, mode, yesCallback, noCallback)

where title and body are either literal strings or are localized uitext strings, in which case you input an object in the format: {table:169,index:8} (for stringtable 169, string 8)

mode is 0 for OK, 1 for Yes/No, 2 for OK/Cancel. For mode 0, noCallback is ignored.

The window looks weird because I'm in 16 bit mode to mess around with real TSO; that's what a chrome window looks like when aero is disabled.
 
Back
Top