The enemy harbor has to be a critical location for a submarine commander in Silent Hunter III, close to impregnable and as enticing as a Spanish galleon returning loaded from the New World..
A U-Boat should be capable of taking the front line where the enemy ports are. This is something I really wanted to have in Silent Hunter III.
I imagined the possibilities for infiltration missions in Allied ports, relieving moments of the Gunter Prien’s famous incursion in Scapa Flow.
“There was only a narrow passage open as a few sunken ships obstructed their course and into it U.47 steered. The tidal stream threatened to swing the boat off course. It was only by getting every possible ounce out of the engines that she managed to get through the narrow channel, with little room to spare on either side.
“Commander to ship’s company. We’re in!”
The next thing was to find a worth-while prize – and to attack it! For the rest of the way to the well-known anchorage of the British fleet Wessels on his own responsibility had switched both diesels over to charge and both were now driving the propellers and at the same time charging the batteries. Later, the batteries would be required to work to the point of exhaustion.
The bay was almost empty. Only a few tankers were lying at anchor, and for the moment nothing more was to be seen. But there, away back in the distance, those silhouettes, those queer three-decked construction – those could only be battleships. There where two of them, Royal Oak and behind her, without a shadow of doubt, Repulse. The great bows of Repulse, protruding well beyond her consort offered the first target… Hit!” (p.27 The Hunters and the Hunted German U-Boats, 1939-1945 by Jochen Brennecke
In our game, a port should be a fortress with coastal defenses, anti-aircraft batteries, destroyers and patrol boats always watchful, surrounded by treacherous minefields daring the player to reach the ships at the piers. An infiltration mission in such a place may seem suicidal, inspiring fear but in the same time provoking the player to try it, breath held and heart pounding in the ears.
This should be that kind of mission that makes you feel the adrenaline rush every 5 meters at Ahead Slow!
Scapa Flow … inciting reference, isn’t it?
And there are so many other places where the adventure of Prien can be repeated … Why wouldn’t that be in Silent Hunter III?
How did this started in the first place?
It was our intention to use a few predefined locations for the U-Boat bases, set in various zones – North Atlantic, French Coast, Mediterranean Sea and Indonesia. Each of these locations were to be used in a non-interactive departing and return sequences. The setup included details like specific buildings, detailed piers, submarine pens and of course a fanfare! Initially we considered this enough to have as non-interactive engine rendered movies (the community sort of accepted this as “better than nothing”) because we were under a tight schedule and time was scarcely available to develop the harbors.
But after seeing what came out of the modeling the locations, I really wanted to dock that U-Boat by myself, in the game. I didn’t have too much confidence that it would be possible at that time. But I hoped!
I felt that burying the ports in non-interactive sequences would skip a generous development area and that would be a mistake. I knew I had to find a solution to add this feature to the game to enrich the gameplay and to challenge the players!
Thus, one of my main goals become to find a way to have in the game the adrenaline packed missions where the player will sneak his U-Boat inside an Allied port, hitting unexpectedly the prize targets and than barely evading out of the hornet’s nest the port would become.
However, before that Silent Hunter III needed the port locations. And to really make it an immersive gameplay experience, a high level of detail was required to support the immersion achieved by the game in other aspects. Yes, but how could I obtain a quite detailed location that should be both challenging and visually stunning and in the same time not to use too many resources?
Initially that seemed impossible. But an idea was nagging at the limit of my consciousness. After a discussion with the programmers about “tile systems”, I had the confirmation that we can successfully implement that in Silent Hunter III. Perfect! That unexpectedly solved the technical problem of “visually stunning, challenging, non processor crunching locations”! It was as simple as a puzzle game. Using generic environment elements plus various support tiles I could build huge locations out of practically nothing processor wise (e.g. the Alexandria harbor in Silent Hunter III has a length of 11 kilometers).
Well, there was another serious problem to solve. There was no editor for this and there was the question of time – would the programmers have time enough to make an editor?!
Our engine was already using an object cloning system. However, this had no snap, align and snap rotate editing functions. Without them, it would be impossible to use the “tile system”.
After a few days of research, I came with the proposal to use XRef system, from 3D Studio Max as location editor. It would have taken only some minor adjustments of the cloning system already implemented in the game engine. The gaps between 3D Studio Max and the engine were covered in record time (I must say here, the programmers are one of the trumps of the Silent Hunter III team, allowing the designers and artist a great freedom to achieve the quality visuals we wanted).
This is how the possibility to have harbors in Silent Hunter III became reality. In addition, as a welcome bonus, we intend to make the max source file including the tile kit available for the community. You will be able to improve it, expand it and update it (poly count, landmark buildings, new port locations, etc.). Practically, the kit will never fall into obsolescence as long as there will be a Silent Hunter III community.
…When I first reached the home port, watching it from the conning tower of a type VII … well, I was really happy.