View on GitHub

Command_and_Conquer_WarZone

We are an indie company making a tribute for Command&Conquer: Red Alert 2

Command and Conquer: WarZone

by StormHowlers

Game info

The game we’re developing is a mix between the classic RTS games and the tower defense genre. It has one very clear objective for both players: “Crush your opposition without showing any mercy!”

Command and Conquer: WarZone, features a streamlined resource system that allows the player to focus on more important tasks such as fighting and defending your precious base. We have also implemented an automatic troop AI, as well as an auto-deploy from the barracks they have been created. This means that once bought, they will automatically be deployed and they will go to their main objective. It can be everything, enemy troops, defensive structures or the Town Hall itself.

The game also features a polished UI so any new players can quickly grasp how to navigate through the UI and allows seasoned players to execute more efficiently. The game also communicates with the players to notify them about the game state via voicelines.

The game is intended to be player with controllers for 2 people at a time.

The Team

StormHowlers Logo

We are an indie game development team formed by 7 students taking the bachelor’s degree in Videogame design and development in the UPC. The game will be developed for the subject Project II. We will be making a tribute to the well-known RTS game: Command&Conquer: Red Alert 2.

Team photo

How to play

As stated in the game info, each player will have one controller where they can control the UI from his faction. The controls of the controllers as well as debugging functions with keyboard/mouse can be found in the next section below.

The main objective of the game is to destroy the opponents’ TownHall.

In order to achieve this, the player must manage resources via gold mines, create troops via barracks and use the defensive buildings(AoE and single-target) to defend all the other buildings. And more importantly, the main base which can’t be built once destroyed nor repaired under any circumstance.

Every button or window in the main UI has a decription about what it does and the stats for the troop/building to be build or deployed.

Buildings and troops

Buildings

Troops

Soldier, WarHound, Engineer, Spy, Tankman

For further information go to the games wiki

Game controls

Controller

In-game

For Debug functionalities check the game’s README here

Contact us!

https://github.com/stormhowlers/Command_and_Conquer_WarZone/wiki

Github

As stated on the license, anyone can look at or modify the code of this project. It can be found here: https://github.com/stormhowlers/Command_and_Conquer_WarZone

License

Licensed under the MIT License

https://github.com/stormhowlers/Command_and_Conquer_WarZone/blob/master/LICENSE.md

Code Features

Some special features included in the code are:

Installation

Decompress the .zip file in any directory. Open the file directory and double click on the executable (.exe). Download the Gold version (1.0) Here

or dowload the desired release here and follow the same steps: https://github.com/stormhowlers/Command_and_Conquer_WarZone/releases

Game Video

Commercial trailer

Game trailer

Gameplay

Teams Roles

Andrés Saladrigas

Mission: Guide the teams members throught the development process.

Objective: Ensure that goals are achieved in time.

Role: Manage objectives, ideas and features in relation with time. Make hard decisions. Guide the team to deliver the final product.

Main idea of the game, later developed and improved with all members. Create a PvP experience making a tribute to C&C games.

Task & Time management

Using web tools as HackNPlan and Teamup

Map Idea and Design

Building and players placement in an Isometric view

Buildings and Troops AI

Independent logic for each building and state machine update for the different troops

Balancing

Buildings and troops stats balancing

Teams Presentations

Deliver and make teams Presentation for investors

Documentation Process

Guidance, struture and writting the proyects wiki

Code zoom and time implementation

Global time for the game and zoom in the games textures

Game Zones

Set actions depending on map zones for building actions and Soldiers actions

Video Manager

Introdicing a the game with a .ogv video

Josep Lleal

Mission: Design and code the UI of the game.

Objective: Make the UI as intuitive as possible.

Role: Make a responsive and useful UI that works.

Design and code of the in-game UI:

Designed with some sprites from the original game and others created with photoshop.

Recreate the pause menu from the original game:

The pause menu has been done with the original sprites although some features have been changed.

Implement the controllers inputs:

Used SDL_GameController to handle game controllers and for mapping joysticks to game controller semantics.

Barracks selection to spawn troops:

When spawning troops you can choose in which barrack you want to spawn them.

Gold Production:

Increasing gold each second by a variable amount depending on the number of mines that are built.

Joan Barduena

Mission: Artistic coorelation of sprites, edition of those and fluid animations.

Objective: Make the sprites as intuitive as possible.

Role: Responsible of no animation bugs and sprite coorelation.

Sprites and animations from XCC Mixer

Extraction of all the necessary sprites with the free program XCC Mixer.

Sprite organitzation to export to Tiled

Used AdobePhotoshop in order to organize the sprites, so later we could load the animations with Tiled.

Sprite change of colour

Nearly all the sprites were from the Soviets. With a Allied palette (blue colours), we changed the sprite colours to differentiate one team from the other.

Music FadeOut

Code implementation of a music fadeout that would not lagg the whole gamem, as it did with the previous code.

Decorations

Code that reads the decoration coordenates from Tiled and passes them to the map.

Adding sprites

Adding invulnerable aura of all troops and building selection.

Victor Chen

Mission: Keep track of bugs in the game and solve them as fast as possible

Objective: Categorize every bug in the game and assign someone to solve it.

Role: Bug solving and code when there are no present bugs

Main menu navigation and buttons

Coded the main menu and all its buttons. Used original sprites and modified others to make the button states.

Bug tracking with GitHub Issues

Used GitHub Issues to keep track of bugs and categorized them depending on which type of bug they were, assigned them a priority level, wrote down the reproduction steps, assigned it a reproducibility level and then I indicated the branch where the bug is present and the current build of the game.

Win/Lose code

Coded the Win/Lose conditions for both players and added the windows and explosion animations (done by the artist Joan Barduena)

SFX/Voicelines

Selected the necessary SFX and put them in code in every instance they are used. I also created brand new voicelines so that the game itself can communicate with the players of the game’s state.

Note: the files that ends with _fx.wav are original SFX from Command&Conquer: Red Alert 2. The other ones are voicelines made by me.

Scene transitions

Added scene transition modules and implemented them into our code.

David Tello

Mission: Make a good and well structured code for the game.

Objective: Ensure that the game doesn’t crash, there aren’t memory leaks and the repository is clean.

Role: Code the main core of the game and first versions of new features as well as to help other teammates with code related issues.

Main Core

Creating the base and preparing it to be used to start coding the game.

Basic UI

Implement the first version of the UI and code the actions and logic.

Buildings and EntityManager

Create the entity manager module and the first versions of the buildings modules.

Build

Place and build the buildings.

Sprite Ordering

Implement sprite ordering.

LifeBars for entities

Add lifebars to every entity that shows its current life.

Tower Range and AoE tower

Show the range of a deffensive tower when building and implement a priority queue for the tower’s targets.

Arnau Gallofre

Sound Related Things

Building Animations

Balancing

Commercial Trailer

Oscar Pons

Mission: Manage team work and balance tasks between teamates

Objective: Properly distibute the workload while the game keeps developing towards the expected result

Role: Code implementation, bug fixing and features optimization

Buildings and Entities

Troops

Map