The arcade game, build mode and bad cars

Spacebase 19

We worked on bringing you a new awesome arcade game and a really crappy car.

A quick summary of the week:

  • Build mode
  • Crappy car
  • Arcade
  • Free subscriber game!

We have a weeklong sale at the moment and its about to end real soon (5th of March). So if you haven’t already; go buy our bundle (it’s 46% off!). Leaving a review would also helping us tremendously. <3


Build Mode

We are fleshing out the build mode system that we wrote a little bit about last week. Now we got support for raising and lowering the buildings independently of the terrain which means that you can build a tower that is partly underground as long as the building requirements are met. We also added support for a simple thing; the possibility of moving the building closer and away from you as you build.

Let's build a lookout tower.
Let’s build a lookout tower.

Building kits are required to create buildings and these can be crafted, traded or simply found while exploring. Trading requires that you have an actual place for the trade-rocket to land.



Work in Progress, the crappy car/rover/whatever


Walking around on a moon is great! But it’s even funnier (and faster) if you drive! So we started implementing the basic requirements for transporting yourself and your crew. As you can see more work is required…

Some kind of Aladdin's carpet.. more work is needed.
Some kind of Aladdin’s carpet.. more work is needed.


The Arcade Machines

These lovely machines are spread out in the world of Lunar Soil and each hold a mini game! We now have a nice scene transition when entering and exiting the arcade machines.  When playing the arcade games you can try and win rewards in form of items (like a nice hat or bag).

Explore and find new arcade games in Lunar Soil
Explore and find new arcade games in Lunar Soil

Subscriber’s Free Game!

We worked hard this week to finish one of the arcade games, and we decided to release it as a standalone game! And give it away for free to everyone that subscribes to our newsletter!
You can subscribe to our newsletter over here. All of our subscribers will receive the game next week!


The game is done but we had some issues with moving our Unity License and we haven’t received words from the Unity support about that yet. So hopefully Unity will be able to resolve the issue next week.


The game is an small classic arcade turret defense game, but more on that next week.
Meanwhile, here is an awesome logo.

Free subscriber game next week!
Receive the free subscriber game next week! Signup to get it!


The Dead Body Moral, World-creation and Vulkan

Base Building

This week we worked on solving the dead body problem and its moral consequences, world building/streaming and also took some time with Vulkan.

A quick summary of the week:

  • Dead bodies, Maslow’s and The Big Five.
  • World streaming and dungeons.
  • Building placement system.
  • Vulkan rendering.
The fan from the bunker
The fan from the bunker we lived in.

The dead body problem

In games death or killing is usually portrayed as something casual or even rewarding. A stressful act of a cat-and-mouse game. Why is that? Maybe it’s as simple as games are lacking in portraying sympathy.  It could also have to do with the nature of game-culture and the demography it caters to (who are all these blood thirsty people anyway?).

As you play Lunar Soil you will come in contact with some difficult scenarios. For example, you might stumble upon a body. Is it amoral to search the pockets of the dead? Should you just dehumanize the body  because of your own greed. There is no one looking so you can do what you want, right?

But what if your crew and party members would react to your actions?

The dead body problem
The dead body problem. One simple moral choice.

The character you play and the crew around you will react to what you choose to do in these situations. In order for that to have impact on the game we had to restructure some of our character statistics. A traditional RPG has statistics like strength, dexterity, intelligence and vitality as their way of displaying power, value and progression. We use some of these stats as well, like hunger and stamina. However, as the game is not about becoming a killing machine we detected a need  for something else to convey progress, choice, impact and skills.


Firstly, we were inspired by Maslow’s hierarchy and used stats like safety.  But for the dead body problem above that would just result in a black and white, evil or good scenario where some characters that were fine with the scavenging didn’t react and some that did mind, just lost some points in safety.


Ontop of the character points system we have different thresholds to trigger several perks and personality traits that will affect the characters and their gameplay even more so we had to have something better then Maslow’s simple needs. That’s where the principle of The Big Five comes into play!


The Big Five allows a more meaningful and deeper way to portray different kind of personality traits.  (You can take a simple test yourself here for fun).  So now we are working out some gameplay kinks allowing different AI characters to have different kinds of personalities and gain or lose points based on your actions and the gameplay experience. We”ll have some more fleshed-out examples in the future when we have sorted out the UI for it.


World Streaming

We finally landed in how we want the outside world to function. Some of the original ideas we had was to just keep it simple and design each area with an exit and entry. However, we’re making an outside moon world where it’s more exciting to allow free movement. So we looked into how we would split up the different types of areas. We landed and implemented three main structures, outside, dungeons, building and moreover, a couple of different variations of these.


The Outdoors
This is the main area on the moon! This is where the main exploration, traveling and building take place. This area streams and loads as you go, meaning no loading screens, just an endless world (or at-least looping).


Dungeons (working-name, they will probably not be called dungeons later on) will have more unique level-designs where one can explore places like caves, crashed ships, bunkers and more refined areas. These areas are more complex and will therefor be loaded as you enter them, meaning loading-screens. Dungeons can range from smaller exploration areas to larger structures with more complex narrative and designs. These areas usually require you to bring a crew or specialized members to successfully unlock all of their secrets.


Off-world areas
The off-world areas will function just like dungeons but will be reachable by for example space-travel, dimensional gateways or wormholes etc.


Event-based areas
Some of your characters will have events tied to them, triggered by emotional states or that could be part of life stories. If triggered (or if part of a character story), these events can take you to some smaller unsuspected areas. These will mostly be smaller zones with some smaller tasks or happenings. We’ll talk more about these in the future for sure.


Mostly, these will be your own placed buildings and structures, helping you on the moon. The smaller ones will have simple interiors that we don’t need to load separably. However, later in the game we might allow a few super structures that will have their own “dungeon” or interior levels.


Here is an example video of a infinitely looping streaming world. This demo only contains one of our outside areas but one can successfully walk forward forever and ever. As you might notice, we have speeded up the video a bit. To conclude: this is a 3 minutes of in-game walking without problems, yay!

Building system

We haven’t finished all the details for this system yet as it’s greatly dependent on us solving the world streaming and level loading setup first.

The building process is what’s allowing you to plan and build your own unique moon-base in any build-able area in the outside world!  These rather expensive but important buildings and structures are what make your  base come to life. We are thinking of just dropping you down alone on the moon with just one simple base module and then let you decide how to acquire and build the modules you might need.


In order for that to work we need to have some basic building placement validation. We want to make sure that, for example the door is not blocked by any terrain or that a stone isn’t pointing into the interior of a building.


Building validation steps

  1. Follow the terrain height.
  2. Basic collision check with terrain and other buildings.
  3. Building validators (a door shouldn’t be blocked)
  4. That’s it!



 This looks like a great spot to start a base.
This looks like a great spot to start a base.


A new home.
A new home.


relaxed building validation for more creative base-building
relaxed building validation for more creative base-building


Vulkan Rendering

A couple of years ago Vukan was announced, a new cross-platform rendering API for 2D and 3D graphics. It’s the next generation Open-GL and we took some time playing around with it; mostly to find out how things work, how we would write this for ourselves and to understand how the modern game engines we use like Unreal and Unity (still experimental stage) behave behind the scenes down there in the lower level layers. This might come to use when making games or just rendering anything from scratch in the future.


With the help of reading the massive API documentation, going through tutorials, demos and finding code snippets to understand the whole process, the SDK was straightforward to install and setup. We used MingW, Make and G++.  So together with nothing but SDL and the Vulkan API we finally managed to render our first triangle.

The baseline test for rendering-pipelines – The triangle

What’s a so big deal with a triangle? Below is the crazy amount of code we had to write to make this happen. This code below is the actual steps needed to create all the little design principles required. So now thanks to that we know why it’s called  a low-level API 🙂 And here is the compiled fragment and vertex shader used to render the triangle.

Yeah thats all you need to render a triangle in vulkan!
And finally that is all you need to render a triangle in Vulkan!


Lunar New Year & ultra mega discounts!

imprint-X and RymdResa

The Lunar New Year is here! 

The Chinese New Year is here and that means game discounts! There is now a steam sale going on and our games are in it!
We decided to celebrate the Chinese New Year with 40% discounts on imprint-X and RymdResa!
The discounts are running from February 15th to 19th.

Buying both the games together in this bundle gives you a 46% discount:
RymdResa & imprint-X Bundle

Morgondag’s games on discount:

Here come some mediocre salesmanship pitches with some awesome screenshots:


Now you can invite your friends and families into total loneliness and despair as they fly around in our one-of-a-kind-poetic-space odyssey with a  fantastic 40% discount on steam!
Follow the depressed pilot in an epic adventure, or as Polygon said:

Sail the stars in the world’s most relaxed roguelike.

► Buy Now!


RymdResa - Explore the calm of deadly space
RymdResa – Explore the calm of deadly space


RymdResa - Intense space and posterized stylized pixelart for everyone!
RymdResa – Intense space and posterized stylized pixelart for everyone!


RymdResa - Drift, expand, explore, be one with the space.
RymdResa – Drift, expand, explore, be one with the space.




Our amazing button-pressing psychedelic puzzler. Hack your way into the nanobots and save people, yourself and stretch your imagination of logical puzzles that will blow your mind with their simplicity or break your keyboard in anger because of the said simplicity!

► Buy Now

imprint-X - Invoke the hacker clone! 
imprint-X – Invoke the hacker clone! 


imprint-X - Solve the pattern of purple delight!
imprint-X – Solve the pattern of purple delight!


imprint-X - Close the loop, time the targets with the boxes
imprint-X – Close the loop, time the targets with the boxes


imprint-X - A pretty damn cool space terminal!
imprint-X – A pretty damn cool space terminal!


Also we are working hard on Lunar Soil and we solved the door problem!
We’ll tell you more about that in the next week’s devlog.

The door design problem, and other adventures

The poor bunker workers

Lately, we’ve been working with a new design problem regarding an old door and some even older coding language.
A quick summary of the week:

  • New room and level-design
  • working on the door design problem
  • A side-track in computer networking
  • Adventures in C++

Bunker level-design progress

Pretty straightforward work on the old slaving-away at the level-design work, it’s quite relaxing once you nailed down the design and just have to execute.
Work on the cellar is ongoing and we are wrapping up some of the other rooms like this sleep-work-play-die room. The arcade machine in the picture will contain some mini games like a RymdResa auto-ship-runner.


The wheel of the office. Yes. Work. Sleep.Die – You should read this article about burnout


Perhaps a deranged man's exploration of the room?
Perhaps a deranged man’s exploration of the room?

There might be some more room for more more2 graffiti in this scene here?!

Who would want to sleep here?
Who would want to sleep here?

The door problem

Once you’ve gotten into the bunker you will be presented with a gigantic door of awesomeness, and obviously you would like to have a look behind that door right?
What could possibly be behind this thing? Nothing horrible right? right?!

A simple task, open the door and see!
A simple task, open the door and see!

The door problem is about the different ways the player can discover or choose to open the door.
We usually solve design-problems like this with staring silently into the void, waving our arms around, drinking tea or just thinking and coming up with solutions to a totally made up problem like the one of the big giant door.


As you play Lunar-Soil you can bring some brilliant AI companions with you on your adventure, these companions have different classes and specializations.
So one way to open the door would simply be to find the two key-cards hidden somewhere in the scene.

Another way would be to ask your scientist to make sense of the strange glowing light-thingy-computer.
Or you could nicely ask your security guard to open the security-box located in the backroom that holds the key to the shiny security overwrite-key-card box in the cellar?
Well you get the idea.


An example of another way to open some other doors in this GIF (by right-clicking):

aaah the metallic/stony gateways we know as doors.
aaah the metallic/stony gateways we know as doors.


And here is the cellar in progress.

down down down to the cellar.
down down down to the cellar.



And now for some nerd stuff:


We didn’t just spend the week running around making things pretty we also wrote a small UDP client in node.js that is connected to our new overlord.
And when we did that, we also did some research on the apparently ancient flame-wars (before the age of memes) filled debate about what network protocol actually is the most awesome for  things like games. So one thing lead to another so we accidentally coded a TCP server in node.js and then a TCP client in C++, and that’s a perfect segway to our next headline:

Adventures in C++

So we have made  some games now, imprint-X, RymdResa, and are working on Lunar-Soil. For the most part we’re using Unity for that. But! RymdResa is actually made of our own insanity of a horrible mixture of JavaScript and deep down there C++. And our new games is in the pretty high-level language C#.


Now and then it’s hard to wash of the horrible taint and smell of 3rd-party libraries doing all the horrible decisions for you. Most post-release bugs for RymdResa is/was around 3rd-party crap that we cant really fix.


This is actually also the bonus (and a good thing) you get with Unity, you don’t have to care how anything works, write a game and hope that it works.
So the urge to actually know what we’re doing hopefully is a feeling most of humans have, right? At least some of us have that feeling, this guy in the jungle totally does.
People that have that feeling and are working with game development usually goes back to build an engine from scratch! And then you hear about projects taking like 10 years, what a bad idea!


But to have control over your stuff makes you able to write more lightweight, faster and more different programs, tools and games.  A simple empty window doesn’t have to have 2 GB of RAM..


So we are not building another engine, we have just created this pretty little side project that might become a game thing wrapped in anciently modern coded c++ only needing 10MB vs 500MB of RAM.

High performance, a lot of work is the way of C++?
High performance, a lot of work is the way of C++?


Oh and also making anything from a lower-level requires like 10000 small things so here is some good things we had to read and study this week, enjoy:


Bunker! Walking around in a bunker

Leveldesihn and lights

Bunker! Walking around in a bunker!

This week’s development-time was mostly covered by pushing forward with levels, lights and some really small system-designs.
We spent a week inside a stone bunker in space.

We are using the strange empty bunker as a pilot for all the new gadgets and things we already made like the interactive system, AI etc.
Let’s enter the place shall we.

Entering the quite bunker.
Entering the quiet bunker.

Most of the workflow comes from blocking out the design and then adding life and soul to it through firstly textures, then light. Then we add more details and script interactive elements like buttons, doors switches and then we add some more lights, lot’s of lights and shadows, you know.. making the actual thing..

Walking through volumes of light and stone
Walking through volumes of light and stone

Glowing shiny things….

There is a way inside?
There is a way inside?


Kept doing a lot of graffiti since we started last week

Morphing blue with Eyes
Morphing blue with eyes and shrooms.


This one might be related to the story..

The convict, did he trap himself?
The convict, did he trap himself?

Some kind of digital book

Stories, poems or just drawing (yes more graffiti, because we ran out of walls!)  can be found on screens around the level. Some of them will shed some light of what has actually happened in the bunker. Some will be a picture of a strange pyramid-gadget…



Diary, small stories or just art, seamless.
Diary, small stories or just art, seamless.


We also worked on some posters…. You should totally signup on Lunar Soils website (it will not increase or decrease any depth you might have accumulated).

To honor all the fallen souls of blockchain, buttcoins and bitpyramids.
To honor all the fallen souls of blockchain, buttcoins and bitpyramids. Biiiitconnect!



We reached a good level of details for the bunker back-rooms…

Level of details enough to make a mark?
Level of details enough to make a mark?

Space-books and strange machines…

books and lights
books and lights


Let's do this for science?
Let’s do this for science?





What’s going on here? What's going on here?

If you check the pictures above you can see that the character still needs some more detailed and more stylized clothes!
They can’t always be dressed up like some kind of super plumbers now, can they?