Desarrollo del juego y defensa de un diploma o "Cómo maté a dos pájaros con un primer panqueque de piedra"

Proyecto de graduación


La creación de juegos y la educación superior generalmente se consideran cosas incompatibles, a menudo con bastante razón. Muchos desarrolladores independientes conocidos abandonaron la universidad. Hablaré de la experiencia opuesta. Sobre su proyecto bastante inusual y cómo logró combinar negocios con placer.

Estudié en la RSUH en informática aplicada y al mismo tiempo me dedicaba a mi hobby. Y así, cuando llegó el momento de elegir el tema del trabajo de calificación final, pensé: "¿Por qué pensar sobre su elección y escribir algún tipo de programa para zurdos cuando ya hay un proyecto prácticamente terminado: mi primer juego de rompecabezas".

Era el proceso científico describir el proceso de desarrollo y transmitir a los profesores y profesores asociados una idea muy abstracta del juego. No sin presentaciones: hice presentaciones, revisé videos, mostré un prototipo, informé al supervisor de que todavía estaba vivo y en el negocio. Pero debemos darles lo que les corresponde y agradecerles por apoyar la iniciativa no estándar.

Como resultado, el material obtenido durante el desarrollo fue suficiente para escribir un diploma único (0% de plagio) completamente de mi cabeza y mi experiencia.

Inicialmente, mi tema era "Desarrollar un videojuego lógico basado en principios geométricos". Más tarde (de acuerdo con los estándares ISO / IEC) la palabra "desarrollo" se reemplaza por "diseño", que es más consistente con el texto del trabajo.

Sobre el juego


Mi juego es un juego de rompecabezas combinatorio sin igual para Android.



Objetivo del juego: transformar una figura para que sea exactamente igual a la segunda.

El juego tiene tres modos.
En el "Modo de transformación" los formularios se cambian haciendo clic en los botones.



En el "Modo de rotación" se imitan los giros tridimensionales.



El sofisticado "Modo deportivo" combina los dos anteriores y está diseñado para jugar para un récord.



También hay una colección interactiva de figuras, que se repone a medida que avanza.

Antecedentes


El desarrollo del concepto del juego fue facilitado por mi larga pasión por construir figuras de muchos cubos. De los bocetos en los márgenes del cuaderno, llegué a formas más complejas. Dibujos recientes a mano alzada, estos fractales:



La habilidad de las imágenes de caras superpuestas y el pensamiento espacial entrenado sirvieron para crear nuevas figuras consistentes en triángulos. Así es como se veía el arte conceptual inicial en CorelDRAW (aún no en vista isométrica) y uno de los modelos 3D en Blender:



Más tarde, abandoné los gráficos 3D a favor de la animación vectorial en Anime Studio Pro. Basado en la jerarquía de formas y animaciones de transiciones entre ellas, se decidió hacer un rompecabezas.

La lógica


La lógica del juego está asociada con varias formas geométricas interesantes. Entonces, las trayectorias de los triángulos corren paralelas a los bordes del cuboctaedro imaginario en forma de estrella y a lo largo de las líneas rectas que atraviesan su centro y las intersecciones de los bordes.



Y los gráficos de la lógica del primer modo de juego (transformaciones) son hipercubos. Al principio, las configuraciones están interconectadas como vértices de un cubo de 2 cuadrados. Con cada pasada, se agrega un nuevo espacio de figuras. En el próximo comienzo, la lógica ya es un cubo 3D, luego un tesseract y, finalmente, un pentecto con una sección tesseract.



El modo de rotación tiene su propia lógica, gracias a la cual solo un par de animaciones de rotación para cada figura proporcionan visibilidad de rotación en cuatro direcciones y tres grados de despliegue.



Implementación


Entonces, te contaré un secreto sobre cómo implementé el software de diseño de juegos. Esto se puede formular de la siguiente manera: un sistema complejo es una implementación simple.

Una implementación simple significa el uso de juegos Construct 2 2D para diseñar un diseñador. En mi caso, usarlo, tener algunos de sus inconvenientes, sin embargo, ahorró tiempo y se concentró más en la creatividad.

Describí la "hiperlogía" descrita anteriormente como un bosque de árboles binarios completos y la implementé linealmente en el constructor usando eventos anidados. Para evitar conflictos entre acciones, introdujo variables de bloqueo.

Optimización


Dada la presencia de una gran cantidad de animaciones en el juego (alrededor de 500), la pregunta de optimización surgió bruscamente. No mencionaré una mejora específica del "código" en Construct 2, pero diré sobre una optimización más general del componente gráfico. Para minimizar el consumo de recursos del sistema, necesitábamos:

  • composición de sprites (debido a la simetría, las figuras se pueden cortar en pedazos y juntar a partir de copias de copias de sprites según el tipo de mosaico);
  • recortar los bordes vacíos de las imágenes (esto es significativo con una gran cantidad de imágenes);
  • animación inversa (en lugar de crear una animación separada con el orden inverso de los cuadros, es mejor invertir la existente);
  • reduciendo la velocidad de cuadros a 12 fps y reduciendo la resolución de los cuadros intermedios de la animación;
  • El uso de colores de 8 bits (tal profundidad de color es completamente invisible debido a las características de la paleta del juego).

Imágenes gratis: tesseract, pentect, cuboctaedro estrellado tomado de Wikipedia.

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


All Articles