Can't have that, can we! Time for a Developer Diary #1, then?ORIGINAL: berto
I've been very busy. But so too the Dev Team. Other team members are too shy or too tongue-tied or too busy to report their activities, but I can report: Much work is being done on
- OOB development and fixes
- new scenario creation
- new maps
- graphics fixes (including Warhorse's splendid new 2D unit symbols)
- new sounds, and sound fixes
- etc.
Men at Work.
Disclaimer: I am not a MCS developer per se, just one of the testers out there doing his part to get the next release out. I have been working on the sound system and we thought the work being done there perhaps interests the greater community as well.
Sound system basics
So, when you move and fire your unit, how does it play out, how is everything tied together? Let us take Rising Sun and the Japanese Machine Gun Platoon as an example. This is how its game data is specified in the Japanese platoon21.oob file:
[font="Courier New"]P21205 4 2 8 35 50 50 9 4 0 2 0 0 2 0 0 4 62 P21204 3 2 1153 0 9 8 30 1 53 12 0 0 0 Machinegun Platoon , MG Pltn ,[/font]
Without going into details, parameter #13 defines the movement sound for each platoon. This MG unit, as other foot units, has a value "0" there. So, what does that mean?
First, it defines the sound category for all foot units: "Infantry Movement":
Based on the value, 0 in this case, the engine goes out and looks for the related movement files available in that particular game folder, in this case the Rising Sun folder. If you look there, what you will see are five different movement files for this category, from 0movement0.ogg to 0movement4.ogg.Movement Categories
0movement* - Infantry Movement
1movement* - Armored / Fully tracked
2movement* - Carts
3movement* - Wheeled
4movement* - Wheeled
5movement* - Horses
6movement* - Motorcycles
7movement* - Halftracks
8movement* - Motorboats
9movement* - Paddled boats
10movement* - Ski units
11movement* - Bicycles
12movement* - Aircraft
13movement* - Ships, Ferries, Landing Barges
14movement* - Jet aircraft
15movement* - Trains and rail units
OGG is an old sound format, and was chosen by Talonsoft in late 1990's when the game was developed, and before mp3 became the defacto audio codec. Still a lot of OGG codecs out there, no worries!
If you want to learn more about the various OGG files in the system, have a look at your West Front\Extra folder, there's a document called CS Sounds.doc, detailing all the movement and weapon ogg files of the 1.04 build.
How does the game choose which movement sound to play then? All this is defined in the SOUNDS.DAT definition file, again one per each game folder. Here's what Rising Sun has, just the first relevant lines chosen here:
Again, without going into detail, the first two lines are the relevant ones for this article:9 1 5 4 3 3 2 2 2 2 2 3 3 1 1 1 1 2 1 1 1 1 1 1 1 1
2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
4 1 1
5 12 11 10
0 0 0 0
0 0 0 0
0 0 0 0
The first line details the Weapons and Explosions categories. They are always played in sequence when firing, first the gun sound, then the relevant explosion / ricochet sound. More of that later.
For movement, the second line specifies the sound categories. Foot infantry movement category 0 is the first value of the second line. It has a value of "2", meaning the game engine expects to find two files out of which it will randomly choose either 0movement0.ogg or 0movement1.ogg when moving a foot unit within Rising Sun.
Wait! Did I not just mention there are five different foot movement files to choose from? Yes there is, but in case of Rising Sun: only two of them will ever be played out!
You see, there is a reason I am going through all the three engines with this testing task of mine...
So, let us look at the weapon sounds next. Here's the Jap MG unit again:
[font="Courier New"]P21205 4 2 8 35 50 50 9 4 0 2 0 0 2 0 0 4 62 P21204 3 2 1153 0 9 8 30 1 53 12 0 0 0 Machinegun Platoon , MG Pltn ,[/font]
Again without going into detail, the data value #14 specifies the weapon category. Jap MG has a value "2", highlighted there for your reading convinience.
Now, what does that mean? Let us have a look at the Infantry weapon categories:
According to original system, the Japanese MG unit belonged to a weapon category called Axis HMG. Now, it makes sense to have that, given how the deadly MG-34 and MG-42 machine guns differed from the other MGs of the era.Infantry
---------------------------------------
0weapon* - Infantry Small caliber arms
1weapon* - SMG
2weapon* - High Rate of Fire MMG & HMG (Was: Axis HMG)
3weapon* - MMG & HMG (Was: Allied HMG)
4weapon* - AA HMG, '50 cal
13weapon* - Anti-Tank rifles
25weapon* - Bazooka, Panzerschreck
For Rising Sun though? Isn't RS Category 2 pretty much like Category 3, the Allied MG? Well, yes. And for this particular reason, in RS the Category 2 ogg files were very different from Category 2 files of EF and WF. Can't have that!
Here's the first change, then. Category 2 became High Rate of Fire HMG, and all the MCS MG armed platoons were changed accordingly. This means the Jap MG platoon, armed with Regular HMGs, now look like this:
[font="Courier New"]P21205 4 2 8 35 50 50 9 4 0 2 0 0 3 0 0 4 62 P21204 3 2 1153 0 9 8 30 1 53 12 0 0 0 Machinegun Platoon , MG Pltn ,[/font]
Category 3 they are, now. Important detail, as also RS has a few German equipped units with MG-34s, that now sound right within that engine too. All good!
Of course, there's been dozens upon dozens of little errors and mismatches in the various countries and in their units, most of which I have hopefully spotted and fixed. I won't bore you with those details. There are over 8 000 unique platoons in this game, so all this will take a while...
Unified Movement and Weapons Files for all engines
My first concrete target was to introduce a unified movement and weapons sound system for all three engines. Same files, same definition files, ease of maintenance, everyone's a winner.
One thing I noticed was that the three engines had a different number of sound files. When unifying them, when collecting all the files from all three game folders, what should the approach be? Should we go for quantity , or for quality?
=> Quality over quantity, right! From now on each category will have a maximum of five (5) different sounds the engine plays out in random.
The other important target is to have distinguished categories, where you can tell e.g. if you are being fired upon by a lt or hvy mortar or med or hvy artillery. That has been the intention in the game all along, but I believe we can improve on that!
The good new is that I have painstakingly come up with a first version of distinguished weapon sounds, both new and existing ones. So far so good.
Unfortunately, there's still a lot of work ahead.
For an example. I have decided to move all SPAs out from Tank Gun categories (there are five) and into respective Artillery categories instead. Tanks and ATGs should be in a same category per their gun caliber. Same for Artillery within their own categories. But if you put tracks under a piece of arty it does not a tank become... [:-]
New Sound Categories
OK, back to the basics. How about adding new sound categories? The one area with plethora of sound files was the rifle infantry category, for an example. What could we do with them?
Unfortunately, the old MCS code base limited the categories to 26. That's it, folks! [:(]
Luckily for us all, Berto having again done his magic, this limitation is no longer there!
At the moment, I've added two brand new weapons categories to system:
27weapon* - Infantry Small caliber arms - Early War (bolt action weapons mostly)
28weapon* - Flame throwing equipment (infantry and tanks)
To introduce the early war rifle infantry sound feel to system, all infantry units of all nations under the three engines were looked upon, and those specific to up to and including 1942 were changed to use the new sound Category 27. The ogg files chosen were ones with rifles mostly.
1943 and later platoons, or those available for the whole duration of war, were left as is. However, the five ogg files available were chosen in a manner there's plenty of automatic weapons firing in the mix.
A cool new addition, and an audible change when playing those early war scenarios out there!
As another new addition, flamethrower equipped units (platoons, tanks) already in the game, they now have a new distinguished sound for the first time as well:
Swoooshhhh - B-bang!
Very kool, don't you all think?!
But don't just take my word for that. Time for a little advertisement:
ORIGINAL: berto
Yes, you wouldn't think so, but it's amazing how refreshening the game sounds enhance the gaming experience.
Other new categories? You name them, now we can do them!
As Berto mentioned, there's a lot of work going on at the moment.
Future looks bright indeed [8D]
Edit: typos. I am not native in English, sorry!