My Simulation is an experimental open source multiplayer game based upon The Sims Online. It attempts to mimic the original game as closely as possible while extending it with new features.
Find a file
2024-04-28 09:04:43 -04:00
Client Fixed the update-libraries script (thanks to Anderson Souza) and added a basic Linux daemon for the server 2012-11-11 17:10:53 -06:00
library Converted FileHandler into a C header 2024-04-28 09:04:43 -04:00
Server New farextract naming logic and a rewritten UTalk decompressor 2013-03-07 16:17:18 -06:00
src Converted FileHandler into a C header 2024-04-28 09:04:43 -04:00
Tools New farextract naming logic and a rewritten UTalk decompressor 2013-03-07 16:17:18 -06:00
.gitignore zTSO 2024-04-28 05:33:13 -04:00
build.zig zTSO 2024-04-28 05:33:13 -04:00
build.zig.zon zTSO 2024-04-28 05:33:13 -04:00
CMakeLists.txt Added Motivation section to README 2024-04-28 07:50:35 -04:00
LICENSE zTSO 2024-04-28 05:33:13 -04:00
README.md Converted FileHandler into a C header 2024-04-28 09:04:43 -04:00
update-libraries.bat Moved to git 2012-10-17 03:21:00 -05:00
update-libraries.mk Fixed the update-libraries script (thanks to Anderson Souza) and added a basic Linux daemon for the server 2012-11-11 17:10:53 -06:00
update-libraries.sh Moved to git 2012-10-17 03:21:00 -05:00

zTSO

zTSO is intended to be an experimental reimplementation of The Sims Online written in Zig that directly accesses NioTSO's C-based libraries.

Motivation

Although an existing and established reimplementation project already exists, it has excess legacy baggage due to it originally being based on .NET Framework 3.5 and XNA, among other things. This has limited its accessibility. Although NioTSO has been abandoned for quite some time now, the foundation remains solid. The client perfectly simulates a loading screen, plus it can render Sims and objects flawlessly.

The problem is C is, well, C. ¯\_(ツ)_/¯ Accessing NioTSO's code in safer languages like Go or Rust has been historically been difficult. While Zig is still in its infancy, it has proven to be perfectly capable of doing this without jumping through hoops. Making it well worth giving it a try.

Will this succeed? I have no idea. I'm not much of a game developer, but that hasn't stopped me from dreaming.

To do

  • Rewrite header files

  • Write Vitaboy renderer in Zig

Requirements

  • The Sims Online
  • Zig 0.11 or newer
  • OpenGL

Getting Started

  1. Clone the Repository:

    git clone https://github.com/tonytins/ztso.git
    
  2. Navigate to the Repository:

    cd zsandbox
    
  3. Run the Examples: Execute the code examples using the Zig compiler. For instance:

    zig build run
    
  4. Experiment and Learn: Modify the code, try out different constructs, and see how Zig behaves.

License

I license this project under the GPL-3.0 license - see LICENSE for details.