Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual

Continuamos la serie de publicaciones sobre las mejores aplicaciones móviles de los egresados ​​de SAMSUNG IT SCHOOL.

Hoy, unas palabras de los jóvenes desarrolladores de Novosibirsk, ganadores del concurso de aplicaciones de realidad virtual “SCHOOL VR 360” en 2018, cuando eran estudiantes de primer año. Este concurso concluyó un proyecto especial para egresados ​​de “SAMSUNG IT SCHOOL”, donde enseñaron desarrollo en Unity3d para gafas de realidad virtual Samsung Gear VR. Todos los jugadores están familiarizados con el género Tower Defense: debes defender el territorio del avance de los enemigos construyendo torres. Los chicos decidieron tomar esta mecánica y crear su propio juego de realidad virtual basado en ella, pero al otro lado de las barricadas: aquí eres un piloto y tu objetivo es ayudar al escuadrón de tierra a llegar al final, luchando con las torres. bloqueando el camino. El juego está hecho en el estilo retro LowPoly: modelos tridimensionales con una pequeña cantidad de polígonos, como en los juegos de computadora antiguos. Debajo del corte hay una descripción del proceso de desarrollo, videos y capturas de pantalla del juego, y un enlace a las fuentes.

Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual
Que pasó al final

Siguiente

Brevemente sobre las condiciones del proyecto Samsung “SCHOOL VR 360”, en cuyo marco se desarrolló el juego AirAttack. Entonces, a los graduados de SAMSUNG IT SCHOOL se les ofreció:

  1. En 4 meses, realizar un programa de formación por tu cuenta, para lo cual se obtienen licencias de formación en especializaciones de 5 cursos en línea sobre desarrollo de realidad virtual
  2. Forma un equipo y desarrolla tu propio proyecto en 3 meses. Las consultas individuales de profesionales en el desarrollo de realidad virtual (la empresa “Fascinating Reality”) fueron útiles.
  3. En mayo, presente el proyecto a especialistas de Samsung, “Fascinating Reality” y otros miembros del jurado.

sobre la idea

Kirill Prokofiev, capitán del equipo:
Decidimos elegir un formato arcade que fuera familiar para todos, pero que al mismo tiempo se viera interesante en realidad virtual y se revelara desde un ángulo completamente diferente. Hay juegos de disparos arcade más que suficientes en las tiendas de aplicaciones de realidad virtual. Decidimos cruzar un juego de arcade aéreo con Tower Defense: los juegos en los que defiendes torres de aviones invasores no son jugados por nadie que no pase tiempo en el metro.

¿Alguna vez te has preguntado quién juega contra ti cuando mejoras las torres?

Vladimir Shperling, desarrollador:
Nuestra idea era crear una aplicación de juegos LowPoly, ya que este es el único estilo posible para una aplicación móvil de realidad virtual de esta escala. Desde el punto de vista del juego, decidimos no desarrollar temas ya existentes, como vagar por el espacio y atravesar laberintos de realidad virtual. Queríamos algo más.

Sobre experiencias previas y errores.

Vladimir Shperling, desarrollador:
Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtualCuando conocí la realidad virtual por primera vez un año antes, en 2016, el año en que me gradué de SAMSUNG IT SCHOOL, mi primer equipo estaba formado por solo dos personas. Decidimos crear un juego arcade de carreras, llamado Speed ​​​​Riders. Las responsabilidades se dividieron de la siguiente manera: uno era responsable del código del programa, arquitectura y adaptación de la aplicación para VR, y el segundo era responsable del concepto, diseño e integridad de la idea. Quizás este enfoque hubiera sido exitoso para implementar la aplicación en poco tiempo y por un equipo con mayor calificación, pero en ese momento no conocíamos los detalles del diseño de aplicaciones de realidad virtual y cometimos muchos errores.

Por ejemplo, intentamos implementar una interacción demasiado compleja entre el jugador y los objetos del mundo, mientras se hacía hincapié en el hecho de que cualquier movimiento del jugador podría provocar mareos o una disminución en la calidad del movimiento. Esto llevó a una interfaz increíblemente ocupada y manipulaciones complejas, como resultado, después del primer minuto del juego, el usuario quería quitarse las gafas y no regresar. Quedó claro que para corregirlo era necesario reconsiderar el concepto de todo el proyecto. ¡Y esto fue descubierto 2 semanas antes que la defensa!

Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual
Demostración del juego para todos en el concurso anual de proyectos Samsung

Además, surgieron problemas por la falta de visualización y automatización adicionales para la creación de niveles: dos programadores novatos tuvieron que crear niveles en 3 o 4 etapas. Trabajar juntos en git no funcionó para nosotros: Unity3D almacena escenas enteras y es imposible combinarlas más tarde: tuvimos que esperar hasta que uno de nosotros terminara de trabajar, luego el otro conectó sus partes... y así sucesivamente en un círculo. Más tarde, durante el desarrollo de AirAttack!, cuando teníamos muchas escenas, este problema se resolvió parcialmente trabajando cada uno de nosotros con diferentes escenas.

trabajando en el juego

Vladimir Shperling, desarrollador:
Un año después, decidí nuevamente participar en la Escuela VR 360 y Kirill y yo formamos equipo. Después de pasar varias horas con un papel y tazas de té, dividimos todo el proyecto en etapas y fijamos plazos:

  1. Creando el menú principal
  2. Implementación de nivel 1
  3. Pruebas y depuración inicial de defectos críticos.
  4. Optimización de la realidad virtual, corrección de errores, aumento de la funcionalidad (le dimos un papel muy importante a los detalles, porque nuestro objetivo es crear y optimizar, y no "pegarnos" mucho y mal) y posiblemente mejoras arquitectónicas.
  5. Añadiendo nuevos niveles
  6. Publicar una aplicación en Oculus Store
  7. Agregar multijugador
  8. Añadir materiales descargables (en forma de niveles, mejoras, nuevos barcos, etc.)

Durante el desarrollo, a pesar de un período de tiempo tan corto, intentamos discutir cada punto según el diagrama.

Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual

Se discutía cualquier idea y se emitía un veredicto: serlo o no. Todas las ideas aprobadas se dividieron en tareas y se implementaron. La etapa de prueba la realizamos nosotros mismos, con la ayuda de amigos y conocidos. Escuchamos sugerencias y comentarios, destacando especialmente los que causaban dificultades a quienes ingresaban por primera vez a nuestro juego, los cuales tuvieron que ser explicados durante la sesión. Discutimos nuevas características y comenzamos una nueva ronda de desarrollo.

Teníamos plazos estrictos: a veces teníamos que rechazar las ideas más interesantes cuando nos dábamos cuenta de que no tendríamos tiempo de implementarlas en el plazo previsto.

Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtualDada nuestra experiencia previa con Unity3D y el conocimiento de cómo se puede modificar para simplificar el desarrollo y la creación de niveles, dedicamos algún tiempo a crear "scripts de ayuda". Por ejemplo, mostrar el radio de destrucción de las torretas: ahora podemos controlar qué secciones del camino están cubiertas por torretas, qué secciones serán las más difíciles y cuáles permitirán al jugador tomar un descanso y recargar energías o recuperar el aliento. U otro script: mostrar la trayectoria de movimiento de las unidades y del jugador, para que podamos ver claramente si la trayectoria es correcta y corregirla si es necesario. En la imagen la línea está quebrada, pero la trayectoria se suaviza durante el movimiento.

Para la final de la competencia, planeamos implementar solo una parte de los planos, detenernos en la creación de 4 niveles y luego comenzar a implementar funcionalidades adicionales. Y todo estaría bien si no fuera por...

La esperanza de que todas las bibliotecas incluidas funcionaran perfectamente fue uno de los principales errores durante el desarrollo del juego. Tuvimos que modificar la biblioteca central de Oculus, lo que nos permitió utilizar plenamente las capacidades de GearVR, además todo se complicó debido a la documentación incompleta. Se analizó el rendimiento de cada biblioteca conectada al proyecto: se eliminó parte del código y los diseños improductivos se corrigieron por otros más simples. En algunos lugares se utilizaron variables de puntero "inseguras" para obtener el máximo rendimiento y el código se probó exhaustivamente para detectar pérdidas de memoria. Se utilizó un enfoque modular en el que todos los objetos son independientes y pueden eliminarse de la escena sin romper el código. Se probó cada nivel y, bajo "carga pesada", los cuadros por segundo no cayeron por debajo de 50 fps.

Kirill Prokofiev, capitán del equipo:
Nuestro equipo cumplió plenamente con los plazos establecidos: se escribieron alrededor de dos docenas de guiones, se crearon la interfaz de usuario del barco, la interfaz de usuario de dos menús y las instrucciones.

La versión final del menú de la interfaz de usuario.Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual
Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual
Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual

La aplicación es completamente funcional. Todos los modelos han sido cuidadosamente seleccionados y optimizados para reducir la cantidad total de polígonos en la escena. Se tomaron como base modelos confeccionados de dominio público con permiso de modificación.

Mientras trabajaba en AirAttack! Dedicamos mucho tiempo a UED (Diseño de experiencia de usuario o UX). Además de los elementos de la interfaz de usuario (el menú principal, el menú de salida de nivel, la interfaz de usuario del barco e incluso la interfaz de usuario de la torre (Life Lines), varios procesos van acompañados de efectos visuales y sonoros (por ejemplo, partículas de fuego o una sombra del cristal de un avión). Todo el juego se compone de modelos "Low-Poly", lo que no sólo mejora el rendimiento sino que también crea atmósfera.

Total

El juego recibió el título de "Mejor aplicación de juegos" en el concurso "VR 360 School" en 2018. El resultado de nuestros esfuerzos está en el vídeo a continuación.

Ver mas

Fuentes del juego: bitbucket.org/Vova_SH/air-attack

Autores:

Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual
Kirill Prokófiev
Diseñador de juegos
Capitán del equipo
prokyhouse@yandex.ru
Desarrollador, diseñador Swift, Java, C#
Ganador del campeonato de ciberseguridad
Ganador de la ronda regional del concurso de proyectos SAMSUNG IT SCHOOL en 2017

Juego ¡Ataque aéreo! — nuestra primera experiencia de desarrollo en realidad virtual
Vladimir Shperling
desarrollador de unidad
vladimir-shperling@yandex.ru
Desarrollador Kotlin, Java y C#
1er lugar en la final del concurso de proyectos “IT SCHOOL SAMSUNG” en 2016
2do lugar en el concurso “Escuela VR 360” 2017

Fuente: habr.com

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster