Posted by Paul Chote on

A Few Development Topics (2020 Edition)

A lot has happened in the Command and Conquer community recently surrounding the release of the C&C Remastered Collection, and many people have been asking about what this means for the future of OpenRA. In this post I would like to give a few comments on this topic, and show off some updates on OpenRA’s work-in-progress version of Tiberian Sun.

After Jim Vessella (the producer for C&C Remastered Collection) reached out to the OpenRA team, we were proud to co-share (together with the r/commandandconquer subreddit) the first public announcement of what would become the Remastered Collection. OpenRA community members were also invited into the C&C Community Council, where we had close contact with the development team and provided a sounding board for development and design ideas while being able to advocate for the wishes of the community.

Jim and the teams at Petroglyph and EA have done a fantastic job with the C&C Remastered Collection, and the degree of transparency and openness they demonstrated with the community sets a new standard that we hope will lead other companies to follow.

So what does this mean for OpenRA? OpenRA and the Remastered Collection follow different philosophies about how to bring the classic C&C games into the 2020s. The Remastered Collection, as its name implies, upgrades the original game titles with higher fidelity assets and UI improvements while prioritising authenticity to the original gameplay experience. OpenRA’s goal is to envision what these games may instead have been were they developed again now - with features such as Attack Move, multiplayer-focused balance, and extensive modding capabilities designed into the core of the experience.

We believe that both approaches can coexist, and intend for OpenRA to continue following the same philosophies that have guided it so far. Comments from EA suggest that they are also ok with the current situation, and have no plans to interfere with OpenRA in any negative way.

Red Alert civilians
The full range of Red Alert civilians will be available in the next OpenRA release thanks to details learned from the C&C Remastered Collection source code release.

One of the surprise announcements for the Remastered Collection was that the dll files containing gameplay logic (a slightly modified version of the classic game engine) would be open sourced to enable mods, and that it would be released under the GPLv3 to ensure license compatibility with OpenRA and other community projects. We are extremely grateful to Jim and the team for making this happen, and proud to have played a part in this RTS milestone.

OpenRA’s game engine has been developed from scratch over many years using different programming languages and principles to the original C&Cs. This means that we cannot directly copy the source code, but will use it instead as a reference to learn what made the original games tick and to translate concepts and implementation details across where appropriate to improve OpenRA.

The next OpenRA release will contain some initial small fixes based on what we have already learned. One example of this is the original palette remap tables that the original Red Alert used to create the different civilian infantry types that were previously missing from OpenRA’s version. There is a lot more to learn, and we expect that this knowledge will influence and inspire many details in the evolution and growth of OpenRA over the next few years.

A popular question has been whether OpenRA will support the remastered game assets, and I can now confirm (see this GitHub comment for details) that we will work towards this goal. This will take time, as there are a number of technical challenges that must first be solved. We will provide more information on these plans in future posts, or you can follow progress directly on GitHub.

Tiberian Sun selection boxes
Structures in Tiberian Sun now use the correct isometric-style selection boxes.

In the meantime, work has continued on OpenRA’s version of Tiberian Sun. Visible progress has been slow over the last couple of years while we focused on rebuilding parts of the low-level game engine to add the flexibility required to support the “gen2” games (Tiberian Sun, Red Alert 2, and community mods based on them), without breaking support for “gen1” games (Tiberian Dawn, Red Alert, Dune 2000 and existing community mods). This work is now starting to pay off, as we are able to leverage the added flexibility to enable some long-awaited features.

The first of these are the isometric selection boxes used by structures. This may sound like a simple cosmetic change, but behind the scenes many changes were required to replace code designed for simple rectangular regions to understand more complicated shapes (i.e. the irregular hexagons used by buildings). The engine-level changes for this were actually made back in release-20180218, but we have only recently had time to adapt the gameplay code to use it. OpenRA’s isometric selection boxes have some visual tweaks compared to the original game to better integrate with our dynamic zooming and progress bars.

Another major change in Tiberian Sun was its use of variable terrain heights, with vehicles that would visibly drive up and down slopes, and aircraft that would pitch and bank while flying. OpenRA’s support for these features has improved significantly in recent months, and is now complete enough to enable the aircraft flight dynamics.

Tiberian Sun aircraft can finally pitch and bank while flying.

One of the most memorable aspects of Tiberian Sun was its ambience, which was largely created by its lighting effects. Work is almost complete on adding this to the OpenRA engine, with improvements to smooth out harsh steps and apply lighting tints to units making the feature even more immersive.

Tiberian Sun lighting effects
Tiberian Sun's dynamic lighting effects will soon be completed.

Work is also progressing on a number of gameplay features, with improvements to tunnels, building upgrades, TS-specific AI features, and the drop pods support power merged in recent weeks. We have made significant progress in 2020, but there is still a lot more work to finish before we can support a public release. OpenRA is developed by volunteers in their free time, so we cannot predict how long this may take.

What do you think about the future of OpenRA? Let us know in the comments below, on our forum, or community Discord server.