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:

RymdResa

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.

 

 

imprint-X

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:

TCP vs UDP

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++?

Homework

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:

https://gafferongames.com/post/fix_your_timestep/
http://www.nuonsoft.com/blog/2017/08/10/implementing-a-thread-safe-singleton-with-c11-using-magic-statics/
http://lazyfoo.net/tutorials/SDL/24_calculating_frame_rate/index.php
http://en.cppreference.com/w/cpp/chrono/duration
https://github.com/mattiasgustavsson/libs
https://en.wikibooks.org/wiki/Guide_to_Game_Development/Theory/Game_logic/Setting_up_ticks_and_frames
https://developer.tizen.org/development/guides/native-application/graphics/simple-directmedia-layer-sdl/sdl-graphics-vulkan%C2%AE
https://github.com/emilk/emilib
https://www.youtube.com/watch?v=44tO977slsU
http://headerphile.com/sdl2/sdl2-part-13-multiplayer-tcp/
https://icculus.org/physfs/physfstut.txt
https://github.com/rcarmo/homeworld/blob/master/src/SDL/NetworkInterface.c#L292
https://hackernoon.com/https-medium-com-amanhimself-converting-a-buffer-to-json-and-utf8-strings-in-nodejs-2150b1e3de57
https://github.com/anura-engine/anura/blob/trunk/src/uuid.cpp
http://fabiensanglard.net/quake3/index.php
https://gafferongames.com/post/deterministic_lockstep/
https://www.reddit.com/r/gamedev/comments/1tvbe0/is_it_just_me_or_is_networking_really_hard/
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/
https://www.gamedev.net/forums/topic/348340-play-video-files-in-sdl/

 

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?

 

 

"<yoastmark

 

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?

Graffiti, leveldesign and super plumbers!

Graffiti in Lunar Soil

Graffiti, leveldesign and super plumbers!

We took a break from finishing all the gameplay systems like the one from the last post and made some decals and graffiti!
We also worked on level-design as well as overhauling our lightning and quality settings.
Lunar Soil contains different types of levels, interior levels like bunkers, ships, moon-bases, satellites, cave-systems
and the outdoor world where you have to have your spacesuit on.

 

When we build levels we usually start blocking out the layout and set the goals for the level, like what we want to happen, what to gain or what to experience.
Anyway sometimes its easier to explain design with anything else but words so here comes a lot of picture and stuff!

 

Here is a volumetric light coming from a emissive glowing area “subtly” hinting about a pressure valve that can be turned to avoid the hot steam over at the red blinking light.

Lightning test
Lightning test in the bunker with a picha-headgear on one of the crew members.

We also made some style progress with some graffiti decals!

Check out that graffiti piece! Next to the uhmm mario guy?

 

Here is a another style for a backroom in one of the levels.

Graffiti line-work taking form
Graffiti line-work taking form

 

Setting the color scheme and base colors
Setting the color scheme and base colors

And here is the final result of one off the graffiti pieces in Lunar Soil

Lunar Soil crew checking out some graffiti
Lunar Soil crew checking out some graffiti

 

You might have noticed that the fellows are dressed up in some strange outfits! Yes that’s right its from Super Vamio! No copyright included!
Hopefully we can include some fun outfits in the game like these. 🙂

 

 

Also there is AAAAAALLLLOOT of things to texture in a 3d game like this awesome room.

Some kind of lab or something work in progress level for Lunar Soil
Some kind of lab or something work in progress level for Lunar Soil

 

Also had some time playing around with SDL (that is other words for Unity fatigue)  and researching a lot of different kind of game-loops that were fun!  As well as compiling and certifying exe files (really boring stuff).

A pretty basic gameloop with a fixed FPS
A pretty basic game-loop with a fixed FPS, want to learn how to do like a multi-threaded monster instead.

 

Oh and we also managed to burn up a microchip with a screen to a raspberry PI.

 

 

Interactive elements and how you uuh.. interact with them! 

Minerals in Lunar Soil

Interactive elements and how you uuh.. interact with them! Lately we have been working on how the player should interact with resources in the world. Those resources can be ores, NPC, arcade machines, doors, switches, machines and so on.

 

The most simple classical scenario in games is when you a player get close to an object of interest and the game shows a hint on screen suggesting what button to press.

 

For our rougelike procedurally generated space game RymdResa we simply showed a hint. (By the way you should totally buy and play RymdResa on Steam right now!  If you already have please drop a review!)

Interacting in RymdResa
Interacting in RymdResa

This system works fine, you press a button, things happen. But this doesn’t really open up to choices now does it.

 

In Lunar Soil things are a lite more advanced. You play as the commander of a crew, your character is not the only one that can interact with object and there might be multiple ways to interact with the same object, if you have the right requirements that is.

 

 

Let’s say you and your crew find an interesting ore deposit. The ore is pretty basic so you could mine it yourself if you have a pick-axe equipped or you could order one of your miners to try to extract some minerals.

Finding time with your crew in Lunar Soil
Finding time with your crew in Lunar Soil

The hint- and interactsystem will also have a button indicator with a sprite displaying the button (and fallback to text). As well as a progress bar which is animated as you progress to chop lose a part of the gold deposit.

 

Mining gold in Lunar Soil
Mining gold in Lunar Soil

We want to make sure that it works on all types of inputs (You can read more about input support in our last post.) So here is the same hint system with keyboard, mouse and gamepad support (xbox one and ps4 layout in the picture).

Different interact hints for different platforms
Diffrent interact hints for different platforms

 

Talking to a trashrobot?
Talking to a trashrobot?

 

This hintsystem will be the fast system to issue commands to your crew and the main way you interact. For more complex cases we have the command UI where you have multiple choices with the same or different crew members as well as giving additional commands to your crew.

Command AI in Lunar Soil
Command AI in Lunar Soil

 

 

Also you should subscribe to our newsletter, we might need help to beta test a few things in the future, almost like a pre early-access sort of thing.

 

Editors, gamepad, lava and game-systems

lava-shader in Lunar Soil

We made a lot of progress on editors, gamepad, lava and  game-systems

Editors editors editors! We finished more of our in-editor systems and are now working on implementing all or game-systems. The biggest one is the dialogue-system. It has a build-in node-editor, with that we can freely create complex branching dialogue. We have a lot of different nodes that we can use to control the flow of conversations. Behind the scenes we use persistent trigger checkers/setters inside of a dialogue.  We might make more components to it as we see fit.

 

Dialog system in Unity
Dialogue-system in Unity

 

We also use the dialogue-system for mini-games that will be available throughout the game in form of arcade machines. The arcade machines are mostly smaller game projects integrated into Lunar Soil. It’s quite refreshing building a small mini game now and then to test new ideas, or just to get smaller projects out of the system. Hopefully they will be a fun experiences.
Players can discover new arcade machines in the world and/or craft them to get the mini games!

 

The nightmare of gamepad support in Unity

Also we left Unity’s badly implemented input manager behind for Rewired, the built-in manager is not just a nightmare to work with it also not able to handle different setups that well, and rumors about a new official one for years. Lunar Soil will be playable with mouse, keyboard and gamepads. Now we got support for Xbox One controller, Xbox 360, Ps4 controller and all generic controllers out there!

We also have a prototype application controlling the game through TCP from a mobile app. But we discontinue that for now as we it will increase the complexity. We might reactivate this later when we got all gamepad systems in place. The inventory is now fully controllable by gamepad, keyboard and mouse.

 

From sand to lava

Lava! Accidentally made a lava-shader with emissive pulsing spots, was first thinking of making a red desert shader but ended up more and more like lava so we just went with it.
We haven’t started making all the shaders and blocks for various biomes and themes yet but we got the gold temple theme as our base, those will probably end up in temple based dungeons that can be found on the moon.  Here is the lava in action

Clothes playing nicely with inventory one of the most important game-systems!

Took another stab at finishing off the clothes rendering system which goes hand in hand with the inventory and item systems most of the indoor clothes as well and spacesuit clothes as well as bags and headgear now work as intended. Still need to finish main-hand, off-hand and the game systems for spacesuits oxygen-tanks (when outside you need to make sure you don’t run out of air!)

Clothes-system in Lunar Soil
Clothes system in Lunar Soil
Inventory system with gamepad support
Inventory system with gamepad support

As we got the basic AI tamed and in place over the last weeks (still with some bugs from the last post) we are working on the command system and interactive-node game-systems with loot tables etc; more about that in the future.