He who controls the past commands the future.
He who commands the future conquers the past.
-- Kane
CCEngine is my attempt to recreate the C&C: Tiberian Dawn and Red Alert 1 games in a single engine. My aim is to emulate the original games as closely as possible with as little hardcoding as possible, so as to make it easy to extend the games as well as the engine itself. The original game assets will be used whenever possible. I am focusing my attention on RA1 first because it is a more advanced game.
CCEngine is programmed in C# on the .NET Core platform with OpenTK (OpenGL + OpenAL).
What is done and what remains to be done?
-
Audio
- Music and sounds. -
Renderer
- Hardware accelerated and capable of post-processing effects. -
GUI
- Handle user interactions (in progress). -
Asset Manager
- Loads files from folders and (nested).mix
files. -
Entity Component System
- Organise data and data transformations related to game entities. -
Game Mechanics
- Simulate the interactions between game entities. -
Tactical AI
- Intelligent pathfinding and target acquisition. -
Strategic AI
- Capable of planning to defeat the player. -
Campaigns
- Map loading, trigger system, mission progression. -
Multiplayer
- Up to eight players. -
Map editor
- Integrated map editor to create your own single- and multiplayer maps with.
These are all the file types that the engine can understand and use.
-
.aud
-
.cps
-
.fnt
-
.ini
-
.mix
-
.pal
-
.pcx
-
.shp
-
.tem
,.sno
,.int
, (etc) -
.vqa
-
.vqp
-
.wsa
CCEngine is cross-platform by default as it is built on .NET Core. I have no plans to support mobile platforms as the games simply were not designed for it.
-
Windows
-
OSX
-
Linux
(not tested yet)
OpenRA strays too far from the original gameplay and is not a drop-in replacement for the original games. I may also be suffering from Not-Invented-Here syndrome.
My aim is to emulate the original games as closely as possible, but I do want to make some interface additions such as right-click scrolling, shift-add units to groups, attack-move command, build queues, and better sidebar cameo sorting. It will also be possible to define new units and such.
TD and RA have almost the same engine, though each do have some unique features. My goal is to implement all unique features in a single engine.
Unique features
- TD: New units are delivered by aircraft on the Nod Airstrip.
- TD: Tiberium damages and kills infantry.
- TD: Visceroids appear on some maps.
- TD: The Nod campaign ending (choose which landmark to unleash the Ion Cannon on).
- TD: Hovercraft can only move horizontally and vertically and shows transported units on top.
- TD: Gunboat can only move horizontally without stopping while firing missiles.
- TD: SAM Site popup before firing animation.
- TD: Obelisk laser graphical effect.
- RA: The Chronosphere and Iron Curtain superweapons.
- RA: Larger maps (128x128 vs 64x64) and more players (8 vs 4).
- RA: Destroyable bridges.
- RA: Cruiser is the only unit in both games that has two turrets.
- RA: Tesla weapon graphical effect.