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 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?!
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):
And here is the cellar in progress.
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++
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.
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: