The developers behind Turbulence
We launched a new game, ‘Turbulence’, earlier this month and have already talked a lot about the science behind the game and the design. It’s a very special game both design- and science-wise and taking ScienceAtHome in a new direction. Such an extraordinary game demands effort and long working hours and brings up new challenges on the horizon for our game-developers. So this time, I sat down for a quick catch-up with two of our game-developers, Anders Duemose Lund and Jan Detlefsen about their adventure in chaotic turbulence!
Could you tell me a bit about yourself, your history with ScienceAtHome and involvement in ‘Turbulence’?
Anders: "I’m a game developer mainly using Unity, which is a Danish game engine. I’ve worked at ScienceAtHome for 3 years and have been involved in developing nearly all the games we have published so far."
Jan: "I joined the team later, about half year ago. I worked the most on Potential Penguin and Turbulence. I had a short encounter with Quantum Dreams as well."
Anders and Jan are both game developers. They are not scientists nor experts within a scientific field—just like many of our players. Instead, they are experts in games and know how to add game elements into topics that would otherwise have no connection to games at all. Coming up with Turbulence and how dynamic fluid could make it into a game was an interesting challenge for them and the time developing proved - pun intended - a bit turbulent.
How would you describe ‘Turbulence’ to the players?
A: “It’s an exploratory game and an optimization game at the same time. The player gets into a world of various filaments or objects and your task is to locate the biggest one. To figure that out the players get to place a sphere within the objects. Picking a filament to work with is done through a stepwise elimination process and finally, the players get to play with placing the sphere in a sort of explorative view until they are satisfied with the result."
J: “The game is displaying several moments in time of a simulation of turbulence in the dynamic fluid. Each moment includes small pockets in the space of the chaotic turbulence and shows as different shapes. These shapes are then shown in the game and the task is to find the biggest shape in each moment. There were are a hundred thousand or even more shapes altogether so it’s quite an overwhelming task though if many people are playing, they can manage."
A: “The players also get ownership over the various filaments individual filaments they place the biggest sphere in - and should they manage to find the biggest filament overall they get their name displayed. The idea is for players to both corporate and compete, so as the game progresses you see where the bigger filaments might be and either find new ones or optimize others solutions.”
Why was it exciting to work on this project?
J: “The style is very different for sure. The previous games’ design has been strongly influenced by science-fiction. The idea was to get away from that. It’s much more polished than the other ScienceAtHome games thanks to the working hours and budget invested in this project. The connection to impressionist art makes this project outstanding.”
A: “The first idea was actually continuing the sci-fi theme and having a little spaceship wandering around asteroids in the universe. Then, during a brainstorming session, Van Gogh’s ‘Starry Night’ was mentioned because it actually visualizes turbulence. It took a new direction from there. Hopefully, this big style-change can attract a different or even bigger audience.”
The developers have spent many hours creating this beautiful enchanting universe of turbulence. But how was it actually created and which tools were used? Now they are sharing a bit more information about the process behind the scenes and the advantages of Unity.
Why is Unity a good game engine to use for development?
A: “Unity is a very practical tool for game development as it provides a readily available game engine from the get-go with one of the main benefits that we can very easily and quickly create prototypes. Whenever a new idea comes up during an initial brainstorming session, we can create a prototype which takes approximately a day or two. We do that with all our games - lately on Skill Lab 2, our next upcoming game. This way, we can see what works well and choose a direction before investing too much time and risk backtracking a lot of work.”
“The other advantage of the Unity game engine is that it’s prepacked with many features, so we don’t have to think about any physics for example. It also has an interface with great usability, making it easy to set up projects and allows for a drag and drop feature that works well with our graphical artists. They can simply import their models into Unity and drag various textures, shaders, and visual styles onto their models without writing a single line of code."
"When it gets to building our projects for the platforms we develop for such as phones, tablets, and computers, in most cases, we simply just choose the platform and click ‘Build’. Since we don’t need a development team for every platform, this level of wide-ranging production is extremely valuable when we target several platforms and helps us keep the cost of productivity down.”
J: “We can use stuff that other people made! There is a marketplace, called Unity Asset Store where you can get plugins made by others. It’s similar to the concept of the App Store. A big library where you can browse among plug-ins and download them for free or buy them. Buying a package actually pays off, compared to the working hours we would spend on writing a piece of code. These packages are also going down into the details, taking every possibility into consideration.”
“For example one of the first assets we always download for transitions and animation effects is called DOTween. It moves objects around, fades in and out. Visually it’s very simple. We could make it on our own but it’s way much easier and faster to download as an asset. We are sparing time.”
Have you come across any great challenges while developing ‘Turbulence’?
J: "Yes! The backend was quite challenging!"
Anders: “And the preprocessing of creating all the filaments. It had to go through two or three iterations. Janet, the scientist behind the game, is creating the turbulence simulations on a computer. From that point, she gets a timeline of the 3D turbulence simulation and each moment in time contains blobs in which some values are over a certain threshold. These blobs are called filaments. Unfortunately, those individual filaments are placed in such a way that they might need to be merged together because they might be cut open.”
J: “Another guy, Scott Leinweber (an external partner, adding 3D technical expertise to the project) created the actual 3D objects of those filaments that we can then import into Unity.”
A: “We had to import these 3D objects and that was a major challenge. Scott faced many issues dealing with this. Some of the filaments were cut apart and had to be matched with their missing piece. This process caused plenty of issues. We had to make sure that all of the filaments were solid and didn’t contain any errors. One small mistake could ruin the entire game.”
How could you finally overcome this challenge?
J: “We asked Scott to fix it!”—laughs.
A: “Basically yes and he did a very good job. We communicated a lot and double checked the filaments. We ended up merging each filament with an inverted clone of itself which took care of any error a filament might have."
While developing this game, have you learned anything about the physics of the game?
J: “We approached the game from the practical side. Our job is to develop a game and for that, we don’t need to know much about the actual physics and science behind the game. “
A: “We were just handed the 3D objects and from our point of view, they might as well have been asteroids or something else. That’s the interesting part of working at ScienceAtHome. Some of the games are dealing with quantum physics, this game is about fluid dynamics, another with social behavior. Still, it’s possible for us, developers who aren’t scientists ourselves, to provide games which are fun and dealing with serious topics at the same time. Though, we have dealt with more math and geometrics.”
What makes this game unique in your opinion?
J: “Definitely the aesthetics! But also the gameplay itself. I’ve never seen any other game before where you have to find out where you can fit the biggest sphere inside an object.”
A: “We are also helping to figure out the answer to one of the Millennium Prize Problems.”
If you haven’t played ‘Turbulence’ yet, go and check out our game page and try it on Mac or Windows!