How many people died from coronavirus fit in the center of Kiev?

Country/area: Kyrgyzstan

Organisation: freelance

Organisation size: Small

Publication date: 27 Dec 2020

Credit: Edil Baiyzbekov

Project description:

In 2020, there were many visualizations of Covid-19 data, but it is difficult for the human mind to imagine the number of deaths only from graphs and figures. I made a 3D simulation of a city where you can change the number of people, walk among them and look at the crowded streets from a bird’s eye view. Blue people are women, yellow are men. Use the joystick at the bottom of the screen or the arrows on the keyboard to control. You can click on to change the number of people. – open the home menu. In 2021 I

Impact reached:

It’ll move forward the way we tell stories in digital space and creates a fresh perspective on data visualization journalism.

Techniques/technologies used:

For the simulation I used Unity game engine, Unity’s new multithreaded Data-Oriented Technology Stack (DOTS), C# with Entity Component System (ECS) paradigm, wasm builder to create WebGL version of the simulation, JavaScript for part of the UI and better performance. I used Python for coordinates calculations that improved performance. I litteraly combined C#, JavaScript and Python in this project. I used Blender for the city generation, textures and 3D details.

I also wrote some html and css code for layout and part of the UI.

What was the hardest part of this project?

It was the first time I used Unity Engine, C# and game development techniques for my data-journalism project. First I got comfortable with the new language, Data-Oriented(DOTS) programming and limitations of Project Tiny – it is a set of workflow features and a specialized build pipeline that allows me to create small, lightweight games in Unity for web and other platforms.
I spend hours to optimize it for low mobile phones, I made workflows for texture/mesh compression, physics, animations, camera movement, player movement, UI, pause systems and C#-JS-html integrations. I used some tricks like a fog to naturaly cull and limit number of objects that browser need to render each second in play mode. Also I found my own approaches to integrate C# and JavaScript functions working together that helped me to improve performance up to 15x times in some cases like the bird’s eye view.

What can others learn from this project?

First it’s a great innovative idea that will likely move the field forward. It shows journalists that they can use game technologies in their projects, make immersive, emotional stories and simulations.

I think it’ll move forward the way we tell stories in digital space and create a fresh perspective on data visualization journalism. I will definetly continue to explore Game Engine features for my work 🙂

Project links: