explaingit

dk8827/cnc-port

Analysis updated 2026-05-18

39C++Audience · developerComplexity · 4/5LicenseSetup · hard

TLDR

A native macOS, Android, and iOS port of the 1995 game Command and Conquer: Tiberian Dawn, built from EA's official released source code.

Mindmap

mindmap
  root((repo))
    What it does
      Ports classic C and C game
      Runs on modern devices
      Uses SDL2 for input
    Tech stack
      C++
      CMake
      SDL2
      Ninja
    Use cases
      Play C and C on Apple Silicon Mac
      Build a debug Android APK
      Build an iOS simulator app
    Audience
      Developers
      Retro game fans
    Status
      Core gameplay works
      No release build yet
      No multiplayer yet

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build and run Command and Conquer: Tiberian Dawn natively on an Apple Silicon Mac.

USE CASE 2

Build a local debug Android APK to test the game on a phone or tablet.

USE CASE 3

Build an iOS simulator app, or a signed build for a real device with a developer team ID.

USE CASE 4

Study how a classic 1995 game's source code was adapted to modern platforms and SDL2.

What is it built with?

C++CMakeNinjaSDL2Android NDK

How does it compare?

dk8827/cnc-portamgaber95/rviz_2d_plot_plugindemonixis/openxr-osx
Stars393840
LanguageC++C++C++
Setup difficultyhardmoderatehard
Complexity4/53/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires separately obtaining freeware C&C Gold disc images, plus platform build tools like Xcode, Android Studio, CMake, and Ninja.

Based on GPLv3 with additional terms from EA's original release, source must stay open and the extra terms must be followed.

In plain English

cnc-port is a native source port of the classic 1995 game Command and Conquer: Tiberian Dawn, made to run on modern macOS, Android, and iOS. It is built on the original game source code that Electronic Arts released under GPLv3 with additional terms, and it keeps that source recognizable while making it work on today's hardware, including Apple Silicon Macs and phones or tablets. The repository only contains source code and build tools. It does not include any game data, movies, music, or installers. To actually play the game, a user has to separately obtain the freeware C&C Gold disc images that Electronic Arts released back in 2007, which are now hosted by community sites rather than by this project. On macOS, the game builds and runs using CMake and Ninja, with the title menu and core tactical gameplay already working. On Android, it produces a local debug APK for a specific chip architecture. On iOS, it builds a simulator app, and a signed version for a real iPhone or iPad if the user provides their own Apple developer team ID. Rendering, keyboard, mouse, and touch controls are wired up on these platforms using SDL2 as the underlying library. Some parts are still unfinished. Later campaign missions, save and load behavior, and testing on real mobile devices are not fully validated yet. There is no packaged, distributable release build for any platform yet, and online multiplayer is not part of the current work. Setting it up involves installing developer tools like CMake, Ninja, and for mobile targets a full Android or iOS development environment, then running provided scripts to prepare the legally obtained game data before building. The project is licensed under GPLv3 with additional terms, matching the original source it is built from.

Copy-paste prompts

Prompt 1
Walk me through building this Command and Conquer port on my Apple Silicon Mac using CMake and Ninja.
Prompt 2
Help me set up the Android SDK, NDK, and Gradle so I can build the debug APK for this project.
Prompt 3
Explain how the asset preparation script turns C and C Gold disc images into the game data this port needs.
Prompt 4
Show me how to build a signed iOS device app for this project using my own developer team ID.

Frequently asked questions

What is cnc-port?

A native macOS, Android, and iOS port of the 1995 game Command and Conquer: Tiberian Dawn, built from EA's official released source code.

What language is cnc-port written in?

Mainly C++. The stack also includes C++, CMake, Ninja.

What license does cnc-port use?

Based on GPLv3 with additional terms from EA's original release, source must stay open and the extra terms must be followed.

How hard is cnc-port to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is cnc-port for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.