Creador del juego mientras es verdadero: aprenda () sobre la programación de gamedev, los problemas de realidad virtual y las simulaciones de ML



Hace unos años, me pareció que Oleg Chumakov (todavía de Nival) era el programador de desarrollo de juegos más famoso. Actuó constantemente, organizó Gamesjam y fue un invitado frecuente del podcast. Cómo se hacen los juegos .

Con el advenimiento de la realidad virtual en el mercado, Oleg lideró a la compañía en una nueva división: NivalVR. Pero todos ustedes saben, con la realidad virtual, algo salió mal.

Durante mucho tiempo estuve distraído del desarrollador del juego y, mirando de nuevo, vi que el equipo de Oleg se volvió más interesante. Ahora se llama Luden.io y su simulador especializado de aprendizaje automático, mientras que True: learn () se ha convertido en un éxito en su nicho, hay muchas historias interesantes a su alrededor.

Hablamos con Oleg, pero no pude elegir un solo tema: su camino era demasiado rico y variado. Y para que el programador hablara sobre la programación sin temor a ser malentendido, la conversación fue apoyada por mi amigo, colega y desarrollador experimentado de fillpackart .


Oleg Chumakov

Jugué en True: learn (). Genial juego, estoy atascado.

Lejos ido?

No Empecé a jugar de noche y me quedé atrapado en una misión secundaria. Se sentó, no podía acostarse hasta que lo decidiera. ¿Cómo te va con ella?

Las cosas están muy bien, no esperábamos que ella fuera de tal tamaño. Planeamos un pequeño proyecto. Lo imaginamos de esta manera: toma a todos los jugadores del mundo, elimina a los que solo juegan rompecabezas. A partir de ahí, corta a aquellos que están listos para lidiar con la programación. Y luego otra máquina de aprendizaje ... resultó ser una parte muy pequeña de la audiencia. Pero, de hecho, aquí.

La primera vez que vinieron más jugadores de lo que planeamos en dos meses. Al principio, la primera noche más de lo que queríamos durante seis meses. Por lo tanto, desde entonces hemos tenido una vida muy divertida. Localizamos, tratamos de mantenernos a flote y hablamos con miles de personas en Discord al mismo tiempo.


Tu chat en Discord: según tengo entendido, todas las personas están interesadas allí, todo está en el tema del aprendizaje automático. Cuenta una historia genial sobre uno de los jugadores.

Hay un jugador allí, su nombre es Mr. Floppy (no sé cuál es su nombre en realidad). Él vino a nosotros en alfa cerrado. Permitimos que jugara un cierto número de personas, y recibimos una retroalimentación aproximada que pudimos ajustar.

Tenemos un gato en el juego, sentado en el monitor, maullidos. Y de acuerdo con la idea original, se suponía que el gato debía interferir. Cuando programa, viene constantemente, ahí "me acaricia", se sube al monitor. En general, Sr. Floppy, cuando estaba jugando, su verdadero gato vino a él, vivo, para evitar que programara en el juego. Él envió esta foto, todo comenzó.

Luego se interesó, se convirtió en un miembro activo de nuestra comunidad. Comenzó a producir estos gatos en varias prendas dentro del juego en una impresora 3D en casa y a enviarlos a los mejores jugadores. Relativamente hablando, hizo mercadería gratis. Simplemente le gustó. Y este es un recuerdo muy cálido de cómo se organizó nuestra comunidad. Esto nunca ha sucedido en nuestros proyectos. Hubo cosplay, fanart, pero para que las personas impriman juguetes en el juego y compartan entre ellos, esta es la primera vez.

Había jugadores que querían aprender directamente sobre el aprendizaje automático. El juego eliminó su miedo a un umbral difícil para ingresar al ML. Después del juego, fueron a Coursera, buscaron competiciones que serían difíciles para ellos en su nivel de conocimiento. Y ahora los estamos siguiendo activamente, todos estamos esperando que el primero obtenga un trabajo en el campo del aprendizaje automático. En este día, aparentemente estaremos celebrando

Es decir, aún no lo has recibido?

Todavía están en medio del entrenamiento. El juego fue lanzado en marzo, aún no había suficiente tiempo. Y así, en general, pasaron muchas cosas. Las personas en YouTube también usaron el juego para enseñar aprendizaje automático. En las escuelas, se usa constantemente ahora, en Rusia, en Gran Bretaña, en los Estados Unidos, en Australia mucho. Así que no tengo la mente suficiente para elegir la historia más bella. Hay dos de ellos cada semana.


Stanislva Semenov, científica de datos y uno de los principales usuarios de Kaggle, juega en WTL

Bien, volveremos al aprendizaje automático. Por ahora, dime exactamente qué estás haciendo actualmente en el proyecto, tus responsabilidades, tu día.

Mi responsabilidad ahora es averiguar con el equipo central su plan, lo que harán durante los próximos dos o tres meses, y con este plan en mi cabeza trabajar con todos los que vienen a nosotros. Integre el juego de ida y vuelta, a esta escuela, a esa escuela. Ser un puente entre los desarrolladores y el mundo exterior.

A veces traigo algo de mi querido Desarrollo de Clientes. Por ejemplo, descubrieron ese problema: los niños van a cursos de programación; sus padres preguntan "¿qué había en el aula?", Los niños dicen "nada". El padre no entiende, el niño no quiere decirle a los fieltros del techo, los fieltros del techo realmente no hicieron nada. Por lo tanto, tenemos informes automatizados en el juego. Es decir, los padres reciben mensajes: "su hijo aprendió el perceptrón hoy", "su hijo enseñó rnn-ku", etc. Tales características aparecen debido a mi interacción entre el mundo exterior y el juego.

Bueno, en consecuencia, yo, como CEO, tengo una tarea para que todos se inspiren en un gran objetivo, todos se sientan cómodos trabajando, no haya dificultades, todo avance sin pensar en cosas básicas.

Ya veo Es decir, usted mismo no programa ahora?

Sucede, pero no muy a menudo. Tengo una gran característica para rehacer startups dentro del juego. Se me ocurrió hace mucho tiempo, aunque como parte de nuestro próximo proyecto sobre marketing en Internet, pero mis manos llegan lentamente. En lugar de hacerlo en los viejos tiempos de la semana, lo he estado haciendo durante un mes.

Acerca de la programación en Game Dev



Bueno, recordemos los viejos tiempos. ¿Cuéntame sobre ti como programador?

Bueno, el proyecto más grande en el que obtuve una escuela de vida es el juego Prime World. Este fue un proyecto muy grande de Nival. Multitud con una parte social (se llamaba el Castillo). Nuestro equipo, que solo estaba lidiando con eso, tenía más de 20 personas, y esto es solo para una pequeña parte del juego. El proyecto era de un tamaño monstruoso, bueno, había todos los problemas del modo multijugador sincrónico, que existen en este mundo.

Phil: ¿Y en qué etapa te conectaste al proyecto tú mismo? ¿En qué posición estaba él en ese momento?

El castillo, pero cuando llegué no había nada allí.

Bueno, para que los lectores entiendan: el juego consta de dos partes: dónde se desarrolla la batalla y el Castillo, donde se desarrolla, el jugador construye, contrata héroes, los desarrolla y luego toma al héroe y entra en batalla con él. Esa parte de la guerra ya estaba en cierta medida lista, y la parte social apenas comenzaba.

F: ¿Y quién viniste a él, cómo quién?

Llegué al puesto de programador habitual. Recuerdo bien cómo creé un proyecto vacío de Unity. Empezamos desde el principio. Era necesario crear e integrar todo con la ojiva, que se estaba desarrollando activamente en ese momento.

F: Sí, esta es la Unidad. Es decir, ¿qué? Pros, C #?

La parte de la sesión estaba en las ventajas. Nuestra parte estaba en la Unidad. La lógica principal estaba en C #. Pero debido al hecho de que este era un proyecto, por así decirlo, de una combinación compleja de tecnologías, también se generó a través de Thrift en Python, porque el servidor estaba en Python.

F: Ah, y por supuesto impuso su sobrecarga en el desarrollo en C #.

Bueno, por decir lo menos. Pero salimos muy elegantemente de esto. Los compañeros de equipo senior eran muchachos muy experimentados, por lo que tuvimos la generación del código en todos los lugares correctos, y en general todo se generó bastante bien. No era necesario comenzar todo directamente con sus manos.

Según tengo entendido, fue el apogeo de tecnologías como Thrift, Protobuf, como aquí. Y luego fueron percibidos como un invento increíble de la humanidad científica, una vez, y resolvieron su problema con el hecho de que varios idiomas diferentes, y los datos deben ser enviados, y todo debería funcionar igual en todas partes

F: Me imagino cuántos problemas son estos. Cuando llegaste al proyecto, ¿ya estabas familiarizado con C # y el mundo .net?

Sí, estaba familiarizado. Todavía estaba familiarizado con Unity 2.6 (si no es confuso), era un producto muy extraño. Yo mismo escribí en .net, pero había Mono en una etapa temprana. Estos son los momentos en que Miguel de Icaza ni siquiera trató con Xamarin.

Recuerdo que el mono era un animal tan raro que pocas personas vieron, pero estaba integrado en Unity, y Unity era casi el producto más grande que utilizaba mono. En consecuencia, hubo todo lo monstruoso que sucede en el mundo de las máquinas virtuales en las primeras etapas. Enorme pérdida de memoria oscura en todas las plataformas, diferencias impredecibles de .net en cosas básicas. Cualquier asignación extra todo el tiempo.

F: Es decir, antes de eso trabajó con el .net habitual, pero aquí le dieron otro tiempo de ejecución, que en esencia todavía no está debidamente documentado.

Comencé a trabajar con Unity antes, pero este período de transición del que estás hablando, trabajó en .net y ahora en mono, lo fue, pero un poco antes. No puedo decir que tenía mucha experiencia en .net. Tenía una idea y varios proyectos completados, pero en ningún lado surgió la cuestión del rendimiento, incluso si había hecho todo mal en esos proyectos. Todas las partes cargadas en esos proyectos estaban en ventajas, y .net no tenía nada que ver con eso.

F: ¿Puedes hablar sobre tu primera semana en el proyecto? Entonces pasaste por una entrevista, eres un desarrollador. Que sigue

Bueno, por la pureza de la historia, vale la pena decir que lo que hicimos al principio no fue Prime World. Antes de él todavía era un proyecto. Desafortunadamente, no llegó al lanzamiento, y un día nos transferimos a PW para crear el Castillo. Todo fue tan rápido allí, aproximadamente, los diseñadores nos describieron la idea de lo que debería suceder: "Debe haber algún tipo de castillo, un jugador en el castillo, él lo desarrolla, lo construye, lo bombea".

Recuerdo que en la primera semana armamos una cámara, construcción con unidades base, construimos cómo debería estar todo, todo estaba solo. Y después de la primera semana, cuando se ensamblaron la imagen básica y la interactiva básica, tuvimos que comenzar a descubrir cómo funcionaría arquitectónicamente usando servidores, cómo ir al castillo de un amigo, ver qué tipo de castillo tenía, cómo transferir este contexto a la cabeza nuclear. Es decir, los héroes fueron contratados, configurados, compraron los talentos correctos, ahora debes luchar contra este héroe en la batalla. Y para ir a la batalla, debes de alguna manera transferirte desde nuestro castillo a la parte de la sesión. Hay otros idiomas, otras tecnologías: este puente no se construyó rápidamente. Estos son algunos de estos recuerdos. Pero eso fue hace mucho tiempo.

Desarrollo de línea de tiempo Luden.io


  • En 2014, Nival formó un equipo separado para desarrollar juegos educativos en realidad virtual: NivalVR.
  • En enero de 2015, se lanzó su primer proyecto, InMind, un juego sobre viajar al cerebro humano a nivel microscópico para buscar neuronas que causan enfermedades mentales.


  • En el mismo año, InCell fue lanzado. Desarrolló la idea, pero sonó como el texto de un chatbot que se disparó: un juego educativo con elementos de carreras y estrategia, con generación de procedimientos, para dispositivos de realidad virtual, sobre viajar al mundo celular humano.
  • En Epic Games Mega Jam 2016, Luden.io hizo VRobot, un "juego inútil pero divertido" en el que tienes que destruir una ciudad con un robot gigante. En 2017, lanzó Steam VR, en 2018, en Playstation VR.


  • En 2016, NivalVR pasó a llamarse Luden.io.
  • En 2017, se lanzó ARrived, un simulador de Dios en realidad aumentada en las tecnologías Google ARCore, Apple ARkit y CoreML.


  • En marzo de 2018, entró en acceso temprano mientras True: learn (), un especialista en simulación para ML, pero sin VR y AR.

Sobre la gestión de una empresa tecnológica


Bueno, ahora eres el jefe de Luden.io. ¿Y cómo, que es más difícil? ¿Es puro desarrollar o gestionar todo esto, ser un puente entre el mundo y los desarrolladores?

Creo que depende de con qué tipo de personas lo hagas. Tuve mucha suerte, con personas como yo, tanto allí como súper interesantes y súper geniales.

¿Y si teóricamente comparas dos profesiones: CEO y solo un programador? Creo que el programador es más atento y lento. Inventado, planeado, hecho. Los factores externos aparecen con menos frecuencia y no en ese volumen. Allí, relativamente hablando, siempre hay las decisiones correctas, hay indicadores concretos, claros y medibles de que las decisiones correctas son cuando el cálculo no toma más de dos milisegundos y se realiza en N subprocesos. Definitivamente conoce estos parámetros, si encaja en ellos, todo está bien.

Por supuesto, no existe tal cosa en el trabajo del CEO. Por lo general, no hay cosas claras y formalizadas en este mundo, aunque rodea a su negocio con indicadores mensurables específicos. Todo el tiempo necesitas pensar en cómo hacerlo mejor, o puede ser completamente diferente. No hay reglas claras tampoco. Pero este es su propio encanto.



F: ¿Crees que la experiencia del desarrollador te ayuda a administrar?

Estoy seguro que si. No creo que en el futuro haya muchas empresas de tecnología que se construyan sin comprender el contexto de desarrollo en el jefe del gerente general. Es difícil para mí imaginar cómo puede ser esto. Estoy seguro de que al menos una persona debe tener una formación técnica para que la empresa de tecnología se apresure con la velocidad del tren, que ahora es mínimamente necesaria para sobrevivir. No diría que esta es la única forma, pero probablemente una de las más evolutivamente correctas.

¿Realizas una revisión tú mismo?

Bueno, eso no. En un gran proyecto PW, sí, había otros procesos allí, no como el nuestro. Allí, por supuesto, todo el código se veía para que todo estuviera en un solo estándar. PW era de tal escala que uno podría olvidar que una parte se usa en otro lugar. Incluso probar localmente fue difícil, cuán grande fue el proyecto. Por lo tanto, la revisión del código tenía buenos estándares.

Y aquí los chicos miran el código del otro, pero principalmente durante la integración, cuando recopilamos todas las características en un solo brunch. No vi en gamedev que cuando tienes 5-6 programadores, hay grandes procesos de revisión de código. Muy a menudo, esto no es particularmente necesario, el producto es primario y el período de soporte no es de decenas de años.

F: ¿Hay algún enfoque consolidado para el desarrollo? ¿Está impuesto?

Hay un estilo de código estándar y conceptos básicos de qué combinar, reglas arquitectónicas. Hay un marco de proyecto en el que siempre trabajamos. Ha sido probado por el tiempo, y sabemos con certeza que no nos permitirá dispararnos en el pie (al menos desde una escopeta). Hay un conjunto básico de módulos que viajan de un proyecto a otro. Algunos se escribieron hace mucho tiempo, algunos recientemente. Debido a la gran reutilización de los estándares arquitectónicos, debido a la observancia del estilo de código, no nos deslizamos en absoluto hacia el abismo.

F: ¿Participas en la contratación de nuevos empleados?
Si por supuesto.

F: ¿Todos?
Todos.

Probablemente no seas una gran empresa, ¿verdad?

Bueno, sí, no muy grande, no miles de personas. Por lo tanto, gracias a Dios, al menos una vez, pero con cada nuevo empleado en la etapa de entrevista de 10 minutos, hablaré sobre cómo una persona se relaciona con la industria del juego y lo que juega. Solo para entender.

F: ¿Pero usted mismo no entrevistará a los desarrolladores como desarrolladores?

Sabes, de alguna manera soy muy afortunado. Así que creo que los muchachos que se dedican al software bancario no tienen una prerrogativa y una suerte tan buenas como la nuestra. Toda nuestra industria de habla rusa es pequeña. Y cuando trabajes en él durante varios años, harás amigos y conocerás gente. Para casi cualquier empleado, si este no es un estudiante, siempre hay algún tipo de recomendación, una comprensión aproximada de lo que está haciendo en la producción.

Pero si necesitaba contratar a cien personas en una semana, entonces, por supuesto, no podría hacerlo. No necesito contratar a este ritmo y, muy probablemente, cuando contrato personas, ya las conozco.

Gamedev vs desarrollo de negocios




F: ¿Y hay casos en que personas de otras industrias se mudan?

Sucede, pero no muy a menudo. En gamedev, el historial suele ser así: a la gente le gusta hacer juegos en la infancia y luego continuar.

Hubo varias entrevistas históricas cuando las personas fueron tomadas de los bancos. En la etapa de la entrevista, estuvimos de acuerdo, parecía que les gustaba, son como "aquí, trabajo en el banco, pago mucho, pero realmente no me gusta". Me gustaría hacer lo que el alma miente. Y el alma yace en los juegos.

Te gusta, le gustas, negocia, hace una oferta y la persona desaparece. A veces preguntas "cómo estás" y te dicen: "aquí vengo para dejar de fumar, el jefe me pregunta a dónde voy". Yo digo aquí. Y él, bueno, vamos a aumentar su salario, y no irá a ninguna parte ". Muy a menudo, las personas sucumbieron a la motivación monetaria adicional y permanecieron en sus industrias.

Pero, por supuesto, hubo otros casos. Muy buena gente provenía de diversas industrias, incluido el software bancario.

Sí, recuerdo que contó esta historia en un podcast: un programador de un banco dice "Quiero ser creativo", un número está escrito en una hoja de papel y él permanece. ¿Has tenido esos trozos de papel en tu vida?

Sí, como todos los demás, las ofertas vienen constantemente desde diferentes ángulos. Sabes, nunca los miro realmente. Es genial, por supuesto, que estén llamando a otro lugar. Pero esto no es lo que me gustaría construir en la vida.

F: Dicen que en la banca, en los negocios, la calidad del código es mayor que en el desarrollo de juegos.

Creo que sería bueno para mí poner un oponente que trabajara tanto en software bancario como en desarrollo de juegos. Pero desde el punto de vista de la parte teórica, creo, en las situaciones de desarrollo de juegos ocurren muy a menudo cuando un proyecto vuela repentinamente.

Por ejemplo, la compañía Kefir maravillosa tiene el juego The Last Day on Earth. Hecho seguramente de alta calidad y excelente. Y ella voló muy rápido, se hizo muy popular. Creo que lo último que tiene suficientes manos para cuando comience a despegar de esta manera es analizar la calidad del código.

Todo el proceso de mantener la limpieza en un proyecto depende principalmente de la conciencia de los desarrolladores, los desarrolladores senior, que en cualquier etapa del proyecto observan los buenos modales y mantienen todo bajo control. Porque la etapa "la terminaremos, luego la peinaremos" nunca llega.

F: Yo mismo trabajé mucho en el desarrollo de negocios, hemos construido la calidad del código en un culto. , — . , (, ). , , . — .

Aquí, por supuesto, el producto y sus indicadores son primarios. A veces hay situaciones similares a las que usted describe. Supongamos que estamos haciendo un proyecto conocido como IP, sabemos cuál es su futuro. Con cierta precisión, podemos predecir que será compatible durante 15 años. Obviamente, tenemos inmediatamente un valor comercial en que su soporte no aumenta todos los años. Para hacer esto, debe estar bien documentado y escrito claramente para el nuevo programador. Pero hay pocos proyectos de este tipo que se respalden durante 15 años, específicos de la industria. ¿Cuánto cuesta World of Warcraft? A tiempo por 15 años será pronto. Teóricamente sí. Pero creo que hace 15 años, los desarrolladores de Blizzard tenían prisa por terminar el producto y no todo se hizo a la perfección.

F: Se parece más a esto que en los proyectos de juegos, inicialmente no puedes imaginar cuánto tiempo dura, a diferencia de los proyectos empresariales.

Por supuesto

F: En los negocios, de manera predeterminada crean un código que debe ser compatible durante 15 años, y usted no lo hace, ¿verdad?

No siempre la tarea clave del programador es crear un código que sea fácilmente compatible durante 15 años. Pero conocí proyectos muy limpios donde tanto las personas como el desarrollador central son muy responsables, les gusta todo.

Si le gusta controlar la limpieza, entonces el proyecto suele ser hermoso y bueno. Pero obviamente, las empresas no siempre requieren esta pureza; no siempre tienen una correlación con el éxito del producto.

Al mismo tiempo, es bastante difícil para mí imaginar una situación en la que creamos software bancario y no sabemos si volará o no. Industrias muy diferentes.

Cómo hacer juegos para ti y para el público




Al mirar los juegos de luden.io, me parece que están hechos como para mí. En general, no confiar en las cosas que la gente de negocios suele decir, sin depender de un público específico.

Esta es siempre una pregunta doble. Imagine que hacemos software que resuelve un problema específico del usuario. Vamos a este usuario y le preguntamos "¿cuál es el problema?" Entendemos, encontramos, consideramos la economía: es una persona dispuesta a pagar por resolver este problema. Creamos un producto que resuelve este problema.

El juego también puede considerarse como un software que resuelve el problema del jugador. Quiere divertirse o, como en nuestro caso, aprender algo. Pero aquí no es que duela, tomé el software, dejó de doler. El usuario quiere jugar algo conmovedor y agradable. Es necesario que una persona tenga química con el juego. Debe hacerse amigo de ella. Si hubiera una forma de estudiar la mecánica de la formación de esta química con un jugador, así como estudiar un problema en la esfera de los negocios, entonces probablemente no sería importante hacer juegos para usted.

Si decimos que no podemos llevar a cabo esta investigación con suficiente detalle, entonces la única forma de descubrir que el juego realmente se hace amigo del usuario es ser ese usuario. Si el juego nos parece excelente, hermoso e interesante, entonces podemos plantear la hipótesis de que hay más de uno como nosotros, que esas personas todavía existen, y que también les gustará.

Pero aquí hay una línea muy fina. Debe poder ver el producto como si fuera usted mismo, pero con ojos ligeramente diferentes. ¿Cómo percibirá una persona que no ha jugado durante 5 años? ¿Y la persona que ahora juega solo en Destiny? Como verá el hombre que pasó mil horas en el búnker. Eso es todo, pero con la chispa que debes jugar tú mismo, esta es una motivación empresarial.

Y la motivación lírica es simple: lleva mucho tiempo hacer un juego, y al final del desarrollo, cualquier juego tendrá una sensación cercana al odio. Ya la has visto tanto, está tan cansada de ti. Y si todavía no te gusta, entonces cómo beberlo, al final dejarás ir tus manos. No hay otra manera que hacer un juego que te guste. De lo contrario, no llegará al final con buena motivación, se cansará demasiado.

Bueno, ¿estás de acuerdo en que tus juegos siguen siendo nicho?

Por supuesto!Esta es la principal ventaja de lo que hacemos. Realmente queremos ser nicho. No intentes entretener a hombres de 20 a 40 años, todo el mundo de estos hombres entretiene.

Queremos que los juegos transmitan un nuevo tema a una persona, le digan algo, sean un compañero útil en su vida. Este nicho definitivamente no es tan amplio como los juegos de fútbol, ​​donde hay una audiencia mucho mayor. Pero no apuntamos en esa dirección.

¿Es rentable trabajar en este principio?

Creo que esto es rentable (bueno, en nuestro ejemplo), pero requiere una acumulación del mercado. Durante cuatro años hemos llegado a un punto en que nos dimos cuenta de qué géneros, en qué formato y cómo presentarlos, para que fuera rentable. Lo hacemos, pero no dice que este sea el punto de la mayor ganancia que se puede extraer de este nicho.

Solo ahora hemos adquirido una comprensión de cómo trabajar con este mercado, cómo crearlo. Está poco desarrollado. Ahora, en otros 10-15 años, tenemos que convertirlo en algo más abierto para otros desarrolladores que también comparten nuestros objetivos: que los juegos deberían ser útiles.

Nuestra tarea es asegurarnos de que después de 20 años, con la ayuda de los juegos, las personas aprendan y hagan lo que les brinde placer, sean relevantes en ese mundo del futuro y en que sean lo más efectivas posible. Luego, las universidades y las escuelas pueden dedicarse exclusivamente a actividades de investigación.

En general, una línea común es visible entre los juegos, sus clases: gamesjam, conferencias, parece que todavía enseña ...

Muy raramente. 10 horas al año, en el mejor de los casos.

¿Por qué hay tanto interés en la educación, la enseñanza?

Hay algo de belleza en ayudar a los especialistas más jóvenes a ser mucho más geniales y felices que nosotros, la experiencia debería funcionar. Pero hay menos motivación visionaria. ¿Cuál es tu juego favorito? Ahora identificaremos directamente a alguien por género.

De todos ellos?

De todos. Cualquier año Bueno, de repente, todavía recuerdas algo.

Vamos, Mass Effect.

Ok, Mass Effect es bueno, a mí también me gusta. Y el segundo de los nuestros ...

F: Gótico, probablemente.

Maldición, bueno, el gótico también es hermoso. Ahora me preguntaba si debería nombrarlos. También amo mucho el gótico, y me gusta el Mass Effect, pero soy un fanático loco del género de simuladores y taikuns. Mini Metro, en general, considero un logro brillante del arte moderno de los juegos. ¿No jugaste?


Sí, sí, la vi.

Si dibujamos un paralelo con el arte, entonces esta es una "forma cero" como la de Malevich, cuando una enorme capa de un sistema profundo se alimenta con un mínimo esfuerzo.

Los taikuns y los simuladores son un modelo de dominio en el que interactivamente hacemos algo y vemos las consecuencias. Los juegos, si miras más profundamente, son exactamente la forma de ganar experiencia sin riesgo. Es decir, el juego es la forma más natural de entrenamiento. Aquí tenemos una empresa llamada Luden.io. Si se descompone, Ludus del latín se traduce de dos maneras: un juego y una escuela. Cerca del coliseo hay tales ruinas, se llaman Ludus Magnus. Este es el lugar donde los gladiadores estudiaron, jugaron allí, pelearon y se prepararon para las batallas en la arena.

Y aquí hay simuladores, taikuns, solo diseñados para brindar experiencia en áreas donde es demasiado difícil o demasiado costoso obtenerlo, o no es posible llegar al planeta Tierra. Preparar a una persona para una situación que enfrentará en el futuro, ensayarla.

La educación, que tenía el formato hace 20-30 años, se volvió poco practicada. El niño tiene un teléfono en sus manos, tiene YouTube, Twitch, algún tipo de juego, y todo esto es mucho más interesante que leer un libro abstruso y no emocionantemente escrito.
Si combinamos estas formas: jugar y aprender, ganaremos desde todos los lados.

¿Qué pasó con la realidad virtual?




Sobre el mismo principio, ¿los primeros proyectos tuvieron una idea para enfocarse en la realidad virtual?

Con la realidad virtual, un tema interesante ... cuando comenzamos, recién comenzó. La realidad virtual, por supuesto, escala las fortalezas de los juegos: la experiencia sin riesgos agrega el efecto de la presencia. El cerebro cree aún más que esto realmente está sucediendo, aunque esto es solo un ensayo adicional. Pero el mercado está experimentando algunas dificultades con la tasa de crecimiento ahora. No pudimos encontrar el formato VR que a todos les gustaría tener en casa.

Por lo tanto, decidimos que continuaremos avanzando hacia nuestro objetivo, pero VR ... Hemos lanzado proyectos en todas las plataformas. Además, tenemos en producción proyectos de realidad virtual que se integran en las escuelas. Si algo se mueve en una de las plataformas, y será una realidad virtual que ayudará a producir juegos útiles, entonces seguramente fortaleceremos nuestra presencia allí. Mientras tanto, tenemos muchos jugadores allí, todos están felices y felices, pero mientras es Verdadero: aprender (), sin realidad virtual.

Después del E3, esta imagen acaba de publicarse en Internet, que hay menos referencias a la realidad virtual en la prensa que antes.

Bueno, desafortunadamente sí.

¿Qué crees que pasó?

¿Quieres comprar un casco de realidad virtual para ti?

No

Bueno aqui. Esto es lo que pasó. La gente no quiere. Entonces, tan pronto como te despiertes y te des cuenta de que quieres VR para ti, entonces el punto de inflexión está cerca.

¿Por qué no quieren? Después de todo, todo fue genial. Cuando apareció, todos estaban encantados, todos dijeron que en 5-10 años estará en todas partes, generalmente nos mudaremos para vivir.

No puede escuchar ninguna respuesta analítica compleja de hombres de negocios, solo respuestas personalizadas. El Cliente responderá esta pregunta en un lenguaje simple mucho mejor. Por lo tanto, muchachos, si no quieren un casco para su hogar, su motivación describirá la situación mucho mejor que todas mis conclusiones comerciales abstrusas.

Esto siempre sucede: si el juego no está a la venta, ve a la parada del juego y pregúntale a la persona que no lo compró. Explicará mucho mejor que todos los vendedores juntos.

Creo que hay un problema de pollo y huevos. Se puede comprar un casco en casa, pero surge la pregunta de qué hacer con él. Y el que produce el contenido para este casco, piensa lo que produciré para él, si no hay gente allí, detendré el desarrollo por dinero. Este problema aún no ha encontrado el equilibrio en el mercado de realidad virtual.

Pero han aparecido segmentos, y creo que se fortalecerán. Primero, mercados estrechos, luego se sacará un mercado cada vez más grande. Al igual que la formación de consolas en los años 80 y 90, la formación de realidad virtual puede suceder. Pero durante tres años no tuvo éxito, no despegó a la escala de los teléfonos móviles.

Es decir, ¿crees que despegará, justo después?

La pregunta es en qué formato. Será difícil predecir si será un dispositivo universal que permita que se realicen tanto AR como VR, o dispositivos separados.

Mi opinión personal es que ocupará un nicho especializado, como, por ejemplo, las tabletas de hoy. Muchas personas tienen casas en casa, pero pocas compran casas nuevas. Y aún están resolviendo algún problema. Con VR, puede ser lo mismo. Definitivamente ocupará algún segmento en el mercado. La única pregunta es el tamaño de este segmento.

Parece que hay un uso excelente, me dijo Sergei Galenkin. Una persona compró un casco para ver una película porque tiene cuatro hijos. El caso de uso es inmediatamente claro.

¿Fue difícil trabajar con la realidad virtual? Técnicamente

Con la realidad virtual, existen grandes problemas con el rendimiento, y los requisitos de la plataforma a menudo son compatibles. Ahora estamos con nuestro viejo juego, VRobot, en Playstation VR. Allí, por ejemplo, es necesario mantener 60 fps estables. En Oculus (incluido el móvil) debe admitir 75 fps. Incluso si en ciertos momentos cae en 20-30 cuadros, eso es todo. Tienes que optimizar el juego para que no se caiga.

Pero tenemos un equipo muy fuerte en términos de optimización de gráficos de bajo nivel. Tenemos a Nikita, que es súper profesional en esto.

F: ¿Entonces tienes un tipo separado para optimizaciones?

Bueno, no solo hace esto, sino que es su habilidad principal. Todavía están trabajando junto con Dima, que puede ensamblar cualquier escena 3D a los indicadores de rendimiento deseados. Por lo tanto, con ellos todo estuvo bien y maravilloso.

Sobre el aprendizaje automático en el desarrollo de juegos


Para aquellos que estén interesados ​​en el desarrollo de juegos y el aprendizaje automático, Oleg muestra una foto de Demis Hassabis para inspirarse. El prodigio del ajedrez, neurocientífico y fundador de DeepMind, también comenzó su carrera como desarrollador de juegos.

Programaba inteligencia artificial para Black & White de Peter Moulinje. Y luego, en su propia compañía, Elixir Studios lanzó, por ejemplo, el simulador del súper villano Bond Evil Genius.

Y solo entonces se convirtió en uno de los investigadores de IA más famosos del mundo.


Si bien True: learn () muestra tu experiencia real?

Sí, sí, todo está construido sobre eso. En la industria del juego, cómo: si comienzas a hacer algo, definitivamente debes tener una referencia, un punto de referencia en el que mirarás hacia atrás. Estamos haciendo la simulación, en la simulación hay muchas pequeñas cosas, estas pequeñas cosas necesitan un punto de referencia para no volar hacia algún tipo de abstracción.

Y si bien True: learn (), tomamos como referencia no otro proyecto, teníamos una realidad. Si está haciendo algo y no sabe cómo hacerlo, parezca en la vida real. La economía del juego es el alquiler de servidores informáticos. Si resuelve el problema de procesar una gran cantidad de datos, alquila un servidor, considera, alquila, deja de alquilar.

Queríamos mostrar en el juego una cronología del desarrollo del aprendizaje automático a partir de los años 50, desde el primer perceptrón y terminando con autos modernos sin conductor, todo tipo de redes de cápsulas, etc.

Establecimos todos estos puntos de referencia, Vanya recopiló especialmente una tabla de Google: los principales bloques de transición del aprendizaje automático, cómo cambió la industria, qué se introdujo como nuevo. Y con la ayuda de misiones, esto se sirve en ese orden.

En algunas versiones del juego, incluso teníamos un año especificado. Por varias razones, lo eliminamos, tal vez volveremos. Pero la persona sigue el camino: inicia el juego, realiza varias misiones con el perceptrón, gana algo de dinero con esto.

Cada año, algo era interesante. Fue refutado por el desarrollo futuro de la tecnología o, por el contrario, confirmado.



Puede hacer clic en cada bloque, ver cómo funciona en el juego, cómo funciona en la vida real.

Siempre hay dos enlaces, uno a un video de YouTube sobre este bloque, donde alguien habla de esto de manera fascinante. Y algún artículo para entender aún más profundamente, si quieres entender hasta los detalles de cómo funciona esto.

En un equipo, ¿la gente hacía aprendizaje automático antes?

Si mientras que True: learn () lo hicimos en paralelo con el lanzamiento de VRobot, por lo que nuestro equipo de realidad virtual se centró en la transferencia a Playstation. Y el nuevo equipo pequeño estaba formado por expertos en aprendizaje automático.

Y cuéntales sobre ellos, ¿qué tipo de equipo, en qué trabajaron antes?

Sí, de alguna manera lo han recogido. Cuando surgió la idea, elegí un equipo de amigos, amigos y estudiantes.

F: ¿Recogiste especialistas en ML?

Sí, pero allí tenemos a todos los jóvenes, ciertamente no tienen 20 años de experiencia en aprendizaje automático. Todos jugaron en Kaggle al menos varias veces, resolvieron algunos problemas. Muchos ya han pasado esto en el instituto.

F: E hicieron un juego. Pero el desarrollo de juegos no es aprendizaje automático, ¿verdad? Es decir, son fullstacks: los científicos y los desarrolladores de productos, todo en uno.

Bueno, ¿cómo respondes? Estas son personas que entienden el aprendizaje automático y entienden cómo funciona. Y desarrollan un juego en Unity, escriben código de juego, interfaces tipográficas, etc.

Solo para llegar a algún tipo de misiones y ponerlo todo en cronología, necesitas entender el contexto. Pero obviamente no iniciaron el cuaderno de ipython para cada búsqueda.

Tenemos una biblioteca especial allí que considera redes convolucionales y algunas cosas muy básicas sobre sharpe que funcionan en Unity. También lanzó nuestro juego de dibujo AIDraw. Allí, el jugador dibuja, y la red neuronal adivina lo que dibuja. Esta biblioteca calcula todo, y a su alrededor está vinculado todo un juego.

F: ML y el desarrollador del juego recientemente comenzaron a superponerse. Por ejemplo, tengo un juego con aprendizaje automático. ¿Qué pila es adecuada?

No he visto muchos proyectos que se crucen con el aprendizaje automático y el desarrollo de juegos, específicamente el uso de productos, por lo que algo sucede en el cliente del juego.
La unidad tiene su propio sistema de aprendizaje por refuerzo. Le permite hacer una pequeña cantidad de cosas, pero está integrado directamente en Unity, por lo que el umbral de entrada es bajo.

Hay varias bibliotecas, lo mismo que para otras áreas, además de marcos para redes neuronales.

En las tecnologías móviles, a menudo usan CoreML de Apple, que le permite calcular el dispositivo directamente en la GPU. Tomamos el modelo, lo entrenamos en el mismo TensorFlow o en Yandex CatBoost, lo empaquetamos en un archivo especial, y ahora ya se puede iniciar directamente en la GPU en un iPhone y nos devolveremos la predicción resultante.

Lo usamos, por ejemplo, en el juego ARrived con realidad aumentada, donde era necesario reconocer la imagen de las cámaras y decir lo que había en ellas.

Si no estamos hablando del uso del producto, no en el cliente del juego, todo es clásico allí. En los servidores, las personas manejan las tecnologías más comunes, que están en todo ML. Pero allí se usa para análisis o personalización de la oferta.
El famoso caso: intentaron predecir cuándo un jugador se caería de World of Tanks y qué hacer con esta información.

O para predecir el momento en que ofrecer al jugador algún tipo de oferta: compre dos caballos por el precio de uno. Comprará con una alta probabilidad y será feliz más tarde. Estas son cosas del servidor, y allí la pila no está limitada de ninguna manera.

¿Y puede la colección de dataset estar en el centro del diseño del juego?

Bueno, este es un concepto de mundo occidental. Quizás tenga derecho a la vida, pero no veo de inmediato qué tipo de conjunto de datos de las acciones de los jugadores puede ser útil.

Bueno, por ejemplo, estamos haciendo un juego contigo sobre conducir en un entorno urbano, estamos haciendo un modelo real de las carreteras de Moscú. Aquí vemos: muchos jugadores aquí constantemente chocan, aquí violan el modo de velocidad. Desde este conjunto de datos puede comprender dónde están los problemas.

¿Y si es un juego abstracto, no un simulador de dominio? Quizás el conjunto de datos ayudará a resolver los problemas de la empresa. Si ella hace juegos del mismo tipo, entonces el conjunto de datos del comportamiento de los jugadores en tales juegos puede ser útil para ellos. Pero por el bien de esto, se han creado proyectos separados, aún no me he reunido.

¿Fue eso un problema en AIDraw?

Ah, bueno, aquí está. Podríamos dejar esto si tuviéramos una escala 300 mil veces mayor. Google, por ejemplo, recopiló un conjunto de datos en un juego similar, hace algo con él. Pienso para fines de investigación. Aquí pueden ser una tarea.

F: Digamos que concebiste un juego que usará ML de alguna manera, y en el proceso de desarrollo entiendes que la forma en que lo concebiste no funcionará, pero resulta algo completamente diferente. ¿Alguna vez has tenido estos casos?

Por ejemplo, sabíamos que si bien True: learn () sería una gran actualización sobre los autos sin conductor. El jugador le enseñará a la máquina cómo conducir, andar alrededor de otros autos, cambiar de marcha, ceder gasolina, aplicar el freno.



Por lo general, en un desarrollador de juegos, el diseñador del juego escribe un dzdock; el contenido se produce en el dzdok (bueno, como en términos de requisitos técnicos en otras áreas). Pero con la máquina de escribir entendimos de inmediato: tendremos varias etapas, varias tecnologías. La genética aprenderá. El jugador comprenderá que la genética está estudiando, pero no es muy buena. Luego habrá refuerzo de diferentes tipos. El jugador comprenderá que cierto refuerzo para esta tarea es más efectivo.

Estas son cosas mal manejadas. Sabiendo que todo puede salir mal, primero escribimos una demo demo tecnológica: cruda, fea, incomprensible. Se lo dio a los diseñadores de juegos. Los diseñadores de juegos jugaron con ella, escribieron un dzdok, que terminaremos y puliremos.

Más precisamente, no solo gamedisaners, en nuestro Discord, una comunidad cerrada de amigos más cercanos, podemos darles una función en cualquier estado, jugarán y dirán lo que piensan. Ahora han estado jugando estos autos por más de dos semanas y contando.

¿Con los autos llegamos a qué? Inicialmente, indicamos qué entrada de datos usar para enseñar al automóvil cómo conducir, qué parámetros podemos cambiar (todo tipo de umbral, pérdida. En genética, por ejemplo, tamaño de generación, mutaciones). Y resultó algo no muy interactivo. Entra un hombre, cambia algunos parámetros, y luego se vuelve estúpido, observa cómo conduce el automóvil. Para los desarrolladores que están en contexto, esto es divertido. Y para una persona del exterior, de alguna manera no es interactiva.

F: ¿No siente su contribución?

Sí, no hay comentarios instantáneos. Por lo tanto, hemos cambiado ligeramente el diseño. El jugador conducirá. Como enseñarle a un auto, conducirlo usted mismo. Y ella repite después de ti, como le enseñaste.

Si un jugador se está reconstruyendo constantemente solo a la derecha, entonces la máquina no se puede reconstruir a la izquierda, porque no lo enseñó de esa manera. Inmediatamente se volvió interactivo. Entonces, algunas iteraciones más, y algo podría funcionar,

Es decir, estamos estableciendo que algo siempre puede salir mal con ML. Es casi imposible pensarlo de antemano en la etapa de diseño.

F: Es decir, ¿estás mintiendo sobre el hecho de que tienes que hacer un prototipo, ver cómo se comporta y esencialmente volver a hacerlo?

Por supuesto que si.

F: Pero esto no es estándar para el desarrollo. Esta característica es ML, ¿verdad?

Puedes decir que si. Porque en otras áreas y juegos podemos predecir aproximadamente. Este no es el primer año que hemos estado haciendo esto, por lo que entendemos lo que hará el jugador, qué tipo de emoción experimentará.

Nuestra base predictiva, que tenemos en cuenta, hace frente a esta tarea.
Pero ML todavía no está haciendo frente.

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


All Articles