Créateur du jeu en mode True: découvrez () la programmation gamedev, les problÚmes VR et les simulations ML



Il y a quelques années, il m'a semblé qu'Oleg Chumakov (alors toujours de Nival) était le programmeur de développement de jeux vidéo le plus célÚbre. Il a constamment joué, animé Gamesjam et était un invité fréquent du podcast.

Avec l'avÚnement de la VR sur le marché, Oleg a dirigé l'entreprise dans une nouvelle division - NivalVR. Mais vous savez tous qu'avec la réalité virtuelle, quelque chose s'est mal passé.

Pendant longtemps, j'ai été distrait du développement du jeu, et en regardant de nouveau, j'ai vu que l'équipe d'Oleg est devenue plus intéressante. Maintenant, il s'appelle Luden.io et leur simulateur spécialisé en apprentissage automatique tandis que True: learn () est devenu un succÚs dans sa niche, beaucoup d'histoires sympas se passent autour de lui.

Nous avons parlĂ© avec Oleg, mais je ne pouvais pas choisir un seul sujet - son chemin Ă©tait trop riche et variĂ©. Et pour que le programmeur parle de programmation sans craindre d'ĂȘtre mal compris, la conversation a Ă©tĂ© soutenue par mon ami, collĂšgue et dĂ©veloppeur expĂ©rimentĂ© de fillpackart .


Oleg Chumakov

J'ai joué pendant que True: learn (). Jeu cool, je suis coincé.

Vous ĂȘtes parti?

Non. J'ai commencĂ© Ă  jouer la nuit et je suis restĂ© coincĂ© dans une quĂȘte secondaire. Il s'assit, ne put se coucher qu'aprĂšs avoir dĂ©cidĂ©. Comment tu vas avec elle?

Les choses vont trĂšs bien, nous ne nous attendions pas Ă  ce qu'elle soit de cette taille. Nous avons planifiĂ© un petit projet. Nous l'avons imaginĂ© de cette façon: prendre tous les joueurs du monde, couper ceux qui ne jouent que des puzzles. À partir de lĂ , coupez ceux qui sont prĂȘts Ă  gĂ©rer la programmation. Et puis un autre apprentissage automatique ... il s'est avĂ©rĂ© qu'une trĂšs petite partie du public. Mais en fait, ici.

La premiĂšre fois, plus de joueurs se sont prĂ©sentĂ©s que prĂ©vu en deux mois. Au dĂ©but - la premiĂšre nuit plus que ce que nous voulions depuis six mois. Par consĂ©quent, depuis lors, nous avons eu une vie trĂšs amusante. Nous localisons, essayons de rester Ă  flot et discutons avec un millier de personnes Ă  Discord en mĂȘme temps.


Votre discussion dans Discord - si je comprends bien, tout le monde s'y intéresse, tout est dans le sujet de l'apprentissage automatique. Racontez une histoire cool sur l'un des joueurs.

Il y a un joueur là-bas, son nom est M. Floppy (je ne sais pas comment il s'appelle en réalité). Il est venu vers nous sur alpha fermé. Nous avons autorisé un certain nombre de personnes à jouer, et nous avons obtenu un retour approximatif, nous avons pu nous ajuster.

Nous avons un chat dans le jeu - assis sur le moniteur, miaule. Et selon l'idĂ©e originale, le chat Ă©tait censĂ© interfĂ©rer. Lorsque vous programmez, ça vient constamment, lĂ  "cares moi", ça monte dans le moniteur. En gĂ©nĂ©ral, M. Floppy, quand il jouait, son vrai chat est venu vers lui, vivant, pour l'empĂȘcher de programmer dans le jeu. Il a envoyĂ© cette photo, tout a commencĂ©.

Puis il s'est intĂ©ressĂ©, est devenu un membre actif de notre communautĂ©. Il a commencĂ© Ă  produire ces chats dans divers vĂȘtements du jeu sur une imprimante 3D Ă  la maison et Ă  les envoyer aux meilleurs joueurs lui-mĂȘme. Relativement parlant, il a fait de la marchandise gratuitement. Il l'a juste aimĂ©. Et c'est un souvenir trĂšs chaleureux de la façon dont notre communautĂ© s'est organisĂ©e. Cela ne s'est jamais produit sur nos projets. Il y avait du cosplay, du fanart, mais pour que les gens puissent imprimer des jouets sur le jeu et les partager - c'est la premiĂšre fois.

Il y avait des joueurs qui voulaient en savoir directement sur l'apprentissage automatique. Le jeu a supprimé leur crainte d'un seuil difficile pour entrer dans le ML. AprÚs le match, ils sont allés à Coursera, à la recherche de compétitions qui seraient difficiles pour eux à leur niveau de connaissance. Et maintenant, nous les suivons activement, nous attendons tous que le premier obtienne un emploi dans le domaine de l'apprentissage automatique. En ce jour, nous célébrerons apparemment

Autrement dit, n'ont pas encore reçu?

Ils sont encore en plein entraĂźnement. Le jeu est sorti en mars, il n'y avait pas encore assez de temps. Et donc en gĂ©nĂ©ral, beaucoup de choses se sont passĂ©es. Les utilisateurs de YouTube ont Ă©galement utilisĂ© le jeu pour enseigner l'apprentissage automatique. Dans les Ă©coles, il est constamment utilisĂ© maintenant - en Russie, en Grande-Bretagne, aux États-Unis, en Australie beaucoup. Je n'ai donc pas assez d'esprit pour choisir la plus belle histoire. Il y en a deux chaque semaine.


Stanislva Semenov - Data scientist et l'un des meilleurs utilisateurs Kaggle - joue en WTL

Eh bien, ok, nous allons revenir à l'apprentissage automatique. Pour l'instant, dites-moi exactement ce que vous faites actuellement sur le projet, vos responsabilités, votre journée.

Ma responsabilitĂ© est maintenant de dĂ©couvrir auprĂšs de l'Ă©quipe de base leur plan - ce qu'ils font pour les deux Ă  trois prochains mois - et avec ce plan dans ma tĂȘte de travailler avec tous ceux qui viennent chez nous. IntĂ©grez le jeu d'avant en arriĂšre, Ă  cette Ă©cole, Ă  cette Ă©cole. Être un tel pont entre les dĂ©veloppeurs et le monde extĂ©rieur.

Parfois, j'apporte quelque chose de mon développement client bien-aimé. Par exemple, ils ont découvert un tel problÚme: les enfants suivent des cours de programmation - leurs parents demandent «ce qui était en classe?», Les enfants ne disent «rien». Le parent ne comprend pas, l'enfant ne veut pas le dire aux feutres de toiture, les feutres de toiture n'ont vraiment rien fait. Par conséquent, nous avons des rapports automatisés dans le jeu. Autrement dit, les parents reçoivent des messages - «votre enfant a appris le perceptron aujourd'hui», «votre enfant a enseigné le rnn-ku» et ainsi de suite. Ces fonctionnalités apparaissent en raison de mon interaction entre le monde extérieur et le jeu.

Eh bien, en conséquence, en tant que PDG, j'ai une tùche pour que tout le monde soit inspiré par un grand objectif, tout le monde soit à l'aise de travailler, il n'y a pas de difficultés, tout avance sans penser aux choses de base.

Je vois. Autrement dit, vous ne programmez pas vous-mĂȘme maintenant?

Cela arrive, mais pas trÚs souvent. J'ai une grande fonctionnalité pour refaire des startups dans le jeu. Je l'ai inventé il y a longtemps, bien que dans le cadre de notre prochain projet sur le marketing Internet, mais mes mains atteignent lentement. Au lieu de le faire dans le bon vieux temps de la semaine, je le fais depuis un mois déjà.

À propos de la programmation dans Game Dev



Eh bien, souvenons-nous du bon vieux temps. Parlez-moi de vous en tant que programmeur?

Eh bien, le plus gros projet sur lequel j'ai eu une école de vie est le jeu Prime World. C'était un trÚs grand projet de Nival. Mob avec une partie sociale (il s'appelait le chùteau). Notre équipe, qui s'en occupait, comptait plus de 20 personnes - et ce n'est que pour une petite partie du jeu. Le projet était de taille monstrueuse, eh bien, il y avait tous les problÚmes de multijoueur synchrone, qui existent dans ce monde.

Phil: Et Ă  quelle Ă©tape vous ĂȘtes-vous connectĂ© au projet? Dans quelle position Ă©tait-il Ă  ce moment-lĂ ?

Le chùteau, mais quand je suis arrivé, il n'y avait rien.

Eh bien, pour que les lecteurs comprennent - le jeu se compose de deux parties: oĂč la bataille elle-mĂȘme a lieu et le chĂąteau - oĂč le dĂ©veloppement a lieu, le joueur construit, engage des hĂ©ros, les dĂ©veloppe, puis emmĂšne le hĂ©ros et se bat avec lui. Cette partie de guerre Ă©tait dĂ©jĂ  dans une certaine mesure prĂȘte, et la partie sociale ne faisait que commencer.

F: Et qui ĂȘtes-vous venu vers lui, comment qui?

Je suis arrivé au poste de programmeur régulier. Je me souviens bien de la façon dont j'ai créé un projet Unity vide. Nous avons commencé dÚs le début. Il fallait tout créer et tout intégrer à l'ogive, qui se développait activement à ce moment-là.

F: Oui, c'est Unity. Autrement dit, quel yap? Pour, C #?

La partie session était sur les avantages. Notre rÎle était sur l'unité. La logique principale était en C #. Mais comme il s'agissait pour ainsi dire d'un projet de combinaison complexe de technologies, il a également été généré via Thrift en Python, car le serveur était en Python.

F: Oh, et bien sûr, il a imposé ses frais généraux sur le développement en C #.

Eh bien, pour dire le moins. Mais nous nous en sommes sortis assez élégamment. Les coéquipiers seniors étaient des gars trÚs expérimentés, nous avons donc eu la génération de code aux bons endroits, et en général, tout a été trÚs bien généré. Il n'était pas nécessaire de tout démarrer directement avec ses mains.

Si je comprends bien, c'Ă©tait l'apogĂ©e de technologies comme Thrift, Protobuf, comme ici. Et puis ils ont Ă©tĂ© perçus comme une incroyable invention de l'humanitĂ© scientifique - une fois, et rĂ©solvent votre problĂšme avec le fait que plusieurs langues diffĂ©rentes, et les donnĂ©es doivent ĂȘtre envoyĂ©es, et tout devrait fonctionner de la mĂȘme maniĂšre partout

F: Je peux imaginer combien de problĂšmes c'est. Lorsque vous ĂȘtes arrivĂ© au projet, connaissiez-vous dĂ©jĂ  C # et le monde .net?

Oui, j'Ă©tais familier. Je connaissais toujours Unity 2.6 (si ce n'est pas dĂ©routant), c'Ă©tait un produit trĂšs Ă©trange. J'ai moi-mĂȘme Ă©crit sur .net, mais il y avait Mono Ă  un stade prĂ©coce. Ce sont les moments oĂč Miguel de Icaza n'a mĂȘme pas traitĂ© avec Xamarin.

Je me souviens que le mono Ă©tait un animal si rare que peu de gens ont vu, mais il a Ă©tĂ© intĂ©grĂ© Ă  Unity, et Unity Ă©tait presque le plus gros produit utilisĂ© par mono. En consĂ©quence, il y avait tout ce qui Ă©tait monstrueux dans le monde des machines virtuelles aux premiers stades. Énorme fuite de mĂ©moire obscure sur toutes les plates-formes, diffĂ©rences imprĂ©visibles avec .net dans les choses de base. Toute allocation supplĂ©mentaire tout le temps.

F: C'est-à-dire, avant cela, vous travailliez avec le .net habituel, mais ici, ils vous ont donné un autre runtime, qui en substance n'est toujours pas correctement documenté.

J'ai commencĂ© Ă  travailler avec Unity auparavant, mais cette pĂ©riode de transition dont vous parlez - a travaillĂ© en .net et maintenant en mono - c'Ă©tait le cas, mais un peu plus tĂŽt. Je ne peux pas dire que j'Ă©tais trĂšs expĂ©rimentĂ© en .net. J'avais une idĂ©e et plusieurs projets terminĂ©s, mais nulle part la question de la performance ne s'est posĂ©e, mĂȘme si j'avais tout mal fait dans ces projets. Toutes les piĂšces chargĂ©es dans ces projets Ă©taient en plus, et .net n'avait rien Ă  voir avec cela.

F: Pouvez-vous parler de votre premiĂšre semaine sur le projet. Vous avez donc passĂ© une interview, vous ĂȘtes dĂ©veloppeur. Et ensuite?

Eh bien, pour la pureté de l'histoire, il vaut la peine de dire que nous n'avons pas fait Prime World au début. Avant lui, c'était encore un projet. Malheureusement, il n'est pas arrivé à la sortie, et un jour nous avons été transférés à PW pour créer le chùteau. Tout était si rapide là-bas - à peu prÚs les concepteurs nous ont décrit l'idée de ce qui devait arriver: "Il doit y avoir une sorte de chùteau, un joueur dans le chùteau, il le développe, le construit, le pompe."

Au cours de la premiĂšre semaine, je me souviens, nous avons assemblĂ© un appareil photo, construit avec des unitĂ©s de base, construit comment tout cela devrait ĂȘtre, tout Ă©tait unique. Et aprĂšs la premiĂšre semaine, lorsque l'image de base et l'interactif de base ont Ă©tĂ© assemblĂ©s, nous avons dĂ» commencer Ă  rĂ©flĂ©chir Ă  la façon dont cela fonctionnerait sur le plan architectural en utilisant les serveurs, comment aller au chĂąteau d'un ami, voir quel type de chĂąteau il avait, comment transfĂ©rer ce contexte Ă  l'ogive. Autrement dit, les hĂ©ros ont Ă©tĂ© embauchĂ©s, mis en place, ont achetĂ© les bons talents, maintenant vous devez combattre ce hĂ©ros au combat. Et pour aller au combat, vous devez en quelque sorte transfĂ©rer de notre chĂąteau Ă  la partie session. Il existe d'autres langues, d'autres technologies - ce pont n'a pas Ă©tĂ© construit rapidement. Voici quelques-uns de ces souvenirs. Mais c'Ă©tait il y a si longtemps.

Développement de la chronologie Luden.io


  • En 2014, Nival a formĂ© une Ă©quipe distincte pour dĂ©velopper des jeux Ă©ducatifs en rĂ©alitĂ© virtuelle - NivalVR.
  • En janvier 2015, leur premier projet, InMind, a Ă©tĂ© lancĂ© - un jeu sur le voyage au cerveau humain au niveau microscopique pour rechercher des neurones qui causent une maladie mentale.


  • La mĂȘme annĂ©e, InCell est sorti. Elle a dĂ©veloppĂ© l'idĂ©e, mais ressemblait tout Ă  fait au texte d'un chatbot qui a explosĂ© - un jeu Ă©ducatif avec des Ă©lĂ©ments de course et de stratĂ©gie, avec gĂ©nĂ©ration procĂ©durale, pour les appareils VR, sur le voyage dans le monde cellulaire humain.
  • À Epic Games Mega Jam 2016, Luden.io a créé VRobot - un «jeu inutile mais amusant» oĂč vous devez dĂ©truire une ville avec un robot gĂ©ant. En 2017, elle est sortie sur Steam VR, en 2018 - sur Playstation VR.


  • En 2016, NivalVR a Ă©tĂ© renommĂ© Luden.io.
  • En 2017, ARrived est sorti - un simulateur God en rĂ©alitĂ© augmentĂ©e sur les technologies Google ARCore, Apple ARkit et CoreML.


  • En mars 2018, elle est entrĂ©e en accĂšs anticipĂ© tandis que True: learn () - un spĂ©cialiste de la simulation pour ML, mais sans VR et AR.

À propos de la gestion d'une entreprise technologique


Eh bien, maintenant vous ĂȘtes Ă  la tĂȘte de Luden.io. Et comment faites-vous - ce qui est plus difficile? Est-ce pur de dĂ©velopper ou de gĂ©rer tout cela, d'ĂȘtre un pont entre le monde et les dĂ©veloppeurs?

Je pense que cela dépend du type de personnes avec qui vous le faites. J'ai eu beaucoup de chance, avec des gens comme moi là-bas et il y a des super intéressants et super cool.

Et si vous comparez théoriquement deux professions - PDG et juste programmeur? Je pense que le programmeur est plus réfléchi et plus lent. Inventé, planifié, fait. Les facteurs externes apparaissent moins fréquemment et pas dans un tel volume. Là, relativement parlant, il y a toujours les bonnes décisions, il y a des indicateurs concrets, clairs et mesurables que les bonnes décisions sont lorsque votre calcul ne prend pas plus de deux millisecondes et est effectué dans N threads. Vous connaissez certainement ces paramÚtres, si vous les intégrez, tout va bien.

Bien sĂ»r, il n'y a rien de tel dans le travail du PDG. Il n'y a gĂ©nĂ©ralement pas de choses formelles claires dans ce monde, bien que vous entouriez votre entreprise d'indicateurs mesurables ciblĂ©s. Tout le temps, vous devez rĂ©flĂ©chir Ă  la meilleure façon de le faire, ou cela peut ĂȘtre complĂštement diffĂ©rent. Il n'y a pas non plus de rĂšgles claires. Mais c'est son propre charme



F: Pensez-vous que l'expérience du développeur vous aide à gérer?

Je suis sĂ»r que oui. Je ne pense pas qu'Ă  l'avenir il y aura de nombreuses entreprises technologiques qui seront construites sans comprendre le contexte de dĂ©veloppement dans la tĂȘte du directeur gĂ©nĂ©ral. C'est juste difficile pour moi d'imaginer comment cela peut ĂȘtre. Je suis sĂ»r qu'au moins une personne devrait avoir une formation technique pour que la sociĂ©tĂ© technologique se prĂ©cipite avec la vitesse du train, qui est maintenant minimalement nĂ©cessaire pour survivre. Je ne dirais pas que c'est le seul moyen, mais probablement l'un des plus Ă©volutivement corrects.

Faites-vous un examen vous-mĂȘme?

Enfin, pas ça. Sur un grand projet PW, oui - il y avait d'autres processus lĂ -bas, pas comme le nĂŽtre. LĂ , bien sĂ»r, tout le code avait l'air de sorte que tout Ă©tait dans une seule norme. Le PW Ă©tait d'une telle ampleur qu'on pourrait oublier qu'une partie est utilisĂ©e ailleurs. MĂȘme les tests locaux Ă©taient difficiles, quelle Ă©tait la taille du projet. Par consĂ©quent, la rĂ©vision du code comportait de bonnes normes.

Et ici, les gars se regardent le code les uns des autres, mais principalement pendant l'intégration, lorsque nous collectons toutes les fonctionnalités dans un seul brunch. Je n'ai pas vu dans gamedev que lorsque vous avez 5-6 programmeurs, il y a de gros processus de révision de code. Le plus souvent, cela n'est pas particuliÚrement nécessaire, le produit est primaire et la période de support n'est pas des dizaines d'années.

F: Existe-t-il une approche consolidée du développement? Est-il imposé?

Il existe un style de code standard et des concepts de base de ce qu'il faut combiner, des rÚgles architecturales. Il y a un cadre de projet dans lequel nous travaillons toujours. Il a été testé par le temps, et nous savons avec certitude qu'il ne nous permettra pas de nous tirer dans le pied (au moins à partir d'un fusil de chasse). Il existe un ensemble de modules de base qui se déplacent d'un projet à l'autre. Certains sont écrits il y a longtemps, d'autres récemment. En raison de la grande réutilisation des normes architecturales, en raison du respect du codestyle, nous ne glissons pas complÚtement dans l'abßme.

F: Participez-vous à l'embauche de nouveaux employés?
Oui bien sûr.

F: Tout le monde?
Tout.

Vous n'ĂȘtes probablement pas une trĂšs grande entreprise, non?

Eh bien, oui, pas trÚs grand, pas des milliers de personnes. Par conséquent, Dieu merci, au moins une fois, mais avec chaque nouvel employé au stade de l'entretien de 10 minutes, je vais parler de la façon dont une personne se rapporte à l'industrie du jeu et de ce qu'elle joue. Pour juste comprendre.

F: Mais vous-mĂȘme n'interviewerez pas les dĂ©veloppeurs en tant que dĂ©veloppeurs?

Vous savez, je suis en quelque sorte si chanceux. Je pense donc que les gars qui sont engagés dans les logiciels bancaires n'ont pas une telle prérogative et chance que la nÎtre. Toute notre industrie russophone est petite. Et quand vous y travaillez depuis plusieurs années, vous vous ferez des amis et rencontrerez des gens. Pour presque n'importe quel employé, s'il ne s'agit pas d'un étudiant, il y a toujours une sorte de recommandation, une compréhension approximative de ce qu'il fait en production.

Mais si j'avais besoin d'embaucher une centaine de personnes en une semaine, alors, bien sûr, je ne pourrais pas le faire. Je n'ai pas besoin d'embaucher à ce rythme, et trÚs probablement quand j'engage des gens, je les connais déjà.

Gamedev vs développement commercial




F: Et il y a des cas oĂč des gens d'autres industries partent?

Cela arrive, mais pas trÚs souvent. Dans gamedev, le bilan est généralement le suivant - les gens aiment faire des jeux dans l'enfance et continuer ensuite.

Il y a eu plusieurs entretiens historiques lorsque des personnes ont Ă©tĂ© emmenĂ©es dans des banques. Au stade de l’interview, nous Ă©tions en quelque sorte d’accord, ils semblaient aimer ça, ils sont comme «ici, je travaille Ă  la banque, je paie beaucoup, mais je n’aime pas vraiment ça. Je voudrais faire ce Ă  quoi l'Ăąme ment. Et l'Ăąme rĂ©side dans les jeux. "

Vous l'aimez, il vous aime, nĂ©gocie, fait une offre et la personne disparaĂźt. Parfois, vous demandez «comment allez-vous» et ils vous disent: «ici je viens de dĂ©missionner, le patron me demande oĂč je vais. Dis-je ici. Et il - eh bien, augmentons votre salaire, et vous n'irez nulle part. » TrĂšs souvent, les gens ont succombĂ© Ă  une motivation monĂ©taire supplĂ©mentaire et sont restĂ©s dans leur industrie.

Mais il y avait bien sûr d'autres cas. De trÚs bonnes personnes provenaient de diverses industries, y compris les logiciels bancaires.

Oui, je me souviens que vous avez raconté cette histoire dans un podcast - un programmeur d'une banque dit «Je veux faire preuve de créativité», un numéro est écrit sur un morceau de papier et il reste. Avez-vous eu de tels morceaux de papier dans votre vie?

Oui, comme tout le monde, les offres viennent constamment sous différents angles. Tu sais, je ne les regarde jamais vraiment. C'est génial, bien sûr, qu'ils appellent ailleurs. Mais ce n'est pas ce que j'aimerais construire dans la vie.

F: Ils disent que dans la banque, dans les affaires, la qualité du code est plus élevée que dans le développement de jeux.

, , , . , , , .

The Last Day on Earth. . , . , , , — .

, , . « , » .

: — . , — . , (, ). , , . — .

, , . , . , , IP, . , 15 . business value , . , . , 15 — . World of Warcraft ? 15 . . , 15 Blizzard .

: , , .

Bien sûr.

: , 15 , , ?

, 15 . , , , .

, . , , .

, , — . .

,




, luden.io, , . , , .

. , . , « ?» , , — . , .

, . — — - . , , — . - . . . , , .

, , , — . , , , — , , , , .

. , . , 5 ? Destiny? , . — , — .

— , . , . — . — , — . , .

, - ?

Bien sĂ»r! , . . 20 40 — .

, , - , . , , . .

?

, (, ), . , , , , . , , , .

, , . . 10-15 - , — .

, 20 , , , . .

, , — gamesjam, , , , 


. 10 , .

, ?

- , , . . ? -.

?

. . , -.

.

, , . 


: , .

, . , . , , . Mini Metro . ?


, , .

, « », — .

- . , , . — . Luden.io. , Ludus — . , Ludus Magnus. , , , .

, — , , , . , , .

, 20-30 . , Youtube, Twitch, - , , .
— , .

VR




Sur le mĂȘme principe, les premiers projets avaient une idĂ©e de se concentrer sur la VR?

Avec la VR, un sujet intéressant ... quand on a commencé, ça vient de commencer. La VR, bien sûr, met à l'échelle les points forts des jeux - une expérience sans risque ajoute l'effet de présence. Le cerveau croit encore plus que cela se produit, bien que ce ne soit qu'une répétition supplémentaire. Mais le marché connaßt actuellement des difficultés avec le taux de croissance. Nous n'avons pas pu trouver le format VR que tout le monde aimerait avoir à la maison.

Par conséquent, nous avons décidé de continuer à progresser vers notre objectif, mais VR ... Nous avons publié des projets sur toutes les plateformes. De plus, nous avons en production des projets VR qui sont intégrés dans les écoles. Si quelque chose bouge sur l'une des plateformes, et que ce sera une réalité virtuelle qui aidera à produire des jeux utiles, alors nous renforcerons certainement notre présence là-bas. En attendant, nous avons beaucoup de joueurs là-bas, tout le monde est heureux et heureux, mais alors que True: learn () - sans réalité virtuelle.

AprĂšs l'E3, cette image vient d'ĂȘtre diffusĂ©e sur Internet, Ă  savoir qu'il y a catastrophiquement moins de rĂ©fĂ©rences Ă  la VR dans la presse qu'auparavant.

Eh bien, malheureusement, oui.

Que pensez-vous qu'il s'est passé?

Vous voulez vous acheter un casque de réalité virtuelle?

Non.

Eh bien ici. VoilĂ  ce qui s'est passĂ©. Les gens ne veulent pas. Donc, dĂšs que vous vous rĂ©veillez et rĂ©alisez que vous voulez la VR pour vous-mĂȘme, le point de basculement est proche.

Pourquoi ne veulent-ils pas? AprÚs tout, tout était tellement cool. Quand il est apparu, tout le monde était ravi, tout le monde a dit, dans 5-10 ans ce sera partout, nous allons généralement y vivre pour vivre.

Vous ne pouvez pas écouter les réponses analytiques complexes des hommes d'affaires, uniquement les réponses personnalisées. Le Client répondra beaucoup mieux à cette question dans un langage simple. Par conséquent, les gars, si vous ne voulez pas de casque chez vous, votre motivation décrira la situation bien mieux que toutes mes conclusions commerciales abstruses.

Cela arrive toujours - si le jeu n'est pas Ă  vendre, allez Ă  l'arrĂȘt du jeu et demandez Ă  la personne qui ne l'a pas achetĂ©. Il expliquera beaucoup mieux que tous les spĂ©cialistes du marketing rĂ©unis.

Je pense qu'il y a un problĂšme de poulet et d'oeufs. Un casque peut ĂȘtre achetĂ© Ă  la maison, mais la question se pose de savoir quoi en faire. Et celui qui produit le contenu de ce casque, pense ce que je vais produire pour lui, s'il n'y a personne, j'arrĂȘterai le dĂ©veloppement pour de l'argent. Ce problĂšme n'a pas encore trouvĂ© d'Ă©quilibre sur le marchĂ© VR.

Mais des segments sont apparus, et je pense qu'ils seront renforcés. D'abord, des marchés étroits, puis un marché de plus en plus grand sera retiré. Tout comme la formation de consoles dans les années 80 et 90, la formation de la réalité virtuelle peut donc se produire. Mais pendant trois ans, il n'a pas réussi - il n'a pas décollé à l'échelle des téléphones mobiles.

Autrement dit, vous pensez qu'il va décoller, juste plus tard?

La question est de savoir dans quel format. Il sera difficile de prédire s'il s'agira d'un appareil universel permettant de fabriquer à la fois des RA et de la RV, ou des appareils séparés.

Mon opinion personnelle est qu'il occupera une niche spĂ©cialisĂ©e, comme, par exemple, les tablettes aujourd'hui. Beaucoup de gens ont des maisons Ă  la maison, mais peu en achĂštent de nouvelles. Et ils rĂ©solvent toujours un problĂšme. Avec VR, ce peut ĂȘtre la mĂȘme chose. Il occupera certainement un segment du marchĂ©. La seule question est la taille de ce segment.

Il y a une excellente utilisation, semble-t-il, me dit Sergei Galenkin. Une personne a acheté un casque pour regarder un film car il a quatre enfants. Le cas d'utilisation est immédiatement clair.

A-t-il été difficile de travailler avec la réalité virtuelle? Techniquement.

Avec la rĂ©alitĂ© virtuelle, il y a d'Ă©normes problĂšmes de performances et les exigences de la plate-forme sont souvent nĂ©cessaires. Nous sommes maintenant sortis avec notre ancien jeu - VRobot - sur la Playstation VR. LĂ , par exemple, il est nĂ©cessaire de maintenir une stabilitĂ© de 60 ips. Sur Oculus (y compris mobile), vous devez prendre en charge 75 ips. MĂȘme si Ă  certains moments, il tombe de 20 Ă  30 images - c'est tout. Vous devez optimiser le jeu pour qu'il ne tombe pas.

Mais nous avons une équipe trÚs solide en termes d'optimisation graphique de bas niveau. Nous avons Nikita, qui est super professionnelle dans ce domaine.

F: Vous avez donc un mec séparé pour les optimisations?

Eh bien, non seulement il le fait, mais c'est sa compétence principale. Ils travaillent toujours avec Dima, qui peut assembler n'importe quelle scÚne 3D aux indicateurs de performance souhaités. Par conséquent, avec eux, tout allait bien et merveilleux.

À propos de l'apprentissage automatique dans le dĂ©veloppement de jeux


Pour ceux qui sont intéressés par le développement de jeux et l'apprentissage automatique, Oleg montre une photo de Demis Hassabis pour l'inspiration. Le prodige des échecs, neuroscientifique et fondateur de DeepMind, a également commencé sa carriÚre en tant que développeur de jeux.

Il a programmé l'intelligence artificielle pour Black & White de Peter Moulinje. Et puis dans sa propre entreprise, Elixir Studios a sorti, par exemple, le simulateur du super méchant obligataire Evil Genius.

Et ce n'est qu'à ce moment-là qu'il est devenu l'un des chercheurs en IA les plus célÚbres au monde.


Est-ce que True: learn () affiche votre expérience réelle?

Oui, oui, tout est construit dessus. Dans l'industrie du jeu, comment - si vous commencez à faire quelque chose, vous devriez certainement avoir une référence, un point de référence sur lequel vous vous retournerez. Nous faisons la simulation, dans la simulation il y a beaucoup de petites choses, ces petites choses ont besoin d'un point de référence pour ne pas s'envoler dans une sorte d'abstraction.

Et tandis que True: learn (), nous avons pris pour rĂ©fĂ©rence pas un autre projet - nous avions une rĂ©alitĂ©. Si vous faites quelque chose et que vous ne savez pas comment le faire, ressemblez Ă  la vie rĂ©elle. L'Ă©conomie du jeu est la location de serveurs informatiques. Si vous rĂ©solvez le problĂšme du traitement d'une Ă©norme quantitĂ© de donnĂ©es, vous louez un serveur, envisagez, louez, arrĂȘtez de louer.

Nous voulions montrer dans le jeu une chronologie du développement de l'apprentissage automatique à partir des années 50, du premier perceptron et se terminant par des voitures modernes autonomes, toutes sortes de réseaux de capsules et ainsi de suite.

Nous avons prĂ©sentĂ© tous ces points de rĂ©fĂ©rence, Vanya a spĂ©cialement collectĂ© une table Google - les principaux blocs de transition de l'apprentissage automatique, comment l'industrie a changĂ©, ce qui a Ă©tĂ© apportĂ© de nouveau. Et Ă  l'aide de quĂȘtes, cela est servi dans cet ordre.

Dans certaines versions du jeu, nous avions mĂȘme une annĂ©e spĂ©cifiĂ©e. Pour un certain nombre de raisons, nous l'avons supprimĂ©, nous reviendrons peut-ĂȘtre. Mais la personne fait le chemin - lance le jeu, passe par plusieurs quĂȘtes avec le perceptron, gagne de l'argent sur cela.

Chaque année, quelque chose était intéressant. Il a été soit réfuté par le développement futur de la technologie, soit au contraire confirmé.



Vous pouvez cliquer sur chaque bloc, voir comment cela fonctionne dans le jeu, comment cela fonctionne dans la vraie vie.

Il y a toujours deux liens, l'un vers une vidĂ©o YouTube sur ce bloc, oĂč quelqu'un en parle de maniĂšre fascinante. Et un article Ă  comprendre encore plus profondĂ©ment, si vous voulez comprendre jusque dans les dĂ©tails comment cette chose fonctionne.

Dans une équipe, les gens faisaient-ils de l'apprentissage automatique auparavant?

Oui tandis que True: learn () nous l'avons fait en parallÚle avec le lancement de VRobot, notre équipe VR s'est donc concentrée sur le portage sur la Playstation. Et la nouvelle petite équipe était composée d'experts en apprentissage automatique.

Et leur parler d'eux, quel genre d'équipe, sur quoi ils ont travaillé avant?

Oui, ils l'ont en quelque sorte collecté. Lorsque l'idée est venue, j'ai pris une équipe d'amis, d'amis et d'étudiants.

F: Avez-vous choisi des spécialistes ML?

Oui, mais là, nous avons tous les jeunes, ils n'ont certainement pas 20 ans d'expérience en machine learning. Tout le monde a joué à Kaggle au moins plusieurs fois, ils ont résolu certains problÚmes. Beaucoup l'ont déjà adopté à l'institut.

F: Et ils ont fait un jeu. Mais le développement de jeux n'est pas un apprentissage automatique, non? Autrement dit, ce sont des piles complÚtes - Les scientifiques et les développeurs de produits sont tous réunis en un seul.

Eh bien, comment répondez-vous. Ce sont des gens qui comprennent l'apprentissage automatique et comprennent comment cela fonctionne. Et ils développent un jeu sur Unity, écrivent du code de jeu, des interfaces de composition, etc.

Juste pour proposer une sorte de quĂȘte et mettre tout cela dans la chronologie, vous devez comprendre le contexte. Mais Ă©videmment, ils n'ont pas dĂ©marrĂ© le bloc-notes ipython pour chaque quĂȘte.

Nous avons là une bibliothÚque spéciale qui prend en compte les réseaux convolutionnels et certaines choses trÚs basiques sur sharpe qui fonctionnent dans Unity. Il a également publié notre jeu de dessin AIDraw. Là, le joueur dessine et le réseau neuronal devine ce qu'il dessine. Cette bibliothÚque calcule le tout et autour d'elle tout un jeu est lié.

F: ML et développeur de jeu ont récemment commencé à se chevaucher. Par exemple, j'ai un jeu avec l'apprentissage automatique. Quelle pile convient?

Je n'ai pas vu beaucoup de projets qui croisent l'apprentissage automatique et le développement de jeux - en particulier l'utilisation de produits, de sorte que quelque chose se passe dans le client du jeu.
L'unité a son propre systÚme d'apprentissage par renforcement. Il vous permet de faire un petit nombre de choses, mais il est intégré directement dans Unity, donc le seuil d'entrée est bas.

Il existe un certain nombre de bibliothĂšques, les mĂȘmes que pour d'autres domaines, ainsi que des cadres pour les rĂ©seaux de neurones.

Dans les technologies mobiles, ils utilisent souvent le CoreML d'Apple, qui vous permet de calculer l'appareil directement sur le GPU. Nous prenons le modĂšle, nous l'entraĂźnons dans le mĂȘme TensorFlow ou dans Yandex CatBoost, nous l'emballons dans un fichier spĂ©cial - et maintenant il peut dĂ©jĂ  ĂȘtre lancĂ© directement sur le GPU sur un iPhone et nous obtiendrons la prĂ©diction rĂ©sultante pour nous.

Nous l'avons utilisĂ©, par exemple, dans le jeu ARrived avec rĂ©alitĂ© augmentĂ©e, oĂč il Ă©tait nĂ©cessaire de reconnaĂźtre l'image des camĂ©ras et de dire ce qu'il y avait dessus.

Si nous ne parlons pas de l'utilisation du produit, pas dans le client du jeu - tout y est classique. Sur les serveurs, les gens utilisent les technologies les plus courantes, qui sont partout dans ML. Mais là, il est utilisé pour l'analyse ou la personnalisation de l'offre.
Le fameux cas - ils ont essayé de prédire quand un joueur tomberait de World of Tanks et quoi faire de ces informations.

Ou pour prĂ©dire le moment oĂč offrir au joueur une sorte d'offre - achetez deux chevaux pour le prix d'un. Il achĂštera avec une forte probabilitĂ© et sera heureux plus tard. Ce sont des choses serveur, et lĂ , la pile n'est en aucune façon limitĂ©e.

Et la collection de jeux de donnĂ©es peut-elle ĂȘtre au centre de la conception du jeu?

Eh bien, c'est un tel concept de Westworld. Elle a peut-ĂȘtre le droit Ă  la vie, mais je ne vois pas immĂ©diatement quel type de jeu de donnĂ©es des actions des joueurs peut ĂȘtre utile.

Eh bien, par exemple, nous faisons un jeu avec vous sur la conduite en milieu urbain, nous faisons un vrai modĂšle de routes de Moscou. Ici, nous voyons - de nombreux joueurs ici plantent constamment, ici ils violent le mode vitesse. À partir de cet ensemble de donnĂ©es, vous pouvez comprendre oĂč se trouvent les problĂšmes.

Et si c'est un jeu abstrait, pas un simulateur de domaine? Peut-ĂȘtre que l'ensemble de donnĂ©es aidera Ă  rĂ©soudre les problĂšmes de l'entreprise. Si elle crĂ©e des jeux du mĂȘme type, l'ensemble de donnĂ©es sur le comportement des joueurs dans ces jeux peut leur ĂȘtre utile. Mais pour cela, des projets distincts ont Ă©tĂ© créés, je ne les ai pas encore rencontrĂ©s.

Était-ce un problùme dans AIDraw?

Ah, bien voilĂ . On pourrait partir lĂ -dessus, si on avait une Ă©chelle 300 000 fois plus grande. Google, par exemple, a collectĂ© un ensemble de donnĂ©es sur un jeu similaire, il en fait quelque chose. Je pense Ă  des fins de recherche. Ici, ils peuvent ĂȘtre une tĂąche.

F: Disons que vous avez conçu un jeu qui utilisera ML d'une maniÚre ou d'une autre, et dans le processus de développement, vous comprenez que la façon dont vous l'avez conçu ne fonctionnera pas, mais il s'avÚre quelque chose de complÚtement différent. Avez-vous déjà eu de tels cas?

Par exemple, nous savions que mĂȘme si True: learn () serait une grande mise Ă  jour sur les voitures autonomes. Le joueur apprendra Ă  la machine Ă  conduire, Ă  contourner d'autres voitures, Ă  changer de vitesse, Ă  faire le plein d'essence, Ă  appliquer le frein.



En rÚgle générale, dans un développeur de jeu, le concepteur de jeu écrit un dzdock; le contenu est produit sur le dzdok (enfin, en termes d'exigences techniques dans d'autres domaines). Mais avec la machine à écrire, nous avons immédiatement compris - nous aurons plusieurs étapes, plusieurs technologies. La génétique apprendra. Le joueur comprendra que la génétique étudie, mais ce n'est pas trÚs bon. Ensuite, il y aura un renforcement de différents types. Le joueur comprendra que certains renforts pour cette tùche sont plus efficaces.

Ce sont des choses mal gérées. Sachant que tout peut mal tourner, nous avons d'abord écrit une démo techno - brute, moche, incompréhensible. Je l'ai donné aux concepteurs de jeux. Les concepteurs de jeux ont joué avec elle, ont écrit un dzdok, que nous terminerons et polirons.

Plus précisément, non seulement les gamedisaners, nous avons une communauté fermée d'amis les plus proches à Discord, nous pouvons leur donner une fonctionnalité dans n'importe quel état, ils joueront et diront ce qu'ils pensent. Maintenant, ils jouent à ces voitures depuis plus de deux semaines et racontent.

Avec les voitures, nous sommes arrivés à quoi? Initialement, nous avons indiqué les données à utiliser pour apprendre à conduire la voiture, quels paramÚtres nous pouvons changer (toutes sortes de seuils, de pertes. En génétique, par exemple, la taille des générations, les mutations). Et il s'est avéré quelque chose de peu interactif. Un homme entre, modifie certains paramÚtres, puis il devient stupide, regarde comment la voiture roule. Pour les développeurs qui sont en contexte, c'est amusant. Et pour une personne de l'extérieur, ce n'est pas interactif.

F: Ne ressent pas sa contribution?

Oui, aucune rĂ©troaction instantanĂ©e. Par consĂ©quent, nous avons lĂ©gĂšrement modifiĂ© la conception. Le joueur conduira. Comme enseigner une voiture, conduisez-la vous-mĂȘme. Et elle rĂ©pĂšte aprĂšs vous, comme vous l'avez appris.

Si un joueur est constamment reconstruit uniquement Ă  droite, alors la machine ne peut pas ĂȘtre reconstruite Ă  gauche, car il ne l'a pas enseignĂ© de cette façon. Il est immĂ©diatement devenu interactif. Donc, quelques itĂ©rations supplĂ©mentaires, et quelque chose pourrait fonctionner,

Autrement dit, nous affirmons que quelque chose peut toujours mal tourner avec le ML. Il est presque impossible de réfléchir à l'avance au stade de la conception.

F: Autrement dit, vous posez le fait que vous devez faire un prototype, voir comment il se comporte et le refaire essentiellement?

Bien sûr que oui.

F: Mais ce n'est pas standard pour le développement. Cette fonctionnalité est ML, non?

Tu peux dire oui. Parce que dans d'autres domaines et jeux, nous pouvons prédire grossiÚrement. Ce n'est pas la premiÚre année que nous faisons cela, nous comprenons donc ce que le joueur fera, quel genre d'émotion il ressentira.

Notre base prédictive, que nous gardons à l'esprit, fait face à cette tùche.
Mais ML ne résiste toujours pas.

Source: https://habr.com/ru/post/fr417107/


All Articles