Skip to main content
GameDev.net gamedev.net

PRO Tired of ads? Read GameDev.net ad-free and help keep the community independent with GameDev Pro — $3/month.

Newsletter 19.06.25 and previous updates

Newsletter 19.06.25 and previous updates

theaaronstory
theaaronstory
Deep Sea Claustrophobia · · 14 min read
1,903 -1

DSC newsletter about starting to work on a procedural terrain generator and expanding a bit more on the story of the industry from the previous article, talking about values. Additional updates posted below.

Procgen

Part of the reason why DSC only has one cramped interior is that time is of the essence and all has to be crunched (be done as fast as possible until it can be). Which sort of keeps the scope in a really tight space as you can imagine; may it be good or bad, in terms of cut features, like visually inspecting your environment via a periscope or being able to go outside in a suit (the one that’s the logo for the game). However, the lack of pre-production is the reason why the project has a timeframe (of few months), instead of a fixed release date for 1.0, because times like this, features/designs are being made up on the spot and need additional creative problem solving. Luckily, my experience doing all these things as a dev helped, as my previous projects all had these features in one way or another currently using.

A good example would be when my long standing issue with lighting was finally figured out (circumventing the fact that the project can't use any modern lighting techniques, due to hardware limitations on my part), in a form that looked OK and didn't tank the frames. But I digress, because this time around procedural generation came to the spotlight once again. See this example of texture based lighting on an in-between project:


In my previous major prototype, the tiles that were used in the game were on the same level, spread out on a 2D grid. With the ease that there were these chunks that either could spawn a prefab (a pre-made asset, like a waterfall, or a boss room) or regular blocks. This time however, there was a need to make all this in 3D, which is why I’ve opted in using the famous “wave function collapse” technique: A fancy way of saying “blocks determine what other blocks are around them”. The feature is in the design phase, have been cutting up these building blocks for a day now and still not done (requires unique naming, fit-testing, assembling lookup tables, and so forth), which will be the core of this feature. So it looks something like this now:


These might look a bit rough, but because there isn't any need for visuals outside the cabin, the project can get away with simpler executions in the form of simple geometric shapes; nobody will notice, unless they read this article!

Once done, the algorithm will be assembled in the engine and hopefully will be able to generate something that I’m aiming for: 3 distinct zones, with varying sets of features (small hills or depressions). One for the near coastline, one for the plains of the sea, and one for the deepest parts as you venture out. Will have to play with it though, as one backside of this technique is that it is not self aware on a larger scale. So incorporating larger, cohesive structures require additional methods and manual tinkering; but we will see.

Of values

Lately, for some reason, I keep getting into situations where the topic of value comes up (last happened just yesterday), which makes this part more relevant than ever. In the last post, it was briefly mentioned that it was “nice to see others agreeing with my principles, in providing value, the need for it” (which came from other devs and people in the industry), something I thought to expand on today.

Many of you probably aren’t familiar with my attempts and contributions, but in my own ways, as someone with a limited audience and reach, been a strong voice for a few topics over the years. Often advocating for positive changes or at least trying to carve a different direction, a sort of “safe heaven” in space, from industry practices that became standard over the years. Often only there to cause harm or things that seemed to be missing on a grand scale: The “where the industry is headed” sort of thing that some people also talk about a lot (at least as far as my interpretation goes). Although, my ultimate goal was and is to provide something that I'm not seeing much on the market, as far as my definition of gaming is concerned: Entertainment with value and merit, something that stands the test of time, moves others and has the ability to create discussions.

Conversations, as of late, regarding value in gaming just represented my experience even more and reinforced my sneaking suspicion that was built over the years, how poorly value is being perceived by outsiders (folk who don’t game literally cannot understand or appreciate my efforts as an upcoming, struggling developer) and how people in the industry themselves don’t necessarily know what is what. This is why making games isn’t just a simple question of black & white, it isn't a binary decision nor an outcome in most cases, as it’s one thing what you think is true and a whole other what life is about (the full picture).

We as creatives often fall into the trap of thinking that people will love our creations as is. Truth is, most of the time they don’t as people more often than not, have different tastes and requirements for art and entertainment. Which is why my goals probably only align with a handful of people, but that’s not necessarily an issue here. It only becomes one when the players in the industry, the ones that hold power over those who cannot afford to join on their own (talking about publishers here, excluding gating for a moment), act and think as if they perfectly knew what the market wanted, sort of “in their best interest” kind of way (they’re also people, with their own taste and values); whilst wanting to make the big bucks. What’s more alarming is that most of the time decision-makers, who make the final call of writing out that fat cheque or letting that design flourish, have little to no idea how games are actually made; over the years of me trying to find a publisher for my various projects, like this one, I can almost count on one hand the times I’ve actually spoken to someone who knew how games were made, out of hundreds of applications.

And that’s a problem. A major one, as games is this special medium, where having an idea isn’t enough to complete making a game as the design itself requires a certain threshold to meet (which is this binary thinking not helping out at all), and as such often side on what’s been done before, making those safe bets, sometimes because of the lack of knowledge and not strictly for the reason to appraise the Board of Directors; this happens way too often to be a simple “coincident” or “consequence”, if everybody is doing it then there’s more to it (chasing profits isn’t the full picture here). A whole set of skills needed to do so. Not just talking about the technical aspects (the limitations, the constraints for time), to diss outrageous plans of ballooning scopes and false promises, but for the fact that intent and composition also plays a huge role in all of this, which brings us to my loose definition of what I call “value” (the multifaceted aspect of making decent games). Things that come outside of the industry, from other well-established principles. And this always bothered me, and was the reason why tinkering with games became a thing for me back in the day, because what I wanted was just not there to take.

And this stuff is seen by gamers, people like you, when a game is there to strip your wallet and gives back nothing else but misery, under the thin veil of “this is how the industry works, soo deal with it”. Sometimes it feels like an insurmountable issue to tackle, as you can only do so much against the tide as a drop; something that’s been wearing me down, has been for years really, the constant fighting and the cutting out tiny-devs like myself out from opportunities to make a difference (especially in certain parts of the world, which is why this whole Early Access is a thing, what would be compensation for as asking for donations is not really viable at the moment). Not mentioning the long term implications this has on the industry or on consumption as a whole (like the race for the bottom in the indie scene when it comes to pricing).

It's wild to think that something as embedded and structural as this would be left out in the dust, or cared little for most of the time, knowing that the one thing that we’re after, well, should be after is spending our time best, because filling up on those cheap snacks will make us hungry that much faster…

Previous updates

There was a demo release not long ago, which also had the following changes:

  • The breakdown mechanics didn't go away when the engine caught on fire. That has been fixed.
  • Some of the levers on the main control panel has been disabled for now, as I'm working on bringing those to life (like adding SFX to those). Currently, only the top left one works from the vertical ones, labelled "Dynamo" (a simple tool to boost battery charging for a short period of time), and only gives a special sound if the engine is running. The logic behind it works, but only partially. That will be completed for the next update.
  • Apparently, the options for keyboard shortcuts were messed up at some point, and some due to a missing symbol didn't work at all (as in you couldn't rebind them). This has been fixed, as well as the option to Quick Load/Save has been added. Didn't think it was that necessary to implement, as a Quality of Life measurement, but after mis-clicking the Save/Load buttons for so many times now (whilst testing), the feature couldn't wait any longer. The default shortcuts are F5 and F6.

Have attached a few shots as well:

Another update occurred shortly after:



Hi there,

Before getting into what has changed, wanted to briefly mention some other things. As it’s been a couple of interesting weeks since the last build update; that major one, not the demo that came out a few days ago. Have been juggling between the many hats a solo developer has to wear (not just in making games but outside of it) in order to make a project come to fruition. And more importantly to be in the known. While plans had to change and as opportunities were left in the dust (some of them would’ve been a real boost to the project), some form of value still has been seen here and there: One of them was the continuous interest in the project, which brings some joy to this otherwise grim atmosphere over here. Or the fact that the values of my long term philosophies, the providing value and complexity and so forth, still holds some merit, and others too are keen to bring a much needed change. After all, we all do what we can with what we’ve got; some more while others bit less, but all forms do count in the end if you ask me.

Today’s update log will be a bit all over the place, as the interconnected systems are slowly coming online one by one, and often separate parts require attention. And for the fact that some of the design elements were slightly changed, like the layout of the valves (as in what system they controlled), as those weren’t written in stone in the first place (as there was no time to work on pre-production, and technically everything has to be made up on the spot). This is why there’s a larger overhaul on the control panel, where the functions are completely swapped out and bits of the cabinet replaced; but more on that later below.

Now let’s see what the list of changes are:

  • During operation, there’s an “Engine breakdown” event (floating spanners), which after fixing wouldn’t trigger again; that’s been fixed
  • The voltmeter now no longer works on the batteries when there’s an issue with them, either by fire or fumes, and if there are repair crates on the floor.
  • The first big task was to come up with new sound effects for the control panel. Not fully complete, as the anchor switch doesn’t make noise, but almost there. See it in action here:

https://youtu.be/FtvUs6UdWQ0

  • A big change came in the form of recharging the batteries (see video below). Well, the way we can recharge them. You see, by default there’s this “dynamo” attached to the engine which slowly recharges the batteries over time. Which is fine if you just want to keep the lights on, but the thought was to give them a little bit of a boost when the time comes. Of which I’m sure plenty will be. The only downside is that it can hurt you if you go too close (currently it does nothing, but it will in the future), and worse, can burst the engine into flames; which is also a slight issue if you wish to survive. So the main intended purpose is to use it sparingly, as it can go nuts any moment.

    https://youtu.be/tkuumT0stVM

  • Several changes occurred to some of the VFX in the game (like the electric shocks), to make them behave a little better, and look nicer
  • The engine mechanic also underwent some changes, as well as the connected ones, like using fuel, changing the valves on the tanks, etc. All are now affecting fuel economy and output (most notable in the speed of the sub).
  • Apparently, between the plethora of changes, the player’s position got messed up a little, which now has been fixed when saving and loading; it had world coordinates, but changed to local ones long time ago, but the code didn’t fully know about that
  • Forces, the ones that move the sub, are now more functional, and can be fully saved and loaded. This also means that now the sub slows down more gradually, instead of hitting a brick wall; for some reason this took a long time to backtrack as to why it happened.
  • A lot more things have tutorials for them, mostly the ones that operate and do something. Also some of them were cleaned up a little bit (formatting issues here and there with the visuals). Still debating on how to tell the player on when to use a flashlight, as it’s one of the few tools that have no context aware mechanics (when you look at things). It’s already mentioned on the control panel, but doesn’t show how to use them, which key to press. That will need more thinking.
  • There was a slight issue with the inclinometer, as the hitbox for the thing was several times the size, and didn’t move with the needle. Now it’s in the correct place and always stays true.
  • Another big change came in the form of the passive sonar, dubbed Depth counter. A fancy tool telling you what’s beneath the submarine at what depth. It normally shows the seabed, if in reach, otherwise the closest object. See video for an example below. Not jet working though, as implementing it will come at a later stage. It was fun animating it tho’.

    https://www.youtube.com/watch?v=iQqXT6c_vBg

  • Continuing the theme, as per usual, some parts of the code underwent slight refactoring (changes, to make them function better and be more modular), as working whilst laying down the tracks has its drawbacks sometimes. And other bugs and bits and pieces were done, ones that I managed to catch or needed immediate attention.
  • The 2 left master switches, the top ones on the main control panel, now actually work. So you can stall the engine, or turn off the lights if needed. This will come handy later, when conserving resources or hiding from the enemy. The rest of the switches are still work-in-progress as mentioned before.
  • And in case you missed the previous demo update, the game now has 2 new shortcuts for quick saving and loading!
  • Probably forgot to include some of the rest of the things…

Discussion

Loading comments...