Desarrollo, optimización y lanzamiento de juegos Synthety en Unity.

imagen

Buen día a todos. Finalmente, mi juego móvil Synthety fue lanzado. Habr a menudo ahorraba con consejos y ayuda, y decidí compartir mi experiencia de desarrollo desde cero, resumiendo el camino realizado.

Un poco corto sobre todo.

Synthety es un juego de aventuras y misiones. El objetivo del juego es encontrar una salida de la ubicación actual a la siguiente. Para hacer esto, debe comunicarse con los personajes, interactuar con los objetos circundantes, resolver acertijos y más. Desde el comienzo del desarrollo hasta el lanzamiento del juego, volaron durante unos seis meses. El juego fue desarrollado en el motor de Unity en C #. En esta publicación, me gustaría compartir consejos y trucos en el desarrollo y lanzamiento del juego.

Contenido


  1. Desarrollo y optimización.
  2. Lanzamiento de Google y generación de ingresos.
  3. Otras acciones.

1. Desarrollo y optimización.


Divido los juegos móviles en 4 categorías. Juegos que matan el tiempo, juegos sociales, mmorpg (bueno, en cualquier caso, se llaman así) y juegos atmosféricos. Elegí el género de los juegos atmosféricos, que está más cerca del arte, y considero que los juegos son parte del arte. Puedes hacer juegos de este género de diferentes maneras, personalmente elegí las siguientes condiciones básicas para crear un juego para mí: un sentido del mundo vivo, los personajes y la trama. Esto requiere gráficos atmosféricos, diseño de nivel elaborado e interactividad con los objetos del mundo, y todo esto afecta la optimización del juego.

1.1 Optimización del juego


A diferencia de los hiperenfriamientos con un visual simple y una pequeña cantidad de objetos en el escenario, pero una gran cantidad de niveles (alrededor de 200-400), en mi juego el énfasis no está en la cantidad de niveles, sino en la calidad. Pero la calidad requiere optimización. Las principales herramientas de optimización que utilicé en Unity:

  • Lightmapping
  • Eliminación de oclusión
  • Mesh Baker
  • Otra optimización.

1.1.1 Mapeo de luz

Hay muchas publicaciones sobre cómo hornear la iluminación de Internet, pero no he visto valores específicos para los parámetros de horneado que al menos serían el punto de partida de la configuración. Por lo tanto, adjunto una pantalla de mis parámetros, que se probaron en tres máquinas (MacBook pro, Dell G17 y una computadora de escritorio).

imagen

El resultado de hornear es aproximadamente el mismo en todas partes. Como ejemplo de horneado de acuerdo con estos ajustes: de

imagen

hecho, desde aquí puede configurar el horneado de su escena cambiando solo tres parámetros para lograr sus objetivos:

  • Resolución de mapa de luz (mejor calidad, pero mayor tamaño de textura de horneado);
  • Contribución directa e indirecta (desde las fuentes de iluminación habrá más influencia de las fuentes de iluminación direccionales o no directas como PointLight o SpotLight);
  • Intensidad indirecta (Entorno Intensidad de luz en particular, incluso si tiene Gradiente, todavía tiene en cuenta solo el Color del cielo, es color Ambiental, si el parámetro Color está configurado)

1.1.2 Eliminación de oclusiones Aquí

todo es bastante simple. El objetivo principal de esta herramienta es reducir la cantidad de pruebas en la pantalla, los parámetros estándar de Unity son suficientes. Una disminución en el oclusor más pequeño y el agujero más pequeño conducirá a un aumento en el tamaño de los datos, pero no se observaron reducciones significativas de los tres. Consejo: si usa una cámara ortográfica, configure los planos de recorte para que los objetos que deben mostrarse, y no los que ni siquiera sean visibles, entren en la cámara.

1.1.3 MeshBaker Hornea

modelos en lotes en uno, reduciendo perfectamente las llamadas de extracción. Hay una buena herramienta gratuita. .

Puede hornear modelos en lotes de 64k tris (interrupciones de corte estático sobre 64k tris). Sin embargo, personalmente defiendo el uso de herramientas Unity puramente nativas para reducir el riesgo de falla de la aplicación en ciertos modelos de teléfonos.

1.1.4 Otra optimización

No recomiendo usar un shader estándar para dispositivos móviles. En particular, recomiendo usar material con un sombreador difuso en objetos de visibilidad secundaria. En general, creo que el sombreador ToonyShader es bastante barato, pero aceptable en términos visuales.

No use la sincronización vertical (Vsync), use en su lugar

Application.targetFrameRate=300;

El horneado solo funciona en objetos estáticos (estático), y recomiendo que todos los objetos dinámicos se iluminen con una fuente de luz direccional (o varias, pero dividiendo la máscara de eliminación en cada grupo de objetos para que cada objeto tenga su propia fuente de luz). Y también use el falso proyector de sombras. No utilice Spot y Point light en tiempo real. Para cambiar la iluminación de un objeto dinámico en el área de objetos horneados, use sondas de luz (hornee con iluminación).

imagen

imagen

2. Lanzamiento


Cómo publicar la aplicación en Google Play ya se ha escrito en muchos lugares, en particular
habr.com/en/company/livetyping/blog/326874

No hay nada terrible y complicado y cada paso se controla y si algo se hace mal, se genera un error con una explicación de lo que se ha hecho mal (y, además, cada elemento tiene un enlace al certificado).

Soy un desarrollador de Bielorrusia en Minsk. En Bielorrusia, la única forma de recibir pagos de Google Play es mediante transferencia bancaria. Debe dirigirse al comité ejecutivo local de la ciudad con una solicitud de registro de un emprendedor individual (puede encontrar el formulario en el sitio web del comité ejecutivo de la ciudad, ya que no están obligados a dárselos, llénelos usted mismo antes del viaje). Allí, el mismo día, se le emitirá un certificado con UNP. Necesita este número de cuenta de pagador para abrir una cuenta bancaria en el IP (dentro de 20 días, le aconsejo que venga a la oficina de impuestos y solicite un sistema impositivo simplificado). En consecuencia, debe llamar al banco (los más baratos en mantenimiento son BPS Sberbank y Belgazprombank), declarar que desea abrir una cuenta corriente en moneda extranjera y moneda nacional en IP. El gerente le informará la fecha en que debe venir y firmar, y el mismo día se le darán los detalles de la cuenta.Google completa estos datos en la cuenta de desarrollador en "Configuración" / Configuración de pago / Método de generación de ingresos.

3. Acción adicional


Después del lanzamiento, su juego o aplicación aparecerá en una gran lista de las mismas aplicaciones en Google. Y también en la misma gran lista en la AppStore (donde voy a lanzar Synthety pronto). Se necesita promoción y publicidad. Para esto, personalmente uso y planeo en particular usar el tráfico de Facebook para este juego. Pero esta es una historia completamente diferente, si hay personas interesadas, haré una publicación por separado.

Estaré encantado de ayudar en PM y comentarios si alguien tiene preguntas, ya que en esta publicación el 10 por ciento de todo lo que el desarrollador tiene que lidiar. Estaré encantado de ayudar incluso al menos a una persona.

Gracias por su atención . Si está interesado, puede jugar el juego ahora mismo en Google Play a solicitud de Synthety.

All Articles