The Sound of Silence


At this point I have detailed the operation of about half the engagement loop, which is comprised of four steps: the exterior views (either bridge or periscope), the tactical chart, the torpedo data computer, and then the end of turn sequence.

Engagement loop

It all starts in either one of the exterior views, where one must tag ships to track them into the tactical chart. It’s a straightforward aim-and press-A idea. From there you jump into the map screen, where you get a top down tactical view of the engagement. It’s where you set up your approach, anticipate on the enemy’s actions, check detection ranges, and do your strategy stuff. The previous log has all the details.

Next time I’ll continue exploring this feature with the Torpedo Data Computer (TDC). But for this entry I would like to change things up and talk about sound.


Tactical chart


Uncharted waters

No question, It was about time to get into sound. I avoided the worst, but not knowing the impact of sound on performance and memory could have had a ripple effect on later development. The SDK features a complete suite of synthesizer functions. A few of them, like filters, will be of use. But I’ve decided to make sound effects and music outside the Playdate, to be played as samples at runtime. There’s multiple reasons for that choice:

First, the Playdate isn’t a powerhouse; if graphics are an indication, the sophisticated functions of the SDK demand too much of the little console. They’re helpful for beginners or when performance isn’t a priority. But to maintain an average of 45 fps (as it’s the case now), you need to run a tight ship. I’ll miss the flexibility of synthesized sounds, which you can alter in real time, but they can’t compete with the performance of samples.

Chip tunes on Atari ST in my first game, composed by my good friend and co author Nicolas Andrzejak

The other reason is artistic. I love chiptunes and vintage sound (I could listen to Shadowfire’s main theme on the C64 for hours), but it’s not what I envision for Atlantic ‘41. Early on I made the choice of a grounded and “realistic” look, as much as limitations (mine and the Playdate’s) allow, and sound should support that direction. The game pays homage to the 1-bit Macintosh era, but it should balance modernity with its retro gaming heritage. 

Fred Gray's masterpiece for the Commodore 64 SID chip

Then there’s the question of workflow. It took me months to develop a suite of simple editing tools and runtime functions for my Atari ST chip tunes. It wouldn’t make sense to go through this today. There was no alternative back then, but on this point at least I don’t miss the 16 bit era.

If I’m honest, I procrastinated on sound because I was apprehensive. I’ve been a professional artist for over 25 years, and my amateur pixel artist days go back almost 40 years. This doesn’t prevent struggle or doubts, but I know that I can turn art around one way or another (with varying success). Sound and music however, are way outside my comfort zone. I’ve dabbled in synthesizers and trackers, but that’s about it.

My second solo game Indigo and its YM2149F chip tunes

This makes for an exciting challenge. But I must be humble; limit the scope of sound and music; try to put quality and simplicity over quantity and complexity. Something that supports the image without making too much of a statement. I’ll come back to music in the future. For now, let’s focus on background ambience and UI sounds. The exterior views are the logical starting point.


Drowning in Samples

Two objectives for this first experiment: assessing the impact of samples on memory usage and cpu draw, and setting up the workflow for clean loops at the appropriate format and sample rate.

But first, finding the perfect samples, or, as I would soon discover, combining what I can find into something acceptable (reality :/). For Atlantic ‘41, I hope to give a signature to the game with a limited palette of home made sounds. That means creating a pool of synthesizer patches and sound effects specific to the game. A bit like fonts; you want to avoid using too many, but make sure the ones you pick fit the project.

ProTracker

That said, I don’t have revolutionary ideas for sound. In short, a collection of extended ambient loops for the various stations and sections of the game, supported by short sound effects (explosions, thunder, ASDIC pings, sea birds etc). Plus UI sounds. Starting with the bridge view, I need a few ocean ambience loops illustrating various weather types, with the idea that the player should be able to assess the sea condition by looking at and listening to the environment. 

I expect to need three to four loops for the bridge, covering dead calm to raging storm and everything in between. I don’t think that you would hear the engine standing on the bridge, which simplifies things. However, inside the U-boat, I want specific loops for the boat running on diesel or electric, as well as silent running. As a first test I opted for calm seas on the bridge.

That's not me. This is a real professional field recorder

Living close to the California coast, for a minute I considered recording my own sounds. But renting a ship and field recording equipment is out of the question, even assuming I knew how to use it. As for synthesizing realistic ocean sounds, if that’s possible, I wouldn’t know where to start. In this case, no choice but an online search for sound clips. 

LOTS of sounds to sort through

Finding good samples is a royal pain. After hours of listening to hundreds of samples, it became clear that I would have to repair and mix several sounds to make a proper loop. First, the majority of recordings are made from the beach, for obvious reasons. But ocean couldn’t sound more different whether you’re on it, in it, or next to it. In the past I went on a few whale watching and scuba diving trips, and I take walks on the beach from time to time. On a ship you’re surrounded with water, as opposed to the shore; it’s a more spatial sound. The intensity is different. Even calm seas aren’t quiet from the beach, and the sound has a tempo marked by the breaking of waves. At sea, all you can hear is a gentle breeze and the occasional lapping of water against the hull. And even rough seas don’t have the rhythmic quality that you hear from land.


Sound making process

The other issue was the quality of recordings. I was shocked with the number of samples peppered with human voices, microphone bumps, wind gusts, pops, clicks, or feedback squeals. And I’m not talking about free samples, but paying ones. That said, even clean samples never fit your needs right off. On ships, from where clips are recorded, there’s almost always rigging, wood creaking, engine, sea birds, or other sounds that don’t fit the situation. 


It took five or six do overs to get a decent loop from a variety of sources. Like tiling textures, sound loops have conflicting requirements; too even, and they lack of interest. Too unique, and the repetition becomes obvious. intensity and volume are another challenge; too quiet doesn’t fill the silence. Too loud is overwhelming. The problem with the bridge view is that there aren’t many sounds to break the monotony of the ocean. In a film, sounds from people’s activity and soundtrack add interest. I’ll have to rely on UI sounds and hope that the natural pace of the action prevents the player from lingering at a specific spot for long. 


Denizens of the Deep

I expected significant frame rate drops playing a sample from memory, and was proven wrong. The simulator measured the cpu workload at around 3% on average, which is great. 22 kHz is plenty good for sound effects. The ocean in particular is forgiving due to its inherent white noise quality. However, stereo is a must for its immersive effect. Short sound effects can afford mono. But since a 43 seconds loop still gobbles about 1 mb of memory, I pushed my luck and streamed it instead of loading it up into memory. This time certain that the result would be different, I was wrong again; barely any noticeable effect on performance. 

Final calm seas ambient loop

Off to a great start, but too early to relax, because the game can’t rely on one sound at a time. From the additional environment sounds necessary to break up the main loop, to the occasional effects, to the UI, it’s reasonable to expect having to play three to four sounds at any given time. 

I wanted to test this with sea birds. The idea came from my readings of adventures at sea: regardless of the time period or the setting, these stories all convey the notion that men share the oceans with its natural occupants. That life at sea doesn’t stop for war, exploration, commerce, or any human endeavor. 


The sign of close land

There’s an opportunity here to flesh out the game’s world. Brilliant examples come to mind in film and literature. Many remember Jaws, and Quint’s eerie monologue about the Indianapolis incident (attributed in part to the talented John Milius): on July 30, 1945 (and not June 29, as stated in the film) the ship was sunk by a Japanese submarine on her way to Guam. Ensued a four days ordeal for the 890 survivors, harassed by hundreds of white tip and tiger sharks. 

Sadly, men reciprocated the horror on many occasions in history. There’s been accounts of sailors target practicing on wildlife, or engaging in questionable activities, like the shark fishing contests organized by Captain Wolfgang Lüth to entertain his crew. But, and I’ll come back to this in future logs, I don’t want Atlantic ‘41 to preach. What happened during the war, even when it comes to the treatment of animals, was part of a world scale tragedy. 


Shark fishing contest aboard a U-boat

It would be inappropriate to try and inject my own moral values in the game, in particular since I never knew war, nor any ordeal coming even close. I think that it’s more interesting and honest to portray the events as faithfully as possible, and let the player follow their own moral compass. For instance in the case of shark fishing, the activity had an undeniable bonding effect on the crew, and a positive impact on morale. Whether this was or wasn’t worth killing sharks is difficult to objectively answer from the comfort and safety of  a modern, peaceful existence. 

It will be up to the player, as the captain, to approach every situation as they see fit, and the game won’t punish them for doing what is considered the wrong thing. Nor will it always reward the decent acts, because this wouldn’t be a realistic portraying of the world. Life is nuanced and rarely is there such a thing as a clear good or wrong, in particular when one’s own life, or the life of a crew, is at stake.

The topic of responsibility, morality, and the consequences of a decision are fascinating to me. So much so that it deserves its own future devlog, so I’ll move on for now.


Russian tankers feed polar bears

Things weren’t always bad. Some witnessed dolphins following warships and even submarines, sailors cheering on whales. Explorers tell beautiful stories of chance encounters with marine life. Like Thor Heyerdahl and his crew who crossed the Pacific on a balsa raft, to prove that South American natives, not Asians, conquered Polynesia first. Their adventure was told in an academy award winning documentary and in the excellent 2013 film “Kon Tiki”. But even they harpooned a peaceful whale shark, which shows the paradoxal relationship between humanity and nature. 

Capture of a shark during the Kon Tiki expedition

Going back in time, there’s the incredible five year voyage round the globe of Charles Darwin. His expedition in the Galápagos Islands inspired one of the best scenes in the wonderful Peter Weir film “Master and Commander, the Far Side of the World”. In the movie (and in the books by Patrick O’brian), naval conflict and nature are intertwined, as in the albatross incident, a direct homage to Samuel Taylor Coleridge’s poem “The Rime of the Ancient Mariner”.

The Rime of the Ancient Mariner illustrated by Gustave Doré

Speaking of literature, the famous “20,000 Leagues Under the Sea” by French author Jules Vernes combines the themes of war and the preservation of the oceans. The attack of the Nautilus submarine by a giant squid is one of the most compelling scenes in the book, illustrating the power of nature over men and technology. And how to forget “Moby Dick”, where obsession and pride puts a man on a collision course with an awe inspiring sperm whale. 

First edition of 20,000 Leagues Under the Sea

My apologies for taking you on this long tangent. But nature rarely gets featured in war games, more focused on men and technology. From my readings, It’s obvious that young german men were not attracted to the U-boat service solely because of blind patriotism and fantasies of heroic exploits and fame. Sure, it was a big part of it. But how to explain the unwavering interest of volunteers for this awful job, even when they knew that the casualty rate had reached a terrifying 75%? Like fishermen and arctic explorers, there was something else. The call of the uncharted. The mysterious power of sea over men, her awesome beauty. And why their eagerness to go back in patrol, if not for their love of the sea, and the bond they formed with one another?


Off the Beaten Path

It would be a shame to ignore this theme. Beyond the cold simulation, Atlantic ‘41 could express a wide range of feelings and ideas; not just the excitement of combat, but the camaraderie on board. Action softened by moments of quiet contemplation. Hard historical facts intertwined with mystery and discovery; a game that would start as a U-boat simulation to turn at times into an adventure at sea, or a survival story.

There’s a plethora of unique, original, undefinable games, but I find that the ones that lean toward a specific category don’t wander much outside the confined limits of their genre. But why couldn’t a historical war simulation borrow from social games, or tap into investigation, exploration, or even horror? 

Silent Service

I don’t mean that Atlantic ‘41 should be a chaotic mash up of all the random ideas that go through my mind. It’s before anything else a WW2 U-boat simulation set in historical setting, with a gameplay loop and meta focused around that. But is it possible to deliver on expectations imposed by the genre without being formulaic and predictable? That’s where lies the challenge: maintaining cohesion and focus while opening the game to a variety of original ideas and themes.

"A Dark Room" by Michael Townsend

I may be overthinking. After all we’re talking about a tiny game on a black and white console. But I’ve experienced how even technically limited games can be intellectually and emotionally satisfying and challenging. How not to be inspired by what Michael Townsend did with ASCII graphics in “A Dark Room”? And what about Brian Moriarty’s “Trinity”, without any graphics nor sound? Not to forget “Papers, Please”, in which Lucas Pope managed to mesh original gameplay mechanics with a layered story that touched millions of people.

"Trinity" by Brian Moriarty

When making Atlantic’41, I always have these games in the back of my mind, because they prove that you don’t need fancy technology if you know how to tap into the player’s psyche. I don’t expect achieving anything even close to that level. They all created masterpieces, and I approach this with with my eyes wide open and my ego in check. But at least their example inspires me to try and push Atlantic ‘41 further than its basic premise. 

"Papers, Please" by Lucas Pope just celebrated its 10 year anniversary

Now back to sea birds. I love their cries not only for ambience, but because they tell the proximity of land. Like I mentioned last time about dialogue, I love when a feature fulfills two objectives. It’s got a functional purpose, often related to gameplay, and a tonal purpose, whether it’s about world building, mood, or character.

I’ve explained in the past the shortcomings of dead reckoning navigation; this means that birds, hinting at the immediate proximity of a land sector, could highlight navigation errors. I give away this secret to illustrate my point, but the players will need to figure out the others. The game itself won’t be explicit about every mechanic. Dedicated players should be rewarded with the joy of discovering the hidden tricks, their own observations giving them a gameplay advantage.


Back to sound, I have four sea bird samples divided into two groups. Groups are panned left and right, with only one sound from each group triggered at any given time. This ensures nice spatial sound, and limits to two sounds playing concurrently. I’m undecided whether it’s weird to hear the birds without seeing them. If so, a few tiny sprites will fix that. With three samples playing, the game maintains a decent performance, which is a relief. Even with the occasional UI sound effect, I don’t expect any more bad surprises at this point.

Ambient ocean loop with sea birds


Moments

Now a peek at a work in progress idea I’ve had for a while: short scenes or vignettes of a special event, supported by dedicated animations and music. Rare moments for the persistant and lucky players. As everything else, these sequences should serve the game on two levels: tone and function. 

They’ll offer a quick, simple distraction from the main loop; a gentle, humorous or quiet moment like sailors experienced from time to time, which made them forget their dreadful daily life. Before going back to the meat of development, I wanted to implement one of these scenes as a proof of concept. For this experiment, I picked the dolphins.


Bow riding a nuclear propulsion submarine

They’re known for bow-riding, a behavior best described as swimming and jumping close and around the bow of a ship. It happened during world war 2, because these animals don’t discriminate. They’ll ride any bow, even the evil ones. I was lucky to watch them myself off the coast of Dana Point, which inspired me to have them in the game.

Reference footage I took off the coast of Dana Point

The dolphin animation took time to get right, and the dithering of the sea doesn’t help. But animation always makes images easier for the brain to translate. For the moment I have just one animation cycle, which I copy around to give the impression of a pod (that’s the name given to groups of dolphins, which can have thousands of individuals). It works well enough, but I may create one more cycle for variety.

Animation cycle

The point is to experiment with the idea of a semi interactive moment seamlessly integrated into the gameplay. In this case, the navigator calls out the captain to signal something straight ahead. Dolphins appear when the player turns toward the bow. A short interruption of controls and a wide screen format emphasize the moment. I will also need a soft, subtle musical jingle, which will come later. I wanted to share this knowing that the execution needs more work. It’s a fine line between wasting the moment and making it too ostentatious. I’ll update this in the future.

The navigator signals something at the bow

Tonally, the scene shows that beauty and joy can always be found, even in the midst of a war. It’s an unusual contrast, which makes the scene interesting. I won’t spoil the dolphins practical function in the game. Chances of triggering this moment, or others of the same kind, will be small. But it’s their rarity that makes them special, and I think that they could elevate Atlantic ‘41 to a different level; help with the feeling of an authentic world, not limited to ships and war; give the game a dimension of mystery and beauty.

Then the dolphins make their entrance

My apologies for a long and somewhat disjointed episode. My enthusiasm gets the better of me sometimes. It’s fair to ask why I would waste my time making sea birds sounds and creating cetaceans ballets in a U-boat simulation, before even completing the basic gameplay. I don’t have much to say for my defense. I just needed it. 

This is going to be a long project, and it’s my way to combat development fatigue. Varying tasks rekindles the flame, helps to push through the more tedious parts of development. To be clear, I’m very excited to see the tactical chart and TDC working, but it’s going to be a long task, and diversions like this increase my emotional attachment to the game, which fuels the determination to see it through.

Now next time I’ll show the torpedo data computer mock-up, explain how it fits into the main loop, and how it relates it the real life counterpart. 

So, as usual, more soon.

Comments

Log in with itch.io to leave a comment.

(+1)

Can't wait to play on this on a Saturday morning with some coffee and head phones.  Really feel the calm before battle.  Really digging everything about this.

Thank you very much!

(+1)

Honestly, visuals aside, the handling of the full context of your setting is calling me to this game more than anything else I've seen. Fantastic.

Thank you very much for the kind comment.

(+1)

Glad to hear that the hardware doesn't restrict too much how expressive you can be with sound. Love the dolphins, but I think you're right that another variant would help. (it's easy to spot the symmetry)

I look forward to seeing the other events you come up with. I'm trying to think of novel ways to present themes covered in books and movies, without copying them. (although some direct homage might be welcome, too)

Can't wait to play the game, but I hope to read many more blog posts before we get there!

(+1)

Yes I agree that a healthy dose of respectful homage is a good thing, and I sure won’t shy away from it. I particularly like inferred references, or nods that require a bit of work from the player. 

Thank you for your encouragements and I hope that you’ll keep following the journey. 

I just love following all the meandering paths down which this process leads you. Solo dev requires a real Renaissance man. 

My Playdate arrived a couple of days ago. This is my most anticipated title.

(+1)

I wouldn’t have the audacity to call myself a renaissance man, but it’s true that solo game development is multi disciplinary. I can’t think of anything else like it.  It’s what makes it by far my favorite thing to do, and development itself wouldn’t be nearly as fun for me without all the research and learning leading up to it. 

Thank you for telling me that you’re looking forward to the game, It’s a great motivation.

super fascinating! great read.

Thank you!

(+1)

A worthwhile read, as always.

The game itself won’t be explicit about every mechanic. Dedicated players should be rewarded with the joy of discovering the hidden tricks, their own observations giving them a gameplay advantage.

This is exactly the type of game I strive to create. Bravo.

(+1)

Thank you! Yes it seems like there’s two schools of thought on this. Some people like games with a simple structure and a clear set of rules, and don’t like experimenting, while others love being left in the dark to decipher the systems. I tend to be on the latter side because I’m curious and patient but I have a friend who loses interest at the first sign of challenge. 

It’s easy to fall into the trap of over complicated designs, in particular when you’ve built a system for months or even years, and there’s a real risk of alienating the player. Ideally I think the best games are the ones offering a simple, easy to understand premise that stands on its own, but hides an extra layer of sophistication under the hood for the adventurous player. But it’s easier said than done.

The dolphins and sea bird sounds are great additions! I've been following this game on Steam called Sailwind which is a really good sailing simulator -- except that it lacks "life" because the ocean is totally empty. That's why I believe it's totally worth it to flesh out a world with "little details". 

Fantastic update as always!

Thank you very much! I’m glad that you see value in this idea.

(+1)

This is the first time in a while I'm cought up in the devlog, what a pleasure it has been reading it all.

It also has inspired me to continue mine, great job on the dolphin's cutscene I agree those special moments are an important part, and worth the effort.

Thank you. Good for you to continue your own log :)