Bridging the gap

I did some research last week for a project we are doing for a museum. I can't go into detail here as we haven't finalized the contract details yet, but I can share a little about our thought process in finding a compelling build and the technological puzzle pieces that make it work.

The basic idea of the setup is that we want to bring our ecosystem simulation Trophix as close as possible to the visitors of the museum. So no screens with mouse or game controller. Basically, we want to avoid any setup that would work better on the home laptop. Instead, we strive to use all the space the museum offers us as a canvas on which to display our simulation and for visitors to interact with.

In this case, the exhibition is divided into phases. The first phase installation is intended as a demonstration of future development. This also means that we have to work with a limited budget and space.

When visitors enter the exhibition space in the museum, they see a table on which a simplified map is projected. You will also see a number of objects that you can place and move around on this table.

The tabletop is projected from the ceiling with a projector. The objects that can be placed on the table are marked, so we can track their position and rotation in space and adjust the simulation displayed on the table in real time. This is done with a camera looking at the table.
The obvious technical challenges we could imagine with a setup like this were:

  • Visual markings can be a big problem as the lighting conditions on the table are constantly changing depending on the simulation being shown.
  • How well (correct and stable) can we track the objects given the limited budget? Are a webcam and a QR code like markers enough?
  • How can we realize this with the Godot Game Engine? Godot has some AR tracking capabilities, but it's mostly aimed at VR headset tracking, not generic markers.

After a quick google search it looked like Aruco markers combined with the OpenCV library might be a good idea.

I'm a big fan of separating the components of the technical systems, especially in real-time exhibition contexts. So my idea was - check the tracking quality first, then include it in our Godot setup.

As I'm also a big Python fanatic, next I googled for some example Python code for Aruco marker tracking. Turns out there are some nice snippets on . I've rewritten most of the code, but it's always a big help to have a working reference example. I also used Docker and Docker Compose to make everything work in a containerized environment and to separate the required libraries from my host Linux system.

Printing the markers turned out to be tedious because our printer spontaneously decided to print really badly. I fixed that by tracing washed out blacks with a permanent marker… Aaaand:

For the camera, I used an Intel Realsense we had laying around and I just used their albedo camera (ignoring the depth features for now). I skip the usual hardware issues, it worked after an hour of debugging v4l. Another 30 minutes wasted playing with the depth functions.

The next step was to get the data into Godot. For this I implemented a barebones websocket server in Python and a receiving GDScript websocket client in Godot. The idea was to move/rotate a few 3D objects based on the markers being tracked by simply broadcasting websocket packets locally at 60 frames per second. I've been looking at UDP networks for a few minutes, but decided not to worry too much about performance just yet.

Yay. I deactivated the rotation for the time being because the objects flickered a little too much.

What's next?

  • Increasing camera resolution (probably a Gopro @ 4k) to improve tracking stability.
  • Experimenting with infrared lights and cameras to separate the tracking light from the wavelength of the projector light.

That's it for today. Feel free to PM me on Twitter or Discord if you have any questions or comments.


Red and blue equals lukewarm

"Who am I?" - "What is my goal, what is my motivation?" - Big questions that a "CD" (corporate design) should convey. The image of a company is transported to the public through colour and form, blah, blah, blah. Since the Big Five and the alt-right, we know that appearance can also mean the opposite of what inner motivations actually are. Why am I telling you this? Because the question of the appearance of ROTxBLAU has been raised in the last few weeks and I therefore had to reflect on my own motivation. According to the motto: New year, new CD! Even if we are a bit overwhelmed with a self-image, we try our best to summarize our work. In this article, I'll explain to you exactly what ROTxBLAU does and how I came up with our new CD.

A first brainstorm

The motivation

In the run-up I had a number of thoughts about how our company, but also our enterprise, could be presented to the outside world. In 2017 we had the motto "We want to combine risky projects of passion with financially strong orders." And we tried to convey that with a slick black and white look. Not so elegant, and we didn't know at the time that this daydreaming would end up being a completely normal game studio. But hey. We were still as neat as a pin. Much more important is what motivates us today. Dear "Indie Advisor" André Bernhardt brought us in a new direction in a meeting with direct questions about our studio character: "Future-Positivity" and "Discursive Games". Be optimistic and socially relevant. OK. We liked that for now ( albeit somewhat reluctantly, as we couldn't get comfortable with any of the alternatives available).

The development of our logo

From now on, the two colors red and blue should not only cross each other, but become one. Together they should step into an optimistic future and still carry a certain duality within them. To make this possible, after a rather wild brainstorm of different sketches, I ended up humanizing the two pills (see picture below). Especially the first picture of the two figures showed them hand in hand with their “back” to the camera. I also shared this draft with the others and lo and behold: everyone was enthusiastic and felt directly drawn to the two sweet-hearted pill people. I prefer to call them “Pillpill” – Pill times two becomes People, simply Pillpill. It sounds stupid and it is, but it's also funny because your tongue almost gets knotted when you say it. Nevertheless, it is just as beautiful, touching, friendly, warm and approachable to see the two Pillpill together.

Okay, so let's take the two figures. New "company signet", check! So we no longer have a rigid logo and instead a playful, constantly changing one. In a way we now have mascots instead of logos.

The name

We didn't make it easy for ourselves with the name we gave ourselves about five years ago. Why the hell is there an "X" in the middle of two German color names? Yes, because it's supposed to mean "red crosses blue," but until you hear it spoken, the name gives you every idea in the world except ROT "icks" BLAU. Then one rather reads "ROT times BLAU" (Red times BLUE; doesn't work that good in English), "ROTand BLAU" or only "ROT BLAU". Unfortunately, a logo with two crossed pills – one red, one blue – could not change the misunderstanding. Nobody checked and we stayed the dudes from red and blue.

Jonathan Frakes also knows the magic of an oversized X in a name!

The company lettering

When it came to “company lettering”, I didn’t really get the hang of it at first. Different ideas with new crossed pills in the middle of the writing didn't want to fit properly. In the end I tried it again with a letter. I wrote a small "x" using the naïve "Schoolbell" font and scaled the letter so large that it was impossible to miss. Then I suddenly noticed that the x was always written in lower case and thus disappeared a little into obscurity. Due to the pill cross, it was no longer really recognizable as a letter.

Now the X is the largest element in the lettering and finally makes it clear that our name is a kind of fusion that is at the forefront here. It is not the two colors that are in the foreground, but the combination of the two and the handwritten character conveys a playful nature at the same time! Eureka!

The colors

Then a few more colors were added! The new ones are less luminous, but somewhat duller and more unsaturated. Not so euphoric, rather a little more unobtrusive and modest. After finding the new red and blue, I blended the two tones together and ended up with the pink, which is now featured as a very dominant color on the website.

Always good these days: gradient gallery of our new CD colors

Again, as with the lettering, the fusion of the two sides is brought to the foreground. I wish I could say the two pills are ALL colors, but then the mix would just be brown like a SA uniform. So let's stay with pink - it also stands for states such as vulnerability, softness and loveliness. I like to open up this counter-trend in the gaming scene. Away from the efficient super-glossy real-like shooter and towards the sensitive, consciously self-designed indie title. That brings us back to future positivity.

In short: The new CD is more like us. That feels very good and makes it easier for us to communicate outside of our own little cosmos.

The two PillPills

MDM founding initiative MEDIAstart

Hey hey! After a very varied year 2021, we are starting the new year with tailwinds: We are happy to announce that we are now part of the second MEDIAstart year.

MEDIAstart is the start-up initiative of the Mitteldeutsche Medienförderung (middle German media funding) They support young companies for one year in setting up and developing their business models.

This will enable us to enjoy a series of workshops, as well as mentors and coaches who will help us to further develop ROTxBLAU. In addition, we receive an operating cost subsidy of up to €1,000 per month.

There are 6 other companies from Central Germany, including - *drum roll* - three more game studios with Bippinbits , HYBR Games and Moonlit Monitors . With the Blue Pampelmuse , radpaar films and Very & Media we are seven. Nice to meet you all!

You can find all the details on the Mitteldeutsche Medienförderung website and in the current press release.


Postponement of the release date for COYOTE

Hello there,

We are pleased to announce that we will be postponing the release date for COYOTE until further notice. "So why are they happy?" you might ask yourself. Because we have a great luxury problem.


Coyote devlog #4 the Poznań Game Arena

The decision to go to a trade fair would have been harder for us as a young indie studio if it hadn't been for the PGA. It was affordable (although all in all it cost us quite some money), the journey wasn't far and when André Bernhard aka "The Indie Advisor" gives his recommendation, there are no more reasonable arguments not to go. The crux: we needed a presentable Coyote version. It took a lot of work, nerves and torn deadlines to be satisfied enough. Zenker, freshly returned from his holiday/ business trip, fired up his delusion mode and cobbled together the fattest stand scenery just one night before our departure. The preparation had actually worked and yes Richard, I hear your admonishing "nyaaaaa....". All right, could have been smoother, next time. Micha, who stayed in Leipzig, didn't stop programming until the start of the fair to make the version nice and smooth.


COYOTE devlog #3

The past two weeks have been wild ones thats for sure.

As our Project Manager Zenker packed his things for his very certainly earned holidays we, who have been left, needed to get our things together by ourselves. The PGA is ahead, our first fair and we want to look as good and professional as it suits us.

Part of our schedule was to adjust our plans again. One of our internships (Sir Harry) turned out to be a little bit too professional for the internship-standard which led to some surprising new tasks concerning Blender-3D-modelling and the implementation of those models in Godot.

At the same time we had to cut some design features like sequences. But we are lucky to have Liv here our second intern. She and Sir Harry and myself, are now working on an, lets say, a surrogate which shows the idea of the sequences in a cool fashion. Btw: If someone asks you for an internship and you have none: Take them! It loosens up the atmosphere every once in a while and supports your development. (Of course treat them nicely, be supportive and for once prefer people who are not white and male)

Me myself I was balancing and doing some small stuff, like revising texts, fixed some bugs concerning the grasses, adjusting the controls and make small missions to play through.

It is really not easy to have a ecosystem-model which runs on its own and design some missions in there. The most difficult part for me personally is to balance the power of the player and the autonomy of the world. On the one hand site we want the player not to be overpowered so he feels part of the world and that was our main goal: make the players feel to be more part of something rather having power over it. But guess what happens, if I watch people play it…. They do not pay attention to our ecosystem very much. They want to manipulate the whole time, they want action.

There was barely anyone who did not say: ‘Can I jump?’ I would love to scream: ‘That makes no sense in this game! And there is no necessity for this mechanic!!’ Why don’t they clap??? They could! Its fun as well to make beats, I do it all the time while playing. Is that simply because they are not used to do so? Sometimes it is hard to see people wanna play an Action-Jump-And-Run-Shooter. It is a game about patience and watching. Seems like nobody get this intuitively.

I remember the first scenes of ‘Below’. Its a beautiful Indie-Rogue-Like. The intro-sequence starts extraordinarily slow and makes you wait. The pace of the first playing minutes holds back as well. It gives you immediately the feeling: Okay, there is no room to rush here.

Maybe we should try something like that too…

Below gives you the feeling of starting calmly

On the other hand: An ecosystem gets out of control pretty easily. And you may have to react fast. Also our characters are a bunch of hasty Tricksters. There are many things to perfect.

Oh man and the UI.

You see I started talking about the PGA and ended somewhere totally else. This is how game-development feels to me sometimes. There are so many things to be aware of and everything is entwined and when you think, that may be fine now, SOMEONE PLAYS IT AND HAS ISSUES!!!!!

While we are at it: Thank you for testing (you sweet, marvelous nags)

COYOTE devlog #2


Last week we completed all main features for our Audio Manager. It's not a performance dangerous area of the game, so we did it completely in GDScript. Godot has a nice audio mixer so we used that and only wrote some code to make it easier for us to interact with Godot's systems. COYOTE has 4 main areas we use audio in:

  • Normal sound effects. Those get prioritized, so sounds of agents attacking the player will be louder than gameplay unrelated sounds.
  • Round robin sound effects. A script layer that chooses different sounds automatically, so they don't sound too repetitive.
  • Soundtrack themes. Mainly used in cutscenes and when talking to the "gods" of a species in the soulworld. Each species has it's own theme
  • Ecosystem feedback layers. Each species is one instrument in a song. When the player is in the soulworld (and no sountrack theme is playing) we mix the volume of each instrument depending on how dominant the species is in the ecosystem. The idea is that the soundtrack gives the player a (sub-)conscious feedback about the state of the system.

COYOTE devlog #1

AND it´s our first devlog eeEEEeEEvVVEVEVREEERRRR!!!!

Yeha! Hi Howdy,

Do you know what we are creating here? Till Q1 2022 we will releasing Coyote – a tactical adventure game where you play a kid which gets superpowers to communicate with a ecosystem. You will be able to rise this ecosystem as a Tamagotchi in the 90s - but with the side-task to balance the inhabitants of the ecosystem. And that’s very challenging!


Gamestudio aus Leipzig






gefördert durch


Copyright 2022 ROTxBLAU © All Rights Reserved