Posts Tagged ‘MMORTS’

First patch upcoming and a new gameplay video in the meanwhile.

Thanks to our first players for joining!

It’s a real pleasure to see you fight for the domination of the very first planet of Win That War! and to read your comments. They are already helping us improve the game.

Everything is not perfect yet, we know that, but the team is working on fixing the issues that has been reporting to us and the first patch will be out this Friday. This should fix the major problematic crashes, among other things.

If you haven’t joined the Galmactic Conquest yet, today is the last day to enjoy the -25% discount. Quick, grab your copy.

In the meanwhile, you can watch our new online campaign gameplay video, with the new GUI this time!

The conquest system in the MMO campaign

The MMO campaign in Win That War! consists in acquiring new planets on behalf of your mega-corporation. How does it work?

A planet is divided into several hundreds of territories, all randomly generated. Each of these territories can host up to 9 players – 3 from each mega-corporation – simultaneously.


At the start of the game, the planet is entirely virgin, since it has just been discovered. The domination is made territory after territory.

The conquest of a territory is based on the score of the established mega-corporations. This score is calculated, among other things, according to the value of the buildings in the bases of its players. To claim a territory, a mega-corporation must achieve a minimum score. Thanks to a system of relay antennas, which limits the expansion of a player’s bases, it is very difficult to acquire a territory alone, so cooperation between players is highly recommended.


When a territory is dominated by a mega-corporation, it takes its color in the planetary view. But it is still “contestable”.

When a territory dominated by a mega-corporation is entirely surrounded by other territories dominated by the same mega-corporation, it becomes a “locked” territory, and only the players belonging to that mega-corporation can access it. To collect resources, for example.


Finally, newly discovered planets will be exploitable for a limited time only. At the end of the allocated time, the Galactic Board, the highest body in Win That War!, will announce the victory of the mega-corporation owning the most territories on the planet.

Dynamical sound-design: the Artillery

For Win That War! we chose to work with the Wwise audio engine, which offers a greater autonomy to the sound designer.

Freed from technical constraints thanks to a tool such as Wwise, which brings a real flexibility of use and very intuitive tools for sound integration, all that remains is to be creative: recover the events of the game to play the sounds of the objects, of the atmosphere, the feedback, the music… and work the sound in its entirety to create a cohesion between all these sounds.

For this first article about Sound Design, we chose to talk about one unit in particular: the Artillery.
This is the 2nd part of the article about the Artillery animation, you can read it here.

artillery win that war

The Artillery is a vehicle which, in the game, plays several animations. To achieve the sound of the vehicle and stick to its animations, we divided it into five parts:

  1. Movement
  2. Artillery landing
  3. Cannon deployment
  4. Artillery shooting
  5. Artillery “take off”


Movement :


An engine sound is played when the vehicle is moving, two events allow the sound to start and stop.

These events are common to all of the vehicles of the game, they are linked to a switch in which the sounds of vehicles are located.

  • StartEngine
  • StopEngine

Wwise events


The “StartEngine” event plays the “EngineSounds” switch. The “EngineSounds” Switch contains all the sounds of all the vehicles. These sounds are named exactly the same both in the switch and in the code of the game, playing the sound corresponding to the right vehicle.


The “StopEngine” event mutes the sound of the vehicle played in the “EngineSounds” switch. The selected line (dark gray) corresponds to the action performed by Wwise on the selected object.

Wwise sequence


The “EngineSounds” switch on the main tab (and not the event tab) contains the vehicle movement sounds. By selecting the sequence of the Artillery, we enter the settings window.


Artillery landing:

At the very moment the vehicle sets into position on the ground, a sequence of sounds is played, triggered by a “code” event, which plays the sounds in Wwise.

This sequence consists in several sounds which are played one after the other, or overlap one another.

  • ArtilleryLand
  • ArtlleryLandRotation
  • ArtilleryDeploymentTurret

Wwise event


The « ArtilleryLand » event plays the Artillery landing sequence.

Wwise sequence


This “Container sequence” contains the different sounds constituting the landing action of the vehicle. The playlist, at the bottom right, allows you to decide in which order the sounds of the sequence are played



Cannon deployment: 


Following the landing of the Artillery, the cannon deploys. This sequence is launched by an event:

  • AtilleryDeploymentCanon

Wwise event


The “ArtilleryDeployement” event plays the sound of the cannon deployment. When the order of deployment of the gun is launched, an order to stop the landing sequence “ArtlleryLand” is sent from the same event, at the same time.

Wwise sequence




Artillery shooting:


Then, the time has come to fire…


Always driven by an event, a sequence mixes the shooting sound with a “metallic” recoil sound, and another for ammo reloading.

  • ArtilleryShoot
  • ArtilleryShootCanon
  • ArtilleryRecharge

Wwise event


Wwise sequence



Artillery “Take Off”:


Once the target has been destroyed, or by order of the player, the vehicle must be moved. A sound is played when it leaves its state of siege.

  • ArtilleryTakeOff

Wwise event


Wwise sequence



Each sound is created ahead, with an “audio sequencer” software, in which an animation video of the vehicle enables to tune the sounds to the image and to proceed to the editing of the recorded or collected sounds, as well as the processing. This creates a harmonious and credible mix (eq, filters, pitch, compression, reverb…)

Everythin is made as one piece, then cut to create several sounds. Then, these sounds are exported to Wwise and played in sequences as explained above.

In game, the different parts that make the final sound of the Artillery are played accordingly to the actions of the unit.

And this is how it looks and sounds in game, when you are playing:


Win That War! is on Steam Greenlight.

The Greenlight is now officially launched, and is only waiting for your votes!

We’re counting on you, not only to show your interest by offering us some green thumbs, but also to spread  the word of the Greenlight on your Steam community. Having Win That War! available on Steam is up to you now.

Stand Up! #1

As we were spring cleaning the blog, we’ve decided to bring a few changes and to create new article categories so that we could write more often about various topics related to WinThatWar! and Insane Unity.

This article is kind of a crash test.

As you may know, we’re working using the SCRUM method, which consists in dividing the tasks into “sprints” that we chose to last two weeks to help us we can redefine the priorities as we go along.

Actually, if you’re a SCRUM’s enlightened, you know that it mostly consists in a gigantic white board covered with dozens of sticky notes and a “stand-up meeting” every morning to let everybody in the team know which task is completed or in progress. In our case, every two weeks, we take stock and build a new release of WinThatWar! so we can all test the new features.

From now on, we will be able to write this kind of articles and update you in (almost) real time.


We know that it’s really frustrating to have to suddenly leave a game for any reason. So we figured we could create the save/load system and it is now perfectly functional, but on solo mode only.

We’re currently setting up the planetary view. Well, for now, it’s still a prototype. A few days ago it was just a spherical skeleton drawn by some neon green laser on Doom’s computer, who may explain how he did it in an article further ahead. By then, we should reveal quite a few enhancements right after the next “sprint”.

vue planétaire


A brand new building will soon appear in the game: the relay antenna. What is this thing? Well, as the name suggests, it will be used to relay the “network” on a given zone. Without this wonderful invention, you’ll be able to build factories, but you won’t be able to switch it on which could be an issue, right? I only can suggest to do your best to protect your antennas.


As you know (or you will know by reading this article), we’ll be present at the London EGX Rezzed on 7-8-9 April. We already have published the poster and here is the flyer! Hope you’ll like it as much as we do.

flyer winthatwar

Regarding the artistic production for the game itself, no less than a dozen units and buildings have been designed the last couple months (left to right: buggy, tank, diplomat).


By the way, we’re working on the buggy’s 3D model and you’ll soon be able to create herds of them. They go just so fast!


Sound design isn’t outdone neither. We found a band, that’s now working with us on WinThatWar! original soundtrack, and we’re really excited about it. Plus, most of the sound effects have been reworked and the ambience sounds have been enriched, especially the “Space Ship” theme which, if you wear headphones, gives you more and more the feeling that you actually are in a cock-pit, guiding your robots armies.

To finish this article, remember that if you’re in London the next couple of days, we’ll be present at the EGX Rezzed where you could play a short demo or ask anything you want about the game to Etham and Perik! See you there (in the “Indie Room” area).


Airknocker is coming!

… and Winter is already there. That’s old, that’s a shitty joke and I’m sorry for that. Please Stay.

Today, let me introduce… “The Gun-Nut”!!

Well, actually, it’s just a AirKnocker and I’m not that sure naming it “The Gun Nut” would help to sell the concept.


As the name suggests, the AirKnocker is used to attack (and destroy) the air units. Our bombers don’t appreciate that much when they spot them on the ground, right before they disappeared in a puff of smoke.

So, the AirKnocker is a quite light ground unit an it makes it a very mobile vehicle, at least much faster than those lumbering tanks. Hey, no, we’re not judging the tanks, we’re happy to have them in our troups when we need some units to act tough !

Not content with its brand new nuclear fission engine which makes it that swift, the “Gun-Nut” (oh I have to stop with this name…) didn’t choose between wheels or catepillar, it chose both. And did I tell you that it has a 5000miles + autonomy? For sure, it won’t let you down soon.

But let’s go to the part that really interest you. We know it, speed and stuffs, that’s cool, but what you do want is to finally get down with your neighbor’s bombers that invaded your territory! Don’t you? That’s not a problem, our AirKnocker is here for that very reason. Thanks to its full 360° fast rotative cupola, which also lean to aim at the sky right above, assembled on an ultra-fast electric motor, it can deploy all of its four cannons in any direction in less than a second. Pulsed laser, high frequency shots and extremly short reload time… I wonder what you’re waiting for to make it your fav units in WinThatWar!? (Well, the second favorite, I hope Michel will always have the first place).

All of this to tell you that Philemon offer you this Concept Art, and we can’t wait him to make the 3D asset and replace the place holder which is in the game for now.

We wish a merry Christmas to everyone who celebrates it, and happy holidays. Next blog post in 2016!


XNA is dead… Long live SharpDX !

The rumor has been around for a while …. It is now official, XNA is dead, or soon will be, since it is to be retired on April 2014. Lots of regrets from indie game developers could be found on the net. “Those were the days !” … at least when it came to the high-level API in C# and its Content Pipeline system.

But do not worry, some solutions exist 😉 In our case, I chose to port to SharpDX, more specifically SharpDX toolkit, the high-level API based on DirectX 11. This API is yet not fully mature, but it is already efficient and has a very responsive community. Last time I had a problem, the author Alexandre Mutel provided me with a patch within the day.

It really is similar to XNA, but has the power of DirectX11, and is compatible with Windows 8 (including mobile version) and Visual Studio 2012. Of course it also works with older GPU classes : our new project WTW targets DirectX 10 cards.

The main drawback of SharpDX toolkit is the absence of the Content Pipeline. I solved the problem by using a custom MSBuild project and homemade MSBuild tasks to process the contents. I also use the lib Assimp for 3D models, and the effect compiler of SharpDX to process shaders. You can directly use DDS for the textures. As for the sounds, I don’t know, I haven’t searched yet: p

So basically, it means a little extra work, but it is worth the effort. Here is a screenshot of the new engine:


Next : the video that fits, when the porting will be complete :)

Only fools never change their minds !

In these two posts, here and here, I spoke of my tests on the level of detail management when rendering terrain …

But first… Some time ago, Timous, our master of communication, scolded me on several of my articles, including an unpublished one (there seems to be censorship even here at IU :( ):

“Timous (to the wind): Tell me, Michel, your article on optimizing things, it is not bad …

Doom (very happy): Yeah?

Timous (glacial): But it’s just incomprehensible, you kidding me or what?

Doom (sheepishly): Um, bah it’s not that complicated …

Timous: There’s not even an intro, images are ugly, and my 11 years old little sister did not understand anything!

Doom: Bah this is an “Hardcore technical” article…

Timous: I don’t care, everybody must understand!”

So I will make some effort to introduce… this time 😛

In a 3D game, each image is calculated from a scene consisting of triangles. A graphics card can process and display a fixed number of triangles per second. The purpose of the management of level of detail (or LOD)  is to reduce the number of triangles to be processed in order to optimize the display time of each image (if it is not clear let me comment :D). In these two articles, I introduced the method of LOD that I had to use… Ultimately, I changed my mind and choose another method. This is what will remain, this time, in Robinson (is it a good for intro, Timmy?)

So I’ve implemented an algorithm called CDLOD for “Distance-Dependent Continuous Level of Detail Rendering for Heightmaps”, developed by a Filip Strugar. I’ll spare you the technical details that are very well explained by the author in this document… Here is a short demonstration video of my implementation for Robinson:

The more observant will have noticed the reduction in the number of triangle as they move away from the camera, and the progressive subdivision of the mesh. This algorithm is very fast and requires no pre-calculation, contrary to my initial algorithm. However, it has the disadvantage of ignoring the kind of terrain, resulting in a simplification of very poor quality on regular or geometric terrain. But as natural scenes are usually very irregular, this should not be a problem … Life is cool, does’nt it?

Planning of agile free-time work.

At the very time when we started the development of Robinson 2150 (the game-concept we were working on before Win That War!), planning issues arose. How to evaluate the development time for it (and thus the cost)? When our first demo will be ready? When will we announce it? and so on.

seeking the perfect planning tool

Alas, finding a planning tool well adapted to our way of working is a hard job.

First, the amount of time we spend in developing Robinson 2150 is hard to predict, as it relies on the amount of free-time we have (which varies according to professional workload, personal life constraints or leisure, etc.) That’s why usual project management tools won’t fit.

Second, we self-organize in an agile way, similar to the SCRUM method, but without formalizing sprints, nor having any Scrum Master or Product Owner. Each team member is responsible for a portion of product, the and we just hold a weekly progress meeting.

I tried ICEScrum, a perfect tool for SCRUM. I was convinced by its colorful post-it and the relevance of its indicators (sprint burn-down, release burn-up, etc.). It has unfortunately some problems for us:

  • It consumes too much RAM for our small dedicated server…
  • It is a bit slow
  • We do not do sprints!

I also tried a bunch of ticket-oriented tools like TRAC (with some SCRUM plugins) and JIRA (with greenhopper) but was not convinced. They lack ergonomy, they are difficult to use during a meeting, and above all, they do not give a sufficiently clear and synthetic vision of the project.

That’s why I decided to restart from scratch and design a tool that perfectly fits our needs!

So I implemented TODO, a very simple tool :

  • 800 lines of javascript (using jquery) ;
  • 150 lines of SQL ;
  • 100 lines of php.

The interface of TODO provides three views:

  • the backlog, which contains the tasks, grouped by functionality and sorted by priority ;
  • a table, to estimate the tasks in an agile-manner (i.e. relatively, using the Fibonacci sequence) ;
  • a chart, that summarizes the history of the work done, and presents forecasts for the tasks remaining in the backlog.

Well, a video is worth a thousand words:

Finally, we have a simple and ergonomic tool, which is easy to deploy on a server and easy to use during a meeting. Thanks to it, we already have a better insight of our planning.

Some features remain to implement, like undo/redo and real-time update with the actions of other users connected to the same server, but other subjects currently hold my attention (as the AI of Robinson 2150…) If I can found the time for that, I will place TODO on googlecode. You can still contact me if you want to try it!

RSS Feeds & Language Localisation

At last! A good news for all our French readers: language localization is available on Insane Unity!

You may already have noticed that, for few days now, little flags has appeared at the top right of the blog. You can now choose which language you want to read :

Language localisation with country flags on Insane Unity

Country flags for language selection

By default, the site tries to detect the country you are coming from and displays the contents using the right language. But sometimes not (it depends on your provider, your browser and maybe also according to the weather forecast.) In this case, the flags are here to sort the words in the right order :)

Moreover, the Blog and the Twitter have their own RSS feeds, which make you able to follow any of our twists and turns. To subscribe, click here for the English version of the RSS feed and here for the French one.

For the Twitter feed, click here (but is it really useful?).

However, there is no RSS feed for the RSS feed itself… but we are thinking hard about it! :)

Return top