오픈TS2
OpenTS2는 Unity 게임 엔진을 사용하여 The Sims 2를 오픈 소스로 재구현한 것입니다. 또한 C# 환경에서 TS2 형식으로 작업하기 위한 다양한 모듈식 라이브러리를 제공하는 것을 목표로 합니다.
진전
현재 이웃 선택기가 있는 기본 메인 메뉴가 구현되었습니다. 동네 정보를 미리 볼 수 있고 동네 기본 보기도 가능합니다.
감사의 말
- 반전토마토.CRC
- TGA 이미지 리더
- 하드웨어 커서 플러그인
- 문샤프
- FreeSO
- DBPF샤프
- NAudio
- NSpeex
유사한 프로젝트
- FreeSO - C# 및 Monogame을 사용하여 The Sims Online을 오픈 소스로 재구현했습니다. OpenTS2는 이 프로젝트에서 많은 코드와 구조를 차용했습니다.
- Las Marionetas - 바이너리 코드를 C/C++ 소스 코드로 리버스 엔지니어링하여 The Sims 2를 다시 구현하는 것을 목표로 하는 유사한 프로젝트입니다.
- SimUnity2 - Unity 엔진에서 TS2 재구현에 대한 초기 시도입니다. 포기하고 이 프로젝트로 성공했습니다.
- OpenTPW - Sim Theme Park / Theme Park World의 오픈 소스 재구현.
- OpenRCT2 - Rollercoaster Tycoon 2의 오픈 소스 재구현.
특허
이 소스 코드 양식에는 Mozilla Public License, v. 2.0의 조건이 적용됩니다. MPL 사본이 이 파일과 함께 배포되지 않은 경우 http://mozilla.org/MPL/2.0/에서 얻을 수 있습니다.
개발
전제 조건
- Unity 2020.3.32f1 - "Unity 2020.x"에서 찾을 수 있으며, Unity Hub를 다운로드하여 설치할 수도 있습니다. Unity 버전은 변경될 수 있으니 꼭 지켜주세요!
- 비주얼 스튜디오 2019
- The Sims 2 얼티밋 컬렉션 사본
설정
- Sims 2 UC 설치 및 사용자 디렉터리에 대한 경로를 제공하는 루트 폴더에 "config.json" 파일이 있어야 합니다. "config.example.json" 파일을 복사하고 이름을 "config.json"으로 변경하여 시작하고 원하는 경로를 입력하세요.
- Unity에서 편집 > 기본 설정 > 외부 도구 > 외부 스크립트 편집기가 Visual Studio로 설정되어 있는지 확인하세요. 기본적으로 솔루션에서와 달리 파일을 별도로 엽니다.
프로젝트 구조
다음을 제외하고 일반 Unity 프로젝트의 레이아웃을 따릅니다.
-
Assets/Scripts/OpenTS2
- TS2 형식 및 파일을 처리하는 대량의 C# 코드가 포함되어 있습니다. -
Assets/Tests/OpenTS2/
- Scripts
폴더와 동일한 디렉터리 구조를 따르는 단위 테스트입니다. -
Assets/Scenes/Test
- Unity 장면과 관련된 통합 수준에서 더 많은 테스트를 수행합니다.-
Assets/Scripts/OpenTS2/Engine/Tests
- 위 테스트를 위한 컨트롤러 스크립트입니다.
테스트
현재 단위 테스트 코드에는 Unity Test Runner를 사용하고 있습니다. 이러한 테스트는 테스트 실행기 탭을 통해 Unity 내부에서 실행되거나 Rider를 C# 편집기로 사용하는 경우 내부에서 실행할 수 있습니다.