Recursive forking

aidancheddar

Active Member
The Sims Online is a FORK of The Sims. We're reverse engineering Sims Online. The alpha has assets for Sims 1's create-a-sim and neighborhood. Technically speaking, I or anyone else can FORK the reverse engineered TSO code and create TS1 based on TSO technology.
jRmlWTW.png
 
I was thinking something similar to this a while ago. With the code from PD you could then use it to recreate a more modern TS1 with more support for modern hardware and software. You could probably go as far as creating an openworld but you would probably throw a lot of code out.
 
Thanks.
For example, the TSO GUI but with TS1 items too
The TS1 CAS and families
Neighbourhoods
And more is possible.
 
I've thought about doing the same thing too, actually. Having these sprite sheets has me more willing when the code is matured.
Hey, make sure you access the images from their respective TS1 FAR archives instead of extracted ones if you're going to do that!
 
Yep, once SimAntics is fully implemented, (re)implementing TS1 would be a breeze. But it wouldn't be truly interesting until Rhys figures out a way to render all objects in full 3D, like he's mentioned before!
 
I've already got a plan! The implementation would take quite long though and I don't want to focus on it until we have the important stuff...

Basically, it'll be a multiple step process:

1. Generate point cloud using all rotations of specified sprite/draw group (haven't looked into how these work yet) using z buffers.
2. Use a form of Delaunay Triangulation to generate a (very unoptimized!) surface mesh from the point cloud.
3. Raycast on all triangles to determine which of the 4 rotations each is visible from.
4. Combine all nearby triangles with planes with a small angle between them, however do not combine across triangles where the visibility changes. This will be the hardest part...
5. Generate tex-coords using the 4 rotations each tri is visible from, textures are taken from the original sprites.
6. Cache the mesh so we don't have to fuckin do it again! This kind of thing isn't cheap!
 
Last edited:
Only problem might be if the rotations are slightly out of position... The points will become "fuzzy" and the result will be spiky/have weird seams (since the triangulation joins the points).
An alternate solution may be filling a voxel space and having each rotation cut into it as a volume, so we get a voxel representation of the model and can convert that into tris using everyone's favorite 100% efficient algorithm Marching Cubes, or more likely something less stupid.
 
Back
Top