Open source re-implementation of The Sims 2 in Unity
Find a file
2022-12-23 11:12:11 -03:00
.github/workflows Delete activation workflow 2022-12-08 03:25:04 -03:00
Assets Test contentmanager. 2022-12-23 11:12:11 -03:00
Packages Initial Commit 2022-04-27 01:25:57 -03:00
ProjectSettings Content System, File System and Unity Tests 2022-04-28 14:45:45 -03:00
TestAssets Test contentmanager. 2022-12-23 11:12:11 -03:00
.gitattributes Add .gitignore and .gitattributes. 2022-04-27 01:24:50 -03:00
.gitignore Clean up filesystem class, fix file changes in DBPFFile, Add DBPFFileTest 2022-12-22 09:16:51 -03:00
.vsconfig Initial Commit 2022-04-27 01:25:57 -03:00
config.example.json update json config to remove language as it's not used yet. 2022-10-22 01:37:08 -03:00
LICENSE.md License 2022-04-29 09:02:20 -03:00
packages.config Initial Commit 2022-04-27 01:25:57 -03:00
README.md Update README.md 2022-12-21 07:28:17 -03:00

OpenTS2

OpenTS2 is an Open-Source Reimplementation of The Sims 2, using the Unity game engine. Also aims to provide a number of modular libraries for working with TS2 formats in a C# environment.

Progress

Currently resource management, asset loading and saving and other engine code is being worked on. There is no playable build yet.

Acknowledgements

Similar Projects

  • FreeSO - Open Source reimplementation of The Sims Online using C# and Monogame. OpenTS2 borrows a lot of code and structure from this project.
  • Las Marionetas - Similar project, aiming to reimplement The Sims 2 by reverse engineering its binary code into C/C++ source code.
  • SimUnity2 - Earlier attempt at a TS2 reimplementation in the Unity engine. Abandoned, succeeded by this project.
  • OpenTPW - Open Source reimplementation of Sim Theme Park / Theme Park World.
  • OpenRCT2 - Open Source reimplementation of Rollercoaster Tycoon 2.

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Development

Prerequisites

  • Unity 2020.3.32f1 - Can be found under "Unity 2020.x", you could also download the Unity Hub and install from there. Unity version is subject to change, please keep an eye on this!
  • Visual Studio 2019
  • A copy of The Sims 2 Ultimate Collection

Setup

You need to have a "config.json" file in the root folder that provides paths to your Sims 2 UC installation and user directories. Copy the "config.example.json" file and rename it to "config.json" to start off, and type in your own paths.

Project Structure

We follow the layout of a normal Unity project except:

  • Assets/Scripts/OpenTS2 - Contains the bulk of the C# code that deals with TS2 formats and files.
  • Assets/Scripts/OpenTS2/Engine - Unity specific code tends to live in here to keep it separate from the more language-independent code in the directory.
  • Assets/Tests/OpenTS2/ - Unit tests following the same directory structure as the Scripts folder.

Testing

We currently use the Unity Test Runner for unit testing code. These tests can be run inside of unity through the test runner tab or if you use Rider as your C# editor, inside of it.