Create a May Day online demo in just over three hours

On April 30, after a hearty dinner, I sat down and scratched my head: tomorrow is scheduled for May 1, and on this day in Novosibirsk, the widely known cultural event, Monstration, traditionally takes place .

It is clear that no Monstration was supposed this time, in connection with quarantine, and its author - Artyom Loskutov - invited everyone to go online:

β€œThe virus has deprived us of hierarchies: now there are no big and small monstrosities, everyone is in the front row of their personal monstrosity, where each slogan is the main one. Total decentralization. The monstration becomes Cloudy, reflected in a cloud of photographs - its main visual artifacts, in a cloud of reporting, posts, tweets and stories. ”

Well, then, I thought: online, so online. Why not.

I recently attended a large international online conference in virtual reality Lava Virtual World, which was attended by almost a thousand people. Inspired by this example, I thought: what can be done in a couple of hours to tomorrow to present something working and interesting for organizing a demonstration online.

I mainly work with Unity 3D, so at first I thought about using Photon Engine to quickly implement multiplayer interaction. But their free version is very limited in number of participants, and after all, a thousand people can suddenly come to us on an online page.

Then it was decided to implement a very simple scenario: we make a simple game scene with simple characters, and any user can leave his name and message, adding himself to the crowd of demonstrators.

The image below is the final result.

image

Making a simple scene and instancing customized prefabs is an easy task. The most difficult task here is to create a web-api and a database to store and update information about the participants. I already have a proven path that we resorted to when we made the corporate augmented reality portal for Rosatom: we used NodeJS, the MongoDB database and the Heroku platform to quickly deploy the application. In the same way we decided to go this time too.

As a result, literally more than three hours lateran online demo application that I decided to call Online Broadcast . Of course, the application is far from ideal, you can optimize a lot. Elementary character creation actually sets up a new game object on the stage, which is very unpleasant for performance. Ideally, if we count on the number of users from 500 and above, then it is better to implement all entities using the Entity Component System template and its implementation of DOTS in Unity. That is, in fact, this is not a working application, but a prototype.

But for a fan and a demonstration of the technology stack - it’s quite right, it seems to us.

All Articles