Developer Diary #1 - MCS Sound System

John Tiller's Campaign Series exemplifies tactical war-gaming at its finest by bringing you the entire collection of TalonSoft's award-winning campaign series. Containing TalonSoft's West Front, East Front, and Rising Sun platoon-level combat series, as well as all of the official add-ons and expansion packs, the Matrix Edition allows players to dictate the events of World War II from the tumultuous beginning to its climatic conclusion. We are working together with original programmer John Tiller to bring you this updated edition.

Moderators: Jason Petho, Peter Fisla, asiaticus, dogovich

User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

Developer Diary #1 - MCS Sound System

Post by Crossroads »

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.
Can't have that, can we! Time for a Developer Diary #1, then?

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":
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
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.

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:
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
Again, without going into detail, the first two lines are the relevant ones for this article:

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:
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
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.

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!
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: Developer Diary #1 - MCS Sound System

Post by berto »

ORIGINAL: Crossroads

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!
OGG is also Open Source (widely used in Linux), and unrestricted by software patents:
Because the format is free, and its reference implementation is not subject to restrictions associated with copyright, Ogg's various codecs have been incorporated into a number of different free and proprietary media players, both commercial and non-commercial...
Among them the Open Source Audiere media player, which the Campaign Series also uses (comes packaged with the CS installation).

So lots of advantages by our using OGG.
ORIGINAL: Crossroads

=> 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 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!
Elsewhere, you had written:
ORIGINAL: Crossroads

I decided to go for quality instead of quantity. Each sound category has five sounds only at most, in order for an experienced player to become familiar enough with the sound components to recognize a unit firing at him based on the sound alone, yet diverse enough not to get repetitious. That was my plan at least.
Wise implementation.
ORIGINAL: Crossroads

There are over 8 000 unique platoons in this game, so all this will take a while...
Now maybe the players will better understand why this whole process is taking so long.
ORIGINAL: Crossroads

A cool new addition, and an audible change when playing those early war scenarios out there!

Also, flamethrower 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.
It's true!
ORIGINAL: Crossroads

Future looks bright indeed [8D]
And sounds wonderful!
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

ORIGINAL: berto
ORIGINAL: Crossroads

There are over 8 000 unique platoons in this game, so all this will take a while...
Now maybe the players will better understand why this whole process is taking so long.

It is quite a task to cover them all. Ensuring they all have got the right bitmaps, 2d icons, movement and weapon sounds...


ORIGINAL: berto
ORIGINAL: Crossroads

Future looks bright indeed [8D]
And sounds wonderful!

Yes it does indeed! Reading a diary on bug fixing 8 000 platoon files is perhaps not awe inspiring, but I do guarantee all the little changes taking place in the engines, and in the data the engine uses, when put together; well the whole is greater than the sum of its parts [:)]
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
Warhorse
Posts: 5369
Joined: Fri May 12, 2000 8:00 am
Location: Birdsboro, PA, USA
Contact:

RE: Developer Diary #1 - MCS Sound System

Post by Warhorse »

I thought when I started the 2D icon/military symbol association project, that the smaller countries would be easier. Not so, everyone over the years did everything to Germany and Russia, so gotta add TONS of units to Italy, France so far, to make them acceptable, very slow process. Then gotta make the 3D graphics even sometimes, REALLY slows things down!
Mike Amos

Meine Ehre heißt Treue
www.cslegion.com
User avatar
Arkady
Posts: 1261
Joined: Fri May 31, 2002 1:37 pm
Location: 27th Penal Battalion
Contact:

RE: Developer Diary #1 - MCS Sound System

Post by Arkady »

well, I use NATO symbols and sounds switched off :D

good work anaway
Image
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

Arkady [:D] Well now there's soon a reason to dust off them headphones and to experiment other 3D and 2D options as well [;)]

EDIT: Here's how its panning out at the moment:

Movement Categories

0movement* - Infantry Movement
1movement* - Armored / Fully tracked
2movement* - Carts
3movement* - Wheeled - Trucks
4movement* - Wheeled - Cars, Jeeps (not implemented yet, almost all wheeled units are still "3")
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
16movement* - Canine (Scout dogs, Mine dogs)
17movement* - Helicopters
18movement* - Reserved for Aerosans


Weapon Categories

- Note: a corresponding *explosion*.ogg must be available as well

Infantry
---------------------------------------
27weapon* - Infantry Small caliber arms - Early War (<= 1942)
0weapon* - Infantry Small caliber arms (>=1943 or Generic unit)
1weapon* - SMG
2weapon* - High Rate of Fire MMGs (Was: Axis HMG)
3weapon* - LMGs MMGs (Was: Allied HMG)
4weapon* - AAMGs / '50 cal Machineguns
13weapon* - Anti-Tank rifles
25weapon* - Bazooka, Panzerschreck
28weapon* - Flame throwing equipment (infantry and tanks)
30weapon* - Recoilless Guns / Rifles (Hvy)

Mortars and Artillery incl. Self-Propelled Artillery excl. Tanks
---------------------------------------
5weapon* - Mortars
6weapon* - Heavy Mortars
7weapon* - 60-75mm Light Artillery and Infantry Guns (Early war tanks moved to categories 29, 10 & 11)
8weapon* - Medium Artillery (>75mm and <120 mm)
9weapon* - Heavy Artillery (120 mm and heavier)
16weapon* - Rocket Artillery

Tanks and Anti-Tank Guns (SPAs moved to Artillery)
---------------------------------------
29weapon* - ATGs, Tanks w. >=20mm < 40mm main gun
10weapon* - ATGs, Medium Tanks w. >= 40mm <75mm main gun
11weapon* - ATGs, Medium Tanks w. >= 75mm main gun
12weapon* - Heavy Tanks and ATGs (specs vary somewhat)
17weapon* - Special Purpose Heavy Tanks (AVRE, Sturmmörser, etc)

Anti-Aircraft Weapons
---------------------------------------
14weapon* - Lt AA Guns
15weapon* - Medium AA Guns
18weapon* - Twin/Triple/Quad AA Guns

Aircraft
---------------------------------------
19weapon* - Fighter Aircraft
20weapon* - Ground Attack Aircraft
21weapon* - Dive Bombers
22weapon* - Anti-tank Aircraft
23weapon* - Biplanes, Arty Spotters
24weapon* - Medium and Heavy Bombers
26weapon* - Jet Aircraft
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
Arkady
Posts: 1261
Joined: Fri May 31, 2002 1:37 pm
Location: 27th Penal Battalion
Contact:

RE: Developer Diary #1 - MCS Sound System

Post by Arkady »

great, I'll update this to new version of JTCS upon your request :)
Image
User avatar
Arkady
Posts: 1261
Joined: Fri May 31, 2002 1:37 pm
Location: 27th Penal Battalion
Contact:

RE: Developer Diary #1 - MCS Sound System

Post by Arkady »


Infantry
---------------------------------------
27weapon* - Infantry Small caliber arms - Early War (<= 1942)
0weapon* - Infantry Small caliber arms (>1942 or generic unit)
..
..

0weapon* will be 1942+ or 1943+ ?

Image
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

Sorry about the obscure markings [8D]

Early war infantry is 1930 to 1942, said years inclusive.

Infanry is 1943 to 1952, said years inclusive, and all existing units that appear for the whole duration of the time period covered.

Hope this helps.
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

Updated my post above to reflect the likely movement and weapons categories for the imminent 1.05 / 2.0 release. Any concerns or observations now its pretty much the last moment to tell me about them [:)]
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
junk2drive
Posts: 12856
Joined: Thu Jun 27, 2002 7:27 am
Location: Arizona West Coast

RE: Developer Diary #1 - MCS Sound System

Post by junk2drive »

I did the sounds for Panzer Command Ostfront. Ironic since I play with sound off. I had to use sounds that Matrix owned. I converted a few formats with audacity and adjusted volume levels. If you need any sounds from a Matrix game that you don't have, let me know and I'll see if I have it.
Conflict of Heroes "Most games are like checkers or chess and some have dice and cards involved too. This game plays like checkers but you think like chess and the dice and cards can change everything in real time."
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

Thanks j2d! What I could use would be more variety with mortars and artillery. I would like to have a more clear difference with light and med/hvy mortars, as with light med and heavy artillery.

In the movement category at least the jeep and car sounds, if we can make them distinguishable from trucks.
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
junk2drive
Posts: 12856
Joined: Thu Jun 27, 2002 7:27 am
Location: Arizona West Coast

RE: Developer Diary #1 - MCS Sound System

Post by junk2drive »

OK then you gave me a project for today.
Conflict of Heroes "Most games are like checkers or chess and some have dice and cards involved too. This game plays like checkers but you think like chess and the dice and cards can change everything in real time."
User avatar
junk2drive
Posts: 12856
Joined: Thu Jun 27, 2002 7:27 am
Location: Arizona West Coast

RE: Developer Diary #1 - MCS Sound System

Post by junk2drive »

Mortar and artillery, do you mean weapon or explosion sound file?
Conflict of Heroes "Most games are like checkers or chess and some have dice and cards involved too. This game plays like checkers but you think like chess and the dice and cards can change everything in real time."
User avatar
junk2drive
Posts: 12856
Joined: Thu Jun 27, 2002 7:27 am
Location: Arizona West Coast

RE: Developer Diary #1 - MCS Sound System

Post by junk2drive »

Must be bedtime for you.

Here are some vehicle, heavy mortar, and light artillery sounds in ogg format.

I can't upload a zip so I renamed it txt. Download the file and rename it .zip

If that doesn't work I will put it on dropbox.
Attachments
jtcssounds.txt
(74.06 KiB) Downloaded 38 times
Conflict of Heroes "Most games are like checkers or chess and some have dice and cards involved too. This game plays like checkers but you think like chess and the dice and cards can change everything in real time."
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

Thanks, just downloaded them. [:)]

Would you be able to locate some explosions sounds as well? For artillery, with the preluding screeching sound before the explosions themselves if possible.
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
junk2drive
Posts: 12856
Joined: Thu Jun 27, 2002 7:27 am
Location: Arizona West Coast

RE: Developer Diary #1 - MCS Sound System

Post by junk2drive »

I listened to some of the explosions in the game and thought they were pretty good. Stereo and directional.
Conflict of Heroes "Most games are like checkers or chess and some have dice and cards involved too. This game plays like checkers but you think like chess and the dice and cards can change everything in real time."
User avatar
Crossroads
Posts: 17498
Joined: Sun Jul 05, 2009 8:57 am

RE: Developer Diary #1 - MCS Sound System

Post by Crossroads »

Yes. It seems to me JTCS engine mostly plays the explosion sound, so while many of the artillery weapons oggs has nice screeching effects, the file is only played for the beginning. It would seem explosions should in these cases have the tearing sound before the explosion, rather.

I have now downloaded Audacity as well so let us see if I can accomplish something with it.

Thanks for your help! [:)]
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < Available now
CS: Middle East 1948-1985 2.0 < 3.0 In the works
User avatar
Warhorse
Posts: 5369
Joined: Fri May 12, 2000 8:00 am
Location: Birdsboro, PA, USA
Contact:

RE: Developer Diary #1 - MCS Sound System

Post by Warhorse »

My Korean War Mod has some good truck/jeep sounds, Petri!!
Mike Amos

Meine Ehre heißt Treue
www.cslegion.com
User avatar
junk2drive
Posts: 12856
Joined: Thu Jun 27, 2002 7:27 am
Location: Arizona West Coast

RE: Developer Diary #1 - MCS Sound System

Post by junk2drive »

You are most welcome. Ask for help any time.

The sounds that I posted for you came from SPWAW so no copyright issues.
Conflict of Heroes "Most games are like checkers or chess and some have dice and cards involved too. This game plays like checkers but you think like chess and the dice and cards can change everything in real time."
Post Reply

Return to “John Tiller's Campaign Series”