Skip to content

Spooky Action at a Distance Games

devlog

  • Blog
  • Game: Stepsons
  • About us

Stepsons of the Universe Devblog #1:

Posted on 2024-08-072024-08-31 By Snorri
Stepsons of the Universe Devblog #1:

The journey so far

Today I want to tell you about how our game, Stepsons of the Universe, came to be and how it changed over time.

Originally “Stepsons of the Universe” was an idea in @HughHoyland and his friend’s head. 

It was a Classic Roguelike with a generation ship as its setting. The ship’s decks mapped naturally to roguelike levels. Initial concept combined tropes of every sci-fi work they could think of: bits of Heinlein and Asimov, “Aliens”, “Predator”, Larry Niven’s “Smoke Ring” etc. 

Now, I haven’t been on this project since its inception. I joined way later as a writer for the game. There was another writer on the project before me.. Part of my job was finding out what the game was even going to be. The plans for the game were initially very ambitious and also pretty vague. To illustrate what I mean, the original writer had a faction called “hippies”, and it was described by him as a bunch of careless slacker that didn’t do anything of use. This clashed pretty hard with what was otherwise a pretty serious tone of the story. It was also hard to fathom a faction surviving in harsh conditions, when they didn’t do anything for said survival.  

The biggest goal for me was to identify what was at the core of the story. What’s unique about it? What could be the selling point? For me, it was the concept of the world being split into different time periods. That sounded like something I haven’t seen that often before. A lot of CRPGs were set in various periods of our past, a lot toyed with the idea of various old ideologies making a comeback in unconventional settings (Caesar’s Legion from Fallout: New Vegas comes to mind), but no game I know took you on a journey through all of history. 

Ok, “all of history” might be quite an exaggeration. We’re a small team, we can’t make something so detailed and big. But the general idea was too compelling for me to throw away. I was hooked by the concept of writing a game where the player interacts with an entire course of history. 

Right now we are focused on making a vertical slice of the game, and the first in-game act takes place in a Neolithic era. The first act went through many changes, but as of now it is fully written and we’re doing our best in order to bring it into a game-ready format. It’s a lot of work, as it turns out, and we’re learning as we go.

Uncategorized

We have doors now

Posted on 2024-07-272024-07-27 By hugh

Made from this spritesheet:

and JSON like this
{
    "name": "Vertical door, 2-tile",
    "door": {
        "walls": [
            {"offset": [-1, 0], "wall": "east"},
            {"offset": [-1, 1], "wall": "east"}
        ]
    },
    "multitile": {
        "tileset": "ArthurVista-dors-4export-v1.0",
        "static_tiles": [
            {
                "name": "opened",
                "fragments": [
                    {"offset": [-1,-1], "id": 34},
                    {"offset": [0,-1], "id": 35},
                    {"offset": [-1,0], "id": 44},
                    {"offset": [0,0], "id": 45},
                    {"offset": [-1,0], "id": 96},
                    {"offset": [0,0], "id": 97},
                    {"offset": [-1,1], "id": 54},
                    {"offset": [0,1], "id": 55},
                    {"offset": [-1,2], "id": 64},
                    {"offset": [0,2], "id": 65}
                ]
            },
            {
                "name": "closed",
                "fragments": [
                    {"offset": [-1,-1], "id": 34},
                    {"offset": [0,-1], "id": 35},
                    {"offset": [-1,0], "id": 44},
                    {"offset": [0,0], "id": 45},
                    {"offset": [-1,0], "id": 70},
                    {"offset": [0,0], "id": 71},
                    {"offset": [-1,1], "id": 54},
                    {"offset": [0,1], "id": 55},
                    {"offset": [-1,2], "id": 64},
                    {"offset": [0,2], "id": 65},
                    {"offset": [-1,1], "id": 74},
                    {"offset": [0,1], "id": 75}
                ]
            }
            
        ],
        "animations": [
            {
                "name": "open",
                "fragments": [
                    {"offset": [-1,0], "name": "door-v-open-upper-nw"},
                    {"offset": [0,0], "name": "door-v-open-upper-ne"},
                    {"offset": [-1,1], "name": "door-v-open-upper-sw"},
                    {"offset": [0,1], "name": "door-v-open-upper-se"},
                    {"offset": [-1,1], "name": "door-v-open-lower-w"},
                    {"offset": [0,1], "name": "door-v-open-lower-e"}
                ]
            },
            {
                "name": "close",
                "fragments": [
                    {"offset": [-1,0], "name": "door-v-close-upper-nw"},
                    {"offset": [0,0], "name": "door-v-close-upper-ne"},
                    {"offset": [-1,1], "name": "door-v-close-upper-sw"},
                    {"offset": [0,1], "name": "door-v-close-upper-se"},
                    {"offset": [-1,1], "name": "door-v-close-lower-w"},
                    {"offset": [0,1], "name": "door-v-close-lower-e"}
                ]
            }
        ]
    }
}
Uncategorized

Thin walls and examples

Posted on 2024-03-162024-03-16 By hugh

My programming language of choice, Rust, allows you to write code in independent libraries of modules, called “crates”. Other languages do it too, it’s nothing new, but in Rust it’s seriously easier, and the benefits are immediately usable.

This has this effect on our progress: a programmer can work on independent crate for months, without a visible effect on the main project. It happened when we worked on crates for:

  • Shadowcasting (for visibility and projectiles) – credit to Maria;
  • Tiled (tile map editor) integration with graphics framework;
  • Animations engine – credit to Maria;
  • Talk (our dialogue engine);
  • UI – credit to Maria;
  • “Buff/debuff” – an engine for effects like “10% to speed, Speed gives extra +15% Dodge”;
  • and lately – Thin Walls.

Now I can declare that Thin Walls are officially ready for beta testing.

Wait, what Thin Walls?

In short, this is one of my bad decisions that prolong development for months and lead to overengineering. It is a gimmick – I wanted to have not only traditional roguelike full-tile walls, but also walls between tiles.

This broke a cascade of things:

  • Shadowcasting;
  • Pathfinding;
  • Map loader;
  • Tiled maps.

But now it’s usable in the game engine. Thanks to this, I have the map from an earlier post running in the engine. Green lines are a debug tool for actual walls, red circles are tile visibility.

Now, next crate I’m creating is – finally – Combat

I’m finally working on something that resembles a game. This something is an example for Combat crate. In Rust, again, there is an out-of-box mechanism with which you can create examples for each crate, for documentation, demonstration or learning purpose. I also use them to try out my code design for this crate.

In this crate, that depends on Thin Walls above, you actually control a character, and, tada! you have a team of enemies that can attack you with melee or ranged attacks. This crate is about creating the dumbest AI that I could think of.

It’s still blocked by the lack of pathfinding and some features in visibility on Thin Walls, but hey, I’m getting close to that.

Here is the Combat crate example. Looks a bit like LaserTag room, isn’t it?

Uncategorized

Art updates

Posted on 2023-11-25 By hugh

Some of Snorri’s new animations and ArthurVista’s environment. Slightly NSFW… well, not really. We just need the naked base to start animating different clothes on top of it.

Uncategorized

Tiled integration

Posted on 2023-11-222023-11-25 By hugh

A feature that was long due, integration with Tiled editor.

It uses so called Wang tiles to mark up the walls on the map, so the editor can design not only visuals, but also a topology of the map. In future, we will expand the number of tile kinds that game engine “understands” in the map.

It’s still rough around the edges, rendering order needs to be improved, but it’s the beginning.

Temporary character credit: body/female/reptiles/red_winged.png: by Nila122, Johannes Sjölund (wulax), Stephen Challener (Redshrike) on OpenGameArt one two three.

Uncategorized

Stepsons of the Universe: A quasi-historical old-school RPG

Posted on 2023-10-25 By Snorri

Hello everyone. It’s been a while since we posted on this blog, so I felt like we should do a little re-introduction about our studio and the project we’re working on. 

For the past several years, we’ve been working on a role-playing video game called “Stepsons of the Universe”. It is a game, in which you explore a strange anachronistic sci-fi world, where humanity has split itself into communities, each mirroring a specific part of the real-world history. 

You begin your journey in a rural area, where tribes of people live as if the Neolithic period has never ended. You’ll have to find a way to survive in these harsh conditions, as well as take part in local conflicts. As you venture further into the world, your surroundings change, almost as if you’re going forward in time. You’ll find places that are stuck in the Medieval era, or in a Renaissance era, or maybe a series of settlements engaged in a miniature version of the Cold War (though, do keep in mind that the specific historical eras, that are going to be featured in the game, are not currently set in stone). 

A mock-up image using in-game assets of how the game is potentially going to look. Not the final product

As you progress, you’ll learn new skills, acquire new equipment, and complete various main and side quests. Along the way, you’ll have to interact with an AI named SHTURO and share information with it, as you both attempt to find out what happened to humankind in this universe and how to stop an incoming world-ending cataclysmic event. 

Our ultimate goal is to create a unique role-playing experience with an engrossing narrative, a fast-paced dynamic combat system, as well a distinct visual style. We want to make a game inspired by the classics that we grew up with, such as the original Fallout, Rogue, Chrono Trigger, Ultima IV, and many others. 

Players will be able to craft their own character, with a certain set of skills and stats, each of which will affect their future play style and unlock certain branches of the storyline, some of which are only available to characters with specific stats. 

The game will feature a turn-based tactical combat, inspired by the likes of Jupiter Hell and All walls must fall. Both the player and the NPCs make their turns at the same time, so when a player takes a shot from a gun the enemy does so as well, and bullets, projectiles and other types of attack all take time either determined by a specific animation, or a speed of projectile. So as the enemy shoots at you, you have a chance to dodge or take cover, as the bullet takes time to reach its target. It’s a much faster, more aggressive style of combat than the ones we usually see in turn-based RPGs, where in crowded battles you can spend a lot of time just waiting for all enemies to take their turns.
What’s unique about our combat system is that the players will have a choice to either take a combat action, or a speaking action. Instead of swinging away at the enemy or shooting from a bow or a gun, you can try talking to them mid-battle, persuading them to stop fighting, betray their comrades, or maybe intimidate them into surrender. This action will also take time, so you’ll have to choose between fighting and talking. Not all battles can be resolved with words though, so be careful. This particular aspect is inspired by tabletop role-playing games, where there is always an option to talk as a secondary action during your turn. This part of role-playing experience has been historically very overlooked when it comes to translating tabletop rules into the medium of video games.

A few words about our team

As of now, we’re a small and humble bunch. We call our team “Spooky Action at A Distance”, or SaaaD for short, which is a cheeky reference to the fact that most of us live quite far from each other and have never met in person.


I’ll start with myself. My name is Snorri, and I’m the narrative lead on the game. I’m the one writing the story, and the dialogue, I design and plan all the quests, and, as of recently, I am also making animations for the game (gotta use that Animator’s degree for something). Before coming onto this project, I’ve been mostly writing TV Shows and feature films. My short film, “Hyperion: a scholar’s tale” has also been featured in an International animation festival Animator in Poznan. 

Next up is @HughHoyland, who is the project founder as well as the lead programmer. “Stepsons of the Universe” is an old dream project of his that he originally started with some of his friends. He has brought me onboard in 2021 and we’ve been working ever since.

The art of our game has been so far mostly done by the talented arthur_vista (you can find more of their work here). They make our sci-fi nonsense look extremely pretty and appealing to the eye. We are extremely lucky to have them.

There is also Maria, a Senior Researcher in Ukrainian Centre of Marine Ecology. Decided to switch her career to software development and is now making great progress in Rust, because marine research in Ukraine will be hazardous until the total demining of the Black Sea.

It’s about now that I should also point out that all members of our team are from Ukraine, and most of us are still living there despite the 2022 invasion. We’re making good progress on the game, but as you might understand, working while under constant threat of bombing raids, blackouts, and other hazards is quite tough. We have already lost at least one member of our team to this war, and we can’t know for sure what will happen to us next. So while we’re committed to finishing this thing, there will most certainly be setbacks and maybe even bigger problems. Please, be patient with us.

As of now, we have a functional game prototype, over 250 pages of written dialogue and quest descriptions, and some very nice pixel-art character models and assets.
I’m hoping to give you more updates in the future, and starting from now I will try to write more development updates on this page. 

Uncategorized

First steps of the engine

Posted on 2022-08-23 By hugh

It has a long way to go, but the engine now has:

  • Dialogue engine (see the first post in this blog);
  • World state;
  • Scripting in Lua;
  • Rudimentary battle system.

Our next goal is buff/debuff system, which is known to be a hard problem. Probably I’m going to overengineer it, even if I try not to…

Uncategorized

More tech

Posted on 2022-07-222022-08-23 By hugh

Second, shadowcasting (great job, Maria!), which will be used for:

  • vision,
  • lighting
  • and ranged combat.

Obstacles can have different permeability for light and projectiles. For example:

  • smoke can be very thick but completely “transparent” for bullets,
  • while armored glass is the opposite of it;
  • smoke and glass both can be 50% translucent, and a wooden wall can provide only 50% of cover.

But enough words, here’s a picture of obstacle shadows and target visibility:

Uncategorized

We haven’t been dead…

Posted on 2022-07-222022-08-23 By hugh

Just lazy about the blog.
Let me share a few new parts of our engine.

First, animation engine (by Maria) and Tiled map editor integration (by hugh):

Credits for art used:

  • Map tiles: anonymous OpenGameArt contributor,
  • character: body/female/reptiles/red_winged.png: by Nila122, Johannes Sjölund (wulax), Stephen Challener (Redshrike) on OpenGameArt one two three,
  • clothes: ElizaWy, Marcel van de Steeg (MadMarcel) on OpenGame Art one two.
  • clothes: bluecarrot16, David Conway Jr. (JaidynReiman), Joe White, Matthew Krohn (makrohn), Johannes Sjölund (wulax) on OpenGameArt one two
  • character sheet created in Universal-LPC-Spritesheet-Character-Generator.
Uncategorized

Firs half of August in Stepsons

Posted on 2021-08-152022-07-18 By hugh

A lot of project have devlogs. It’s motivating, it may serve your promotion, but mainly it creates some connection with people who like your project.

Legend, inspired me to continue blogging.

In the last two weeks our prototype got:

  • Shooting! You can:
    • shoot volleys (the weapons are described in JSON and can be created arbitrarily);
    • kill mobs;
    • miss! (I invented an original weapon accuracy formula);
    • reload;
    • see the mob in focus, its HP and hit probability;
  • Vision field (thanks to bracket-pathfinding);

An animated GIF is worth two thousand words, so here you go – a testing map, and then the data that defines it:

As some may notice, the demo is taking a bit of inspiration in my favorite roguelike, Jupiter Hell. Go buy it. Yes, it is totally worth it. No, the price will not be lower.


Our fantastic screenwriter has finished a scenario plan and is pushing me towards a minimal combat/plot demo. He’s absolutely correct, and it means I have to finalize the essential combat features like:

  • mob inventories;
  • simplistic monster AIs (wander, seek, shoot back);
  • time, (where each action may take a different amount of time, and this defines turn order);
  • shotguns;
  • melee;
  • cover;
  • (maybe) destructible environment;

And non-combat plans for the demo:

  • redo the conversation UI – it’s supposed to be nonmodal;
  • and, very likely, migrate to graphics. With the tech I want (pixel graphics + lighting), it’s a huge task, but, er, I really want it.

Uncategorized

Posts pagination

Previous 1 … 9 10 11 Next
  • Discord
  • Twitter
  • TikTok
  • Reddit
  • Facebook
  • YouTube
  • Instagram
Log in
  • November 2025 (3)
  • October 2025 (9)
  • September 2025 (5)
  • August 2025 (7)
  • July 2025 (7)
  • June 2025 (7)
  • May 2025 (7)
  • April 2025 (7)
  • March 2025 (8)
  • February 2025 (7)
  • January 2025 (1)
  • December 2024 (6)
  • November 2024 (8)
  • October 2024 (3)
  • September 2024 (4)
  • August 2024 (2)
  • July 2024 (1)
  • March 2024 (1)
  • November 2023 (2)
  • October 2023 (1)
  • August 2022 (1)
  • July 2022 (2)
  • August 2021 (2)
  • July 2021 (1)

Copyright © 2025 Spooky Action at a Distance Games.

Powered by PressBook Dark WordPress theme