Under the Hood


I would lie if I said that I didn’t slack a bit during the Christmas break. Still, I progressed on the tactical chart, and on my understanding of where I think the game should go. A few nasty bugs needed squashing, which I like to do as soon as possible, when the code is still familiar.

The game so far

Additionally, a few controls and animations needed fine tuning. There’s a good argument for putting all the basics quick and dirty, before polish, but I like to go as far as I can with the task at hand. Putting a check mark on an objective allows me to better focus on the next section of the game. That’s not to say that I won’t come back to further tweak/add, but if I can limit this to an extent then I ‘m all for it.

Got rid of the bouncy dialogue box animation, which felt tonally wrong

Doing this gave me confidence in the 10 m/pixel tactical chart, which flows well enough that it’s best to put the 60 m/pixel scale on the back burner, and focus on the chart U-boat controls. No point in saturating the game with redundant features. Lean is always better.

Furthermore, I’d rather have one scale fully functional first, and then jump to the Torpedo Data Computer. I must get a sense of the complete combat experience as early as possible. Later on, if the need for an additional scale remains, there will be time.

The 60 m/pixel scale, to be done later


Jawohl, Herr Kaleun!

With combat being played in turns, it makes sense to control the U-boat from the chart, where the player gets a clear overview of the situation, and movement can be immediately assessed in the turn based context. The exterior view is great for immersion (and it’s essential to spot and tag ships), but that’s the extent of its role. it’s too unreliable for any other purpose. When it comes to situational awareness and tactical planning, the chart takes over.

Tactical chart

The icon wheel in place for the ships works well, so controlling the U-boat should use the same system. I spent time thinking about the best way to organize the orders around the icons wheel, and came up with two main rules:

1/ orders should be organized by function, and limit the amount of menu diving.
2/ when applicable, they should follow the same logic and flow as enemy ships.

The first rule implied that the I break down the orders in groups related to specific aspects of commandeering a U-boat. In my mind, engine power and heading are related, since they control the boat on the planar dimension. Orders relative to diving control the boat on the depth axis.

Command wheel for enemy ships

Regarding heading and speed, it can all be managed with one system. Once the command is activated, a faded U-boat token, similar to the ships ones, shows the projected position of the submarine at the beginning of the next turn. The course is represented by a line. The camera centers on the projected position. The controls are trivial. Left and right on the directional pad change the heading by increments of 10 degrees. Up and down adjust the engine power: stop, one third, standard, and full. 

Course change

Based on the U-boat’s depth, the appropriate propulsion system is engaged. Surfaced, the faster diesel engines are used, and the game switches to electric motors when submerged. The speed results from three factors: the power level, the depth (and by extension the propulsion system used), and the U-boat type. So by pressing left/right and up/down on the pad, the player can simultaneously order engine power and heading, and see the result for that turn.

The captain gives the order

The chart presentation may feel abstract, like moving a piece on a board. So once the player is satisfied with the course, the A button validates and a dialogue box opens with the captain giving the order to the crew. It’s part of the fantasy, and I hope that this way the player feels that navigating the boat is the result of them, as the captain, giving orders, as opposed to something like playing chess.


Menu Diving

Now to follow the same idea regarding diving. Except that in this case, up and down cycle through the depth, from surface, to periscope depth, and then down in increments of 20 meters. Once the desired depth is set, press A and watch the captain order his crew.

Ordering the dive

I’ve had a special order in mind for some time. To explain this I must segue into U-boat technology. Aboard a blind submersible, the depth of the ocean floor is a critical bit of information, for obvious reasons. Back in the 1940’s nautical charts already had water depth measurements, which crews partly relied on to determine their safety margins. It wasn’t a concern for open sea operation, much deeper than any U-boat crush depth. Even the Mediterranean can go as deep as 2000 meters, and the Atlantic Ocean averages 4000 meters, with abysses far below. The Battle of Atlantic was fought mainly in deep waters, as opposed to the Pacific, which is dotted with shoals, coral reefs, and various shallows that were poorly mapped at the time. 

Numbers show water depth

However certain missions (mine laying, spy infiltrations) required U-boats, even in the Atlantic and the Mediterranean, to sail close to the coast, or through narrow straits, like Gibraltar. Other potentially shallow areas included Iceland and the Baltic Sea, or around Great Britain, (for instance if you were crazy enough like Günther Prien to try and get into Scapa Flow, which he successfully did). One remembers the scene in the film Das Boot where U-96, sinking into the Gibraltar strait, runs aground right before reaching crush depth, and the wonderful line from the Captain: “God threw a shovelful of sand beneath our keel”.


Das Boot

However rare, these high tension situations could make great gameplay, in part because of the technology involved; in shallow, poorly mapped areas, U-boats resorted to a device called the echolot, akin to a sonar, which measured the depth of the water. The emitter sent an impulse, which bounced back on the ocean floor toward the boat. Then the device calculated the distance based on the time elapsed when the impulse hit the receiver. 

On June 27th, 1941, U-123 was depth charged for 11 hours and escaped by diving to 199 m, below the range of British depth charges

The drawback was that any enemy vessel in the vicinity could hear the impulse. And so the dilemma becomes: either dive blind at the risk of running aground, or take the chance of revealing your position, which, in U-boat warfare, can lead to catastrophe. Now in reality there was two devices. A silent one that could only measure up to 125 meters, and one that sent an audible impulse (a ping), for deeper measurements. This level of detail goes too far for Atlantic ‘41, so I’ll compound the two devices into one for simplicity sake. 

The Echolot icon

The idea is to give the player the ability to use the echolot, with all the risk involved. It will be only necessary for advanced patrols in difficult, shallow coastal waters or straits, but the order will be available at all times.  

The alternative is to look at the chart itself. I’ve added a water depth in the bottom right corner of the chart. The catch is that the chart only gives the sector's average and doesn’t inform on shallow banks. Worse: potential navigation errors mean that the information could be wrong. If you remember, I mentioned in a previous log how precise navigation required good weather for taking a daily astronomical fix. Which means that long stretches of bad weather will have consequences on the ability to dive safely in coastal areas and inside straits. In that case, it's up to the player to either rely on the chart, or risk the echolot.


Wassertiefe: water depth (Thanks to Nils for the help with German)


It’s About Trust

However this means one additional command to fit into the icons wheel. I thought the best was to bundle everything into a diving order, activated with the right directional pad (since left is for heading/power). Once the command is activated, Up and down on the pad cycle through the diving depth, while left asks for the echolot. However there’s a significant risk of the player activating the order by mistake, in particular when they’re not yet familiar with the UI. And considering the danger of its use, this could lead to frustrating mistakes.


U-boat orders

One thing that makes me mad is being punished for the developer’s mistakes, in particular confusing controls. It’s the duty of the game to protect the player from inadvertently making dangerous decisions or mistakes, either because the rules are obscure, the UI is unclear, or in the case of action games, the controls are clunky or unresponsive. It taints the experience with a feeling of unfairness and distrust in the game. 

That doesn’t mean holding the player’s hand. Quite the opposite, I think it’s crucial to let them take risks and even make mistakes, as long as they were not mislead on the situation, the stakes, or by the rules. In other words, I love challenging games (and I’ll develop that in great detail in future logs), but only if they’re fair.


Real life ways of safe guarding against mistakes

On the other hand, I always felt that great controls, clear UI, and logical rules earn the trust of the player. This trust is vital to the success of the game, but it’s difficult to achieve. I mentioned how a polished interface addresses every detail, from readability, to flow and consistency. But that’s just one brick in the edifice. Not screwing the player over bugs, confusing choices, broken balance, cheating AI, or arbitrary rules is another. 

The confirmation dialogue

In this case I can think of two ways to prevent the echolot order to be activated by mistake. They’re not mutually exclusive. First, add a confirmation screen. In fact, I think that every instantaneous and irreversible command in the game should allow the player to back out. It affects the flow of the UI, but it’s a small price to pay for piece of mind. I can’t count the games I cursed for not having a confirmation on Skip Turn. I don’t want that for Atlantic ‘41. 

Second, take it out from the diving command, and give it a unique icon in a sub layer of the wheel. In other words, press right to activate ‘diving’, then press a specific direction to ask for a sonar depth impulse. The actual diving order would be part of this same sub layer, under its own icon. So, right for ‘diving orders’, then right again for ‘dive’. But this would add a step to every diving command, including the ones the player uses frequently. Instead, let’s have everything rarely needed under the same sub command. Something like ‘orders’. That way, diving remains immediately accessible on the first layer of orders, while echolot is protected as part of the sub layer.


The Chief Engineer announces the result of the Echolot

This leaves me with three more slots for future commands, such as ordering complete silence on board, or firing debris through the torpedo tubes as decoy (more on this in the future).

That may be more detail than you want to read. What I hope to convey is how much care I try to put into every aspect of the controls. It’s arguable that any number of solutions would work. But it’s worth weeding out the less elegant ones. I mentioned this in the past; the difference may seem negligible, but the stacking of dozens of minor nuisances amount to a miserable experience. I don’t know if I will succeed in making Atlantic ‘41 a game that the player can trust, but it’s always on my mind.


Calling the Echolot a second time skips to the result

One last example: since the ships ‘course’ icon is on the left pad, that’s where I put the heading/speed for the U-boat. On a subconscious level, I want to train the player’s brain in thinking “left is course”. In the same idea, under ‘orders’, the echolot is assigned to the right pad, because it relates to diving, which is on the same direction on the main layer of the wheel.

I can draw a parallel with button assignation in action games. Thoughtful designers try to give each button a consistent function throughout the game. Careless developers change buttons Willy-nilly depending on the context; for instance in an action game: on foot, left bumper is block, but board a vehicle, and that same button becomes brake, while the vehicle shield has been assigned to B. It would have been better to use B or the left trigger for the brake, leaving the shield on the left bumper. That way, that button remains associated to ‘protection’ in the player’s mind, both in an out of the vehicle. 


Icons following a logic structure

The intent wasn't to do a lecture on control design, but this question is dear to me, because it’s at the core of the relationship between the game and the player; how you build the trust.

With that, enough with the chart. As the gameplay deepens, I will add more features. At this point there’s enough to control the boat, and it’s time to move on to the basic implementation of the third major component of the engagement gameplay: the TDC. The goal is to put in place all the building blocks for a basic combat sequence. I may briefly update on added features in the chart as they become necessary (like the potential 60 m/pixel scale), but I want to keep certain parts of the game under wraps for the player to discover. 


A Turn of Events

I’ve gone in great detail over the implementation of the chart, so it might be a good time to change the lens and go back to broad concepts. I've been asking myself: how does one translate a complex real life, real time situation into a simple, technically limited, turn based video game sequence? 


The concept of turns goes back a long time

The use of turn based may be misleading in the case of Atlantic ‘41, as it implies units activating (to employ the traditional wargame term) one after another during the turn; a ship moves, fires if needed, then it’s up to the next one, and so on. Even though I’ve enjoyed many games designed with that system, I was concerned about the way it represents battles as a sequence of actions, rather than an ensemble of simultaneous events. 

The usual turn based works well when things occur in a rapid succession, like a skirmish. The turn order simulates units initiative; the quick ones act first, while the slower are forced to react. Naval battles involved large scale maneuvers, but they unfolded slowly, over hours. Quick reaction wasn’t a factor, and for the U-boat, initiative came down to the element of surprise, and to invisibility.


Atlantic Chase has an interesting system where the real position of a ship is unknown

One alternative was to treat all enemy ships as a single unit, taking their turn at the same time. But that’s a partial fix. If we consider that a turn is 10 minutes, and we let the U-boat go first, then the it must act before knowing what any of the ships will do. It’s like being blind for 10 minutes. If the ships act first, then it’s like the U-boat must watch the events unfold and then react after the fact, and that’s not much better. 

Reading U-boat logs and wartime accounts, it appears that the U-boat always add the initiative. It was the aggressor, and it initiated the confrontation. But because of their slowness and vulnerability, U-boats had to remain one step ahead, intercepting enemy ships courses, rather than running after them. The game design needs to reflect that fundamental aspect of U-boat warfare. 


Attack logs help to understand  the nature of U-boat warfare

What seems a good solution came to me from “Into the Breach”, which I would rank as one of the best turn based strategy games I’ve played these past few years. From the authors of the revered “FTL”, it introduced me to the concept of delayed action. The idea is simple and elegant: all the enemy units announce their intention for the next turn. The player then gets a chance to thwart the enemy’s plans before they unfold. 

Into The Breach

I think this system does a good job at simulating simultaneous events. Seeing in advance the enemy actions gives the player the opportunity to react to everything happening that turn, not just to one unit. It’s like a glance at the next turn. But before actions are resolved, the player must commit to their own decisions, which prevents them from exploiting the sequential nature of the traditional system. For instance, you can’t just wait to see if your forward tubes torpedoes will hit before deciding if you’re going to commit the aft tube. You can’t wait to see if you get spotted before diving away.

The enemy ships must also commit to their plans, and they announce them (at least the movement), but their actions are resolved after the U-boat’s, which simulates their initiative disadvantage, as previously discussed. In other words, once everybody is set on what to do, U-boat attacks and movement are resolved first, which could disrupt the enemy's actions. 


Orders can be changed as long as the turn doesn't advance

It’s not a perfect system, because it’s impossible to represent a real time battle into a series of turns, but it feels more accurate and it's easy to understand in the context of Atlantic ‘41. From the player’s standpoint, all you must remember is this: 

1/ The time is frozen until you decide to advance the turn. All units will follow their determined course.

2/ Almost all U-boat actions will also happen when the turn advances. So orders can be changed at will until then. (Except for a few exceptions, like the echolot, which gives you instant water depth information, and thus can’t be reverted. But these orders all have a confirmation message.)

3/ When the turn advances, actions are resolved, U-boat first. Whatever happens, ships must execute their planned moves and can only adjust their strategy on the following turn. So for instance if a ship detects the U-boat, it can’t fire depth charges on that turn.


 Rules of Engagement 

Since we’re on the topic of the rules, I want to share another dilemma: how much of the inner workings of the mechanics should the player be exposed to? 

Like many old school PC simulation and wargames fans, I started with boardgames, tabletop wargames, and pen and paper role playing games. They offered realistic settings, (somewhat) sophisticated narrative, and (sometimes) deep character interaction, at a time when rudimentary computers just learned to play Pong or Solitaire. As technology evolved, the balance of power shifted, and videogames now surpass their ancestors on almost every level, including realistic simulations and complex wargames. They even reinvent social interaction with online gaming and persistent worlds. 


Ambush. Still one of my favorites

However, computer games have inherited their DNA from their analog parents, which is obvious in the way many PC wargames and simulations operate as a fundamental level. Below the surface, even high octane action RPGs still roll for hit percentages, evasion, damage mitigation, etc... characters still have stats, perks and skills. Loot and experience are still at the core of progression. Simulations still ask the player to balance resources and expenses. Under the hood, simulation and strategy videogames function like fast, automated boardgames.

Even a game like Total War has the traditional underlying maths

But even though mechanics are now managed by the computer, many designers still make the choice to expose them to the player. Item descriptions explain in detail all the mathematical stats, perks, bonuses, which allows players to calculate everything down to the digit. In-game encyclopedias document every feature and rule with extreme precision. I can see two main reasons for that. 

The min-maxer dream

First, designers feel sometimes obligated to transparency, as to dissipate any suspicion of cheating or arbitrary outcome. Second, a large proportion of these videogame designers come from the same boardgame school, from which they developed the love for translating any imaginable situation in a set of rules, calculations, and statistics. The most obsessive and dedicated members of this group are referred to as min-maxers.  No doubt that you’re familiar with the term that comes from their deep understanding of game systems, which they optimize to their advantage. 

All Dungeons and Dragons players remember these

Now I wouldn’t consider myself a min-maxer. Far from it. But I must confess a love for numbers. I appreciate rules when they elegantly describe a situation and its resolution. There’s something appealing to the idea of understanding how a system works, and how to take advantage of its synergies and interlocking rules. But digging deeper, even the most basic games have rules. Sports have rules. They’re the essential framework to the enjoyment of the player, since they describe the challenge and define the conditions of success or failure. 

Anyone who’s played even the most basic family board-game knows the thrill of the moment when an entire game rests on a specific die roll. It’s simple and effective.


Move Along, Min-maxers

This was the long way of explaining why I was tempted to expose all the statistics and mechanics of the game. Every calculation, odd, damage, statistics etc. But I’ve decided against it for a few reasons. 

The first is practical; the Playdate isn’t exactly what you would call a friendly platform when it comes to reading, and I can’t see how anyone would enjoy studying walls of tightly packed numbers on its tiny unlit screen. In the end you have to compose with the limitations of the platform, and Atlantic’41 may already rely too much on text. 


This is about as much text as the game should display at one time

Second, I’m concerned that showing the math changes the way people interact with the game. It’s difficult to ignore available information, so the instinct is to obsessively check every statistic, make comparisons, evaluate options, analyze the maths. It could turn the experience into a crunching numbers exercise closer to filling your taxes than commandeering a U-boat.

Looking at the moon phase over reading visibility stats

For instance, when selecting a target, if given the hitting odds, the player will browse every ship and simply choose the ones with the better odds, instead of understanding the factors that affect them. It shifts the focus to numbers, which become a crutch. It also turns the game into a very abstract experience which goes against the immersion. You don’t look for the moon in the sky to evaluate visibility, at the waves for how much concealment they offer to the periscope wake. You just select the best number. It would partly render moot all the efforts I've put into making the game a visual experience. My hope is that over time the player gets a feel for the best course of action by studying the lighting and weather conditions, the position of the target, and all the factors that a real captain had to take into account.


Available data

It’s not to say that they’re aren’t numbers, but they’re limited to the realistic available data. Wind, target speed and angle on bow, time, cloud coverage etc...But you don’t get any of the numbers that the game uses under the hood to simulate the world.

Finally, the problem with stats is that they slow down the pace of a game that is already slow by nature, in particular for min-maxers who won’t be able to resist their impulse of optimizing every decision. It turns a videogame into a board game, in which you crunch the numbers and read the rules, instead of enjoying the experience and immersing yourself into the world.


Das Boot: mood and tension

In conclusion, I think that the turn based system with delayed action, combined with a simple and accessible set of commands and limited statistics will strike the right balance for the game. I have other ideas about the end of turn sequence and how the resolution of actions will be handled, focusing on the tension and the mood, and hopefully enhance the feeling of being aboard a real U-boat, instead of playing a boardgame. But this will be for another log.

Next time will be dedicated to the implementation of the TDC, which is the last big interactive chunk of the engagement gameplay, before I tackle the end of turn sequence.

So as usual, more soon.

Comments

Log in with itch.io to leave a comment.

Was reminded of Neo Scavanger's combat system and an RPS article on it when was reading this. The game limits the combat to text without telling the player the hard numbers of what actions do, and the lethality makes it better to avoid often. I like your approach of focusing on visual indicators and player intuition over number crunch.

https://www.rockpapershotgun.com/best-combat-2014-neo-scavenger

Do the ships turn over time when changing course, like have a curved arc or is it straight forward for simplification?

(+1)

Thank you for the link. I didn’t know that game. The idea is to stick to the representation of a physical map, where trajectories are always straight. Keep in mind that a turn is 10 minutes, so at the scale of the map, a trajectory covers several kilometers, so even a course change would only show a tiny arc over a fraction of the entire line, which would be straight for the most part.

(1 edit)

Thank you for the great post! What a joy to start the saturday morning with! 

The way to change course and speed looks really intuitive! 

I imagine making the line that indicates the path to the future position curved would give another visible hint to what the player is doing even if the point of origin is not visible.

On the other hand it's less realistic as you would project the course on the map with a ruler.

As to the echolot confirmation dialog: As I understood you wont use the echolot very often so if it's a bit disruptive it would be very rare.

Another way could be to delay the action for 3 seconds in which you have to keep the button pressed. During this 3 seconds a sound could be played (some click sounds as the operator is turning a knob) and after the 3 seconds you hear the ping. It could be accompanied  by a time indicator (shrinking circle or something like that), the warning text could be flashing, etc.:


As to expose the statistics: Sometimes its difficult for the player to learn what works and what not (I remember when I was about 13 years old playing a pirated copy of Silent Service on a monochrome Atari ST with very little knowledge of english). If you see the numbers there is no ambiguity.

So it could be an Idea to have a settings for difficulty (novice vs. captain) where in easy-mode there is an additional info (e.g. chance of detection: 20%, chance of torpedo hit: 30%), not to expose all data but some key-values that would train the player to associate the conditions depicted in bridge view (weather, lighting, ...) with chances of success of different actions. Or it is just used in the first tutorial mission, that would prevent that the game becomes a board game but speeds up the learning the conditions. 

Thank you again! I think I will fire up the emulator and give Silent Service another shot.

Quite a lot to unpack. Thank you for taking the time of giving such detailed feedback and suggestions.

The curved lines, like you said yourself, wouldn’t make much sense in the context of the map, and I’m afraid that this would generate confusion (even though it would look nice).


I think the Echolot confirmation works well as it is. Your suggestion is sound, but I feel that sometimes it’s best to stick to the simplest system that most people are familiar with, unless you have a very specific reason not to.  I also think that the window is a more elegant way to present the text.


You’re right about the numbers. They do offer certainty. I mentioned this as a reason to explain why they’re so popular in many games. But that’s precisely why I don’t think it’s right for what I want to do. One of the major themes of U-boat warfare is the tension; and this tension comes in great part from never having any certainty about anything. If you think of real life U-boat combat, there was never any way of knowing what were the chances of hitting, or being detected. Captains only knew what worked in their favor, and what worked against them, and their appreciation improved over time, with experience. That’s what I would like the game to convey. I had a similar experience with Silent Service, but I think that the struggle came from the game not communicating well the parameters that went into the resolution of any situation. Games were different back then. It was a do or die philosophy, with very poor quality of life. Atlantic ‘41 will be a modern game, that (hopefully), gently introduces the player to all the concepts needed to succeed, and conveys clearly all the variables. But I want the player to learn the impact of these variables with experience, like a real captain would do. The advantage being that you have the luxury of starting the war over as many times as you want. I realize that it’s a risky and challenging bet, and that it asks more investment from the player, but I believe in the idea, and I hope that there’s enough patient players out there that are willing to get their asses kicked a few times. ;)

After reading your last paragraph I'm even more intrigued by your approach.

It is clearly a "risky and challenging bet" as it targets a handheld console with a very small monochrome screen (the playdate made me realize that I need reading glasses -- I feel old now), few buttons and an audience that is accustomed to very short casual games -- nearly the opposite of "immersive".

But if I'm an indicator you already succeeded: Just reading the blog (your incredible profoundness of thoughts regarding the game design) and looking at the beautiful (!) artwork evokes an visceral reaction, a tingle of anticipation. I usually don't have that.

After reading your reply I think by not showing the numbers you allow a higher degree of immersion as the imagination occludes the restraints of the play date. It will only get better with added "focusing on the tension and the mood".

Looking forward to the next devlog entry!

(+1)

Yes I mentioned in a previous log how the Playdate seems a counterintuitive choice. But sometimes you got to follow your instincts. We’ll see how this all turns out :)

(+1)

Great to have you back! Looking forward to this as always, and love the detailed blog! 

For the echolot confirmation - I’d always be tempted to make the warning diegetic, rather than breaking immersion - whether it be a crew member asking for confirmation or some other in-world function, but I think your instincts are right that it needs something. 

Do let us know when/if you need beta testers, I’d be happy to help root out bugs or problems when you feel the game is complete enough. 

Take care! 

Very happy you enjoyed the log! Thank you for the feedback. I’m glad that you mention this point because I thought about what you suggest, and forgot to explain why I didn’t do it.

I did my fair bit of reading about life aboard U-boats, and I got from it that the captain was very rarely challenged, if ever, regardless of the situation. Now I guess that the first officer could offer a respectful reminder, and that would be okay. But then what about the second time, and the third, and the time after that? We would be in this bizarre situation where a crew member systematically challenges the order. Also, I think that there’s going to be other situations in which it will be difficult to find a plausible objection from the crew, in which case we would have an inconsistent system, where sometimes we stay in game and sometimes we step out. I was afraid to paint myself into a corner. So in the end I figured that it’s just easier to admit that this is a game and we sometimes have to break immersion.


Of course I’ll be glad to have you and others test the game. It’s way too early for that, but when the time comes I’ll have an announcement here, and you’ll be able to opt in.

I think that makes sense for sure, and it’s great to hear you researched it! 

By all means, only when the time is right! 

Thank you once again! 

You’re very welcome. Please don’t hesitate to keep sharing your thoughts.