프로젝트 소개
ra-port는 1996년작 Command & Conquer: Red Alert의 비공식 소스 포트로, macOS, Linux, Android 및 iOS에서 네이티브로 실행됩니다. Electronic Arts가 추가 조건과 함께 GPLv3로 공개한 소스 코드를 기반으로 하며, 원래 코드 구조를 유지하면서 SDL2 기반의 플랫폼 레이어(비디오, 오디오, 입력 처리)를 추가했습니다.
플랫폼 지원
- macOS(Apple Silicon): CMake/Ninja로 빌드 및 실행되며, 현재 .app 번들 없이 원시 실행 파일로 동작합니다.
- Linux(Ubuntu): 네이티브 SDL2 데스크톱 실행 파일로 빌드 및 실행되며, 헤드리스 검증을 위한 선택적 Xvfb/ImageMagick 스모크 테스트가 포함됩니다.
- Android: arm64-v8a 디버그 APK를 빌드하며, 가로 모드로 고정되고 터치 네이티브 입력을 지원합니다. 첫 실행 시 앱 저장소에 자산을 추출합니다.
- iOS: 가로 모드 디버그 앱을 시뮬레이터 또는 서명된 arm64 기기 빌드로 구성하며, 첫 실행 시 번들 데이터를 앱 쓰기 가능 저장소로 복사합니다.
게임플레이 상태
캠페인(연합군 및 소련군), 로컬 스커미시, 사운드가 포함된 동영상이 작동하는 것으로 보고되었으며, 데스크톱에서는 키보드/마우스, 모바일에서는 터치/오디오를 지원합니다. 온라인/네트워크 멀티플레이어, 런처/설정 도구, 확장팩, Android/iOS 릴리스 패키징 및 macOS .app 패키징은 구현되지 않았습니다.
게임 데이터
게임 자산, 영화, 음악, 디스크 이미지 또는 설치 프로그램은 포함되지 않습니다. 플레이어는 자신의 디스크나 백업에서 합법적으로 획득한 Red Alert 파일을 제공해야 하며, 준비 스크립트가 이를 assets/redalert 아래의 git-무시 디렉터리로 복사합니다. 디버그 모바일 빌드는 의도적으로 이 로컬 데이터를 번들하므로 배포해서는 안 됩니다.
빌드 및 실행
데스크톱 빌드는 CMake와 Ninja를 사용하며 SDL2 개발 패키지가 필요합니다. 헬퍼 스크립트는 자산 준비, macOS 코드 서명, 및 실행을 처리합니다. Android는 JDK 17, Android SDK Platform 36, NDK 28.2.13676358 및 Android CMake 패키지가 필요하며, iOS는 전체 Xcode가 필요합니다. 전체 화면은 환경 변수로 활성화하거나 macOS에서 Command+Return, Linux에서 Alt+Return으로 전환할 수 있습니다. 소스 수준 테스트와 스크립트 검사는 tests/run_script_tests.sh를 통해 실행됩니다.
이 프로젝트는 의도적으로 보수적이며, 광범위한 재작성보다는 작은 플랫폼별 지원 파일을 선호합니다. 제안된 기여 영역은 패키징, 실제 기기 검증, 저장/로드 강화, 확장팩 지원 및 CI 범위를 포함합니다. 네트워크 멀티플레이어는 현재 마일스톤 범위에서 제외됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.