Créez une démo en ligne du 1er mai en un peu plus de trois heures

Le 30 avril, après un dîner copieux, je me suis assis et je me suis gratté la tête: demain est prévu pour le 1er mai, et ce jour-là à Novossibirsk, traditionnellement organisé un événement culturel bien connu - Monstration .

Il est clair qu'aucune monstration n'était supposée cette fois-ci, en lien avec la quarantaine, et son auteur - Artyom Loskutov - a invité tout le monde à se connecter:

«Le virus nous a privés de hiérarchies: maintenant il n'y a plus de grandes et petites monstruosités, tout le monde est au premier rang de leur monstration personnelle, où chaque slogan est le principal. Décentralisation totale. La monstration devient nuageuse, reflétée dans un nuage de photographies - ses principaux artefacts visuels, dans un nuage de rapports, de messages, de tweets et d'histoires. »

Eh bien, j'ai pensé: en ligne, donc en ligne. Pourquoi pas.

J'ai récemment assisté à une grande conférence internationale en ligne sur la réalité virtuelle Lava Virtual World, à laquelle ont assisté près d'un millier de personnes. Inspiré par cet exemple, j'ai pensé: que peut-on faire dans quelques heures à demain pour présenter quelque chose de fonctionnel et intéressant pour organiser une démonstration en ligne.

Je travaille principalement avec Unity 3D, donc j'ai d'abord pensé à utiliser Photon Engine pour implémenter rapidement une interaction multijoueur. Mais leur version gratuite est très limitée en nombre de participants, et après tout, un millier de personnes peuvent soudainement venir nous voir sur une page en ligne.

Ensuite, il a été décidé de mettre en œuvre un scénario très simple: nous créons une scène de jeu simple avec des personnages simples, et tout utilisateur peut laisser son nom et son message, s'ajoutant à la foule de manifestants.

L'image ci-dessous est le résultat final.

image

Faire une scène simple et instancier des préfabriqués personnalisés est une tâche facile. La tâche la plus difficile ici est de créer une API web et une base de données pour stocker et mettre à jour les informations sur les participants. J'ai déjà une voie éprouvée à laquelle nous avons eu recours lorsque nous avons créé le portail de réalité augmentée pour Rosatom: nous avons utilisé NodeJS, la base de données MongoDB et la plate-forme Heroku pour déployer rapidement l'application. De la même manière, nous avons décidé d'y aller cette fois aussi.

En conséquence, littéralement plus de trois heures plus tardune application de démonstration en ligne que j'ai décidé d'appeler Online Broadcast . Bien sûr, l'application est loin d'être idéale, vous pouvez en optimiser beaucoup. La création de personnages élémentaires met en place un nouvel objet de jeu sur la scène, ce qui est très désagréable pour la performance. Idéalement, si nous comptons sur le nombre d'utilisateurs de 500 et plus, il est préférable d'implémenter toutes les entités en utilisant le modèle Entity Component System et son implémentation de DOTS dans Unity. En fait, ce n'est pas une application qui fonctionne, mais un prototype.

Mais pour un fan et une démonstration de la pile technologique - c'est tout à fait juste, comme il nous semble.

All Articles