Development Goals

Oliver Brakmann edited this page Jun 20, 2015 · 9 revisions
Clone this wiki locally

Introduction

The OpenRA project has two main goals:

  1. Recreating the original 2D Command & Conquer games with enhancements inspired by more modern RTS games. OpenRA should retain the feel and nostalgia of the older games, but remove the frustrating and dated elements.

  2. Create a flexible 2D RTS game engine that others can use to build their own games. The 2D C&C games were well known for being highly moddable, but this flexibility was lost in the transition to the more complicated 3D game engines. The Tiberian Sun and Red Alert 2 modding communities have performed a commendable job at maintaining these original game engines as a platform for modders, but the lifetime and capabilities of these old engines is limited.

OpenRA is developed by volunteers in their spare time, and so we do not follow a traditional development process with strictly planned milestones and assigned features (although we do make use of these, especially when preparing a new release). Instead, specific features are worked on by individual contributors as their time and interest allows; this can lead to what appears to be piecemeal and sporadic development to an outside observer.

The core development team has a number of long-term goals, which have been planned over a combination of GitHub issues, IRC discussion, and forum posts. The goal of this page is to centralize some of these plans into a single location. These issues are not "owned" by a single person, so if you feel like you can contribute towards the development of one of these goals then please talk to us on IRC and we can set you on the right track!

The following list is a work in progress, and may be out of date.

Gameplay features

  • Properly handle game desynchronization events, displaying an ingame UI instead of throwing an exception.
  • Add support for a global chat system that can be accessed from anywhere in the game.

Modding / engine features

  • Moving the generic RTS gameplay code from the Mods.RA assembly into Mods.Common.
  • Add support for loading 'oramod' packages from the support directory for thirdparty mods.
  • Renaming game-specific trait names (such as IronCurtain or Chronoshift) to generic names (such as Shield or Teleport). [#6336]
  • Moving file parsers for assets and asset containers into mod code to allow other projects to implement their own file types.
  • Move the mod-specific asset installation code into our common mod chooser.
  • Improve support for map scripting by exposing more useful gameplay features to the lua scripts.

Tiberian Dawn and Red Alert

These mods are now essentially feature-complete for multiplayer gaming. The focus for these mods is now:

  • Implementing the singleplayer campaigns [#5490].
  • Adjusting the multiplayer balance based on player feedback.
  • Improving polish and moving closer to the original game's feel, without regressing the intentional changes/improvements.

Dune 2000

Our eventual goal is for our D2K mod to be a faithful thematic recreation of the original game. We are currently a long way from this goal, as there are a number of missing features. The roadmap for D2K is tracked at #7751.

Tiberian Sun / Red Alert 2

The next major step in OpenRA is to add support for the "second generation" Westwood games. This has been a major effort, and will continue for the foreseeable future. The current focus is exclusively towards Tiberian Sun while we implement the low-level components, but Red Alert 2 will be feasible once this work has been completed.

  • Add support for TS/RA2 tilesets and height-mapped terrain [#5350]
  • Rewrite the graphics renderer to support the depth-buffer manipulation required by TS/RA2.
  • Implement support for actor-specific logic (subterranean units, laser walls, gates, etc).