Dad, Solution architect and hobbyist gamedev.

RSS My Blogs

The Berlin Factor

LateTide Blog

StormTorn is a (will be a) nautical roguelike, with a strong emphasis on exploration. In this article, I'd like to expand on this a bit, using the Berlin Interpretation for the definition factors.But, before I go into that, here is a bit of explanation: There is an ongoing "conversation" on the internet about Roguelikes. Some say you should never use this expression, for you should not define a genre by the first game. Some others argue with this. I think it is an expression that means much more today than just a reference to the original game, especially that most of us have not played with Rogue whatsoever. So, when I use the term "Roguelike", I use it in accordance with this definition:

"Roguelike" refers to a genre, not merely "like-Rogue". The genre is represented by its canon.
The canon for Roguelikes is ADOM, Angband, Crawl, Nethack, and Rogue.

Having said that, let's go through the list: (for the definitions please see the link I mentioned above: Berlin Interpretation)

  1. Random Environment Generation: Yes. The worlds are randomly generated, using some rules to make them interesting and playable. I have a huge list of different places and events to make it interesting.
  2. Permadeath: Yes. If the character dies, there will be no resurrection/respawn. But, there is a twist here: Worlds can be reused for playing with a new character after the previous one dies or if the player decides to abandon it.
  3. Turn-Based: Yes. Actions will take place only when the character acts. There will be "waiting" commands to support this.
  4. Grid based: Yes and no. The world is represented as a hex-grid of locations, but a single location is more similar to a room or dungeon level in a classical roguelike than to a single point that the player or the monster can occupy.
  5. Non-modal: No. The game will be modal. Combat, trade and other similar interactions will be separated from the main window. This is the direct consequence of the previous point.
  6. Complexity: No. Not in the classical sense, but the way character advancement and the ship improvement works, they will allow the user to use different strategies for overcome challenges.
  7. Resource management: Yes, although with certain differences. The player will need to collect resources from the start to improve the ship, but trading will have a strong role in the game. In a nautical game this approach is better that finding ship parts and crew members randomly on the map.
  8. Hack & Slash: Sorry, no. There will be occasional battles, but the emphasis is on the exploration.
  9. Exploration and Discovery: Hell yeah!
  10. Single player character: Yes
  11. Monsters are similar to players: Mainly yes. Naval battles will be against very similar enemies who will be affected by storms and other environmental factors the same way as the player. Battles against land dwellers will have a very different flavour, these can be considered as events instead of actual fighting.
  12. Tactical challenge: Yes. Moving further away from the civilization will increase the challenge factor, and will also introduce new types of challenges.
  13. Ascii Display: No.
  14. Dungeons: No. Instead, there will be locations in a huge, explorable overworld. At these locations you will be able to use different actions, will face enemies and natural events.
  15. Numbers: Yes.

So, can I say it is a roguelike? I believe it is not a lie, especially if I also say that it is nautical. I guess no one will expect me to move an ascii ship around in a maze built over water, bombarding orc warships at every step and using enchanted sails I picked up from the water, while drinking my Potion of Greater Hull Repair. Also, the exploration focus means that I need to somehow relax the steep challenge curve and allow the player able to simply enjoy the voyage sometimes, instead of fighting all the time.
Let me know your thoughts about this, I am really curious.

StormTorn: Information control

LateTide Blog

In most modern games, mapping - including orientation and minimaps - is a given. However, in StormTorn, I want the player to work for this, so they feel an achievement when they are finally able to see the map in a normal format.

So, the plan is to provide 3 different kind of information to the player based on their equipment:
- Compass will enable directions (North based map instead of one based on your current orientation)
- Clock&Sextant will enable the player to see coordinates
- Telescopes will enable the player to have a minimap

There are a few challenges with this, of course.
First of all, the players might get disheartened if they think these features are not implemented. It must be readily apparent that the player will have a minimap or a north based map later on. I will probably solve this by adding small placeholder UI elements, which will tell the player the this is indeed something that exists. Also, I plan to include these in screenshots and videos, so that at least some players will see them.
Also, it is important to balance the appearance of these items well. If the player can buy them in the first town they come across, there is no reason to implement this whatsoever, because it is literally just a way to make the first five minutes harder, which is not my goal. What I want is to make this a doable challenge, that will motivate the player to work for getting the items, and - hopefully - they will feel rewarded seeing the result. It is also important that being able to see the map will also enable the player to create maps, which will have several effects in the game. So, with carefully controlling the availability, the price and the prerequisites of these items, this becomes one of the motivating factors.
From the implementation perspective, there is only one thing I will need to carefully approach: The player ship direction based maps are somewhat tricky to render. Far from impossible, but - based on the model one uses for storing the map - might be somewhat challenging without a good plan. In my case, the map is stored as two dimensional array, so it is actually fairly easy to write a simple method that determines the array coordinates of the map from the visual map coordinates. Naturally, drawing a static map and just hide some of the areas is not a good solution here.

That's about it for today's musings about the game mechanics.

StormTorn: A simple explanation about the visibility levels

LateTide Blog
As I mentioned in the description, the game has discreet (hex shaped) sectors. The contents of the sectors vary - some will have islands, some will be totally empty, or you can find natural resources here, or a native tribe there. But, to make the game interesting, and exploration rewarding, most of this information is hidden until you enter the given sector.
The basic concept is that the content of the current sector (the one where the ship is) is always visible. You have also a good visibility in the surrounding sectors (first circle) and some visibility in the second circle (two steps away from the current sector.) Also, the visibility in the first and second circle must be different if the player have visited a sector already, because they will know that there is a native settlement there, obviously, so there is no point hiding it.
Technically, this is solved by using visibility levels and the visited flag. The levels are explained on this diagram to the right.
Level 1 is the sector itself, or the sea, in other words.
Level 2 is an island or similar, static object in the middle of the sector.
Level 3 object(s) are the ones which are attached to the static object. In case of the island, it can be a settlement, or some natural resource, like sugar canes, or something like these.
Level 4 objects are the dynamic ones, pirate ships, mist, and decorator objects, such as the compass.
Now, how does this work? In the current sector, the visibility level is (almost) always 4, so we show everything on and below Level 4. This practically means that everything is displayed, including the animations and particle effects. In the first and second circle, the default visibility level is 2, but for visited sectors, it is 3. The difference between the first and the second circle is more at the level of detail. Animations and some particle effects (say, the smoke coming from a volcano) will be only visible in the first circle.

I've implemented the first version of this system yesterday, but I'll still need to add some extra visuals to make the hiding/revealing less instantaneous.