
Hola Habr! Esta será la historia del camino espinoso de desarrollar una búsqueda en 2D en el escenario de los mundos de Howard Phillips Lovecraft, que está enmarcado en forma de cómic interactivo. Bueno, es decir, todo en el juego, desde los rompecabezas hasta la interfaz, es una tira cómica perfecta. Si está interesado en dicho concepto, le pido un corte, donde habrá más GIF, detalles técnicos y experiencia en la publicación en las principales plataformas.
Sobre el juego
Dibujo un poco, trato de dibujar, y este juego comenzó con ese dibujo. Micro cómic con un yate, un mar embravecido y un héroe mirando una misteriosa isla en el horizonte. Con decoración en el espíritu Lovecraftiano (bueno, ya sabes, pulpos, tentáculos y todo eso). Y también, con una referencia a otro maestro reconocido del género de terror.
¿Quién dirá cuál?
Y pensé: ¡pero un juego diseñado en un estilo de cómic es genial, pegadizo e inusual! Hay muy pocos juegos de este tipo. Puedo recordar tres. Por supuesto, esta es la legendaria "Comix Zone", el tirador "XIII" (decimotercero) y no todo el juego, sino el episodio en "What Remains of Edith Finch". Pero hacerlo solo / junto con un juego de plataformas o FPS-shooter, para un desarrollador independiente, un lujo inadmisible, demasiada animación, demasiado complicado, demasiado tiempo, y es probable que el juego no esté a la altura del lanzamiento. No, sé que hay personas que logran desarrollar un juego de plataformas durante 8 años (Owlboy) y, al mismo tiempo, no pierden la motivación. Sinceramente admiro y envidio un poco a esas personas, pero me temo que este no es mi caso. ¡Pero un juego de rompecabezas / apuntar y hacer clic es algo completamente diferente! Además, tengo experiencia en la creación de rompecabezas en 2D, algunos pueden recordarme como el autor de la serie de rompecabezas Mechanical Box. ¡Entonces está decidido! Escenario: obras de G.F. Lovecraft, género - apuntar y hacer clic, estilo visual - cómic.
Pero no quería hacer solo un cómic interactivo o un cuento visual. Quería que este proyecto se convirtiera más en un juego que en literatura. Y luego otro pasatiempo me ayudó: la historia de los videojuegos. Recordé que había leído recientemente sobre un juego de computadora basado en texto, cuya idea principal me parecía bastante inusual e interesante.
El juego se llamaba "Hunt the Wumpus". Este es un juego de texto clásico escrito por Gregory Yob en 1972. Como dice Wikipedia, este es el primer juego basado en texto de la historia, así como el primer juego de computadora de aventuras, que fue extremadamente popular en los años 70-80 del siglo pasado.

En resumen, la esencia del juego era la siguiente: el jugador ingresa al laberinto, que consta de 20 habitaciones numeradas, cada una de las cuales está conectada por pasillos con otras tres. Es decir, el mapa de tal laberinto es un gráfico cerrado. Sin embargo, no profundicemos en todo tipo de términos, de hecho, ¡todo es muy simple! Un monstruo peligroso vive en este laberinto: Vampus, la tarea del jugador, explorar el laberinto, encontrar y disparar a este monstruo.
Al comienzo del juego, el jugador se encuentra en una sala de laberintos aleatoria. En un movimiento, puede ir a una de las tres habitaciones vecinas o dispararle. En la sala, el jugador puede sentir una corriente de aire, un hedor desagradable o escuchar un ruido extraño. Draft dice que en una de las habitaciones vecinas, un pozo sin fondo, al caer, pierdes. Los murciélagos gigantes hacen ruido, si entras en la habitación con ellos, agarran al jugador y los transfieren a otra habitación de laberinto, seleccionada al azar. Bueno, el hedor significa que en una de las tres habitaciones vecinas está Vampus. Si un jugador termina en la misma habitación que él, el Vampus se lo come.
Por lo tanto, viajando a través del laberinto y recordando los signos de los peligros cercanos, puede hacerse una idea de su ubicación y dispararle a Vampus, sabiendo exactamente dónde está. De hecho, podemos citar como ejemplo otro juego más común con mecánicas similares. Este es el famoso Buscaminas. "Vampus Hunt", en general, es otra opción con varios tipos de "minas".

Al regresar a Lovecraft, nuestro héroe se dirige por mar a Nueva Inglaterra, pero, obviamente, sus planes no estaban destinados a hacerse realidad, ya que:
En el decimoséptimo día de viaje, una tormenta terrible como de la nada, que lleva al barco condenado cada vez más lejos en aguas desconocidas. La fragata se estrella y el personaje principal cobra vida en la arena de la bahía, rodeada de acantilados inexpugnables. Desde la única salida de la bahía, cortada justo en el acantilado, sopla con extraordinaria antigüedad ...
Esta es la entrada a las mazmorras del Templo de los Cultos sin Nombre, donde en las mejores tradiciones de Lovecraft el personaje principal no espera nada más que locura y muerte (¡en hasta seis versiones de los finales!). Las mazmorras son un laberinto del juego "Hunt the Wumpus", pero en lugar de Vampus, Dagon vive en el laberinto, el santo patrón de Deepwater. No puedes matarlo de inmediato, pero solo puedes lastimarlo; después de todo, ¡una de las deidades menores del panteón de los mitos de Cthulhu no es una broma! Y en el papel de los murciélagos gigantes aquí, los antiguos de los Antiguos - Shoggot - una masa de protoplasma sin forma con mil ojos, tentáculos y otras extremidades inimaginables. Puedes huir de Shoggot. El escape se implementa como un mini-juego en el que debes resolver acertijos simples durante un tiempo eligiendo una de las tres puertas. Mi improvisación sobre el tema de QTE (Quick Time Event) es una técnica bastante común en los videojuegos, cuando necesita realizar rápidamente ciertas acciones, presione ciertas teclas.
Además de tal variación en el tema Buscaminas, por supuesto, como meta-juego debería haber rompecabezas y otros minijuegos, todo lo que es inherente a las misiones clásicas. No inventé nada y decidí usar la vieja mecánica probada por el tiempo: "puntos", "elementos giratorios", "elegir una combinación" y similares. Naturalmente, todo debe estar perfectamente incluido en la configuración de Lovecraft. A continuación se muestra un GIF con un par de ejemplos.

Desarrollo
El primer prototipo en Unity lo armé bastante rápido, en aproximadamente una semana. Y dejé que me tiraran zapatillas, pero me di cuenta de una cosa simple: la Unidad no me conviene. Sí, un editor visual conveniente, sí, mucha información, debido a la popularidad del motor. Pero ... pasé la mayor parte del tiempo tratando de descubrir cómo ensamblar lo que necesito de los cubos existentes. En lugar de hacer y usar cubos de la "forma deseada". Bueno, algunas cosas me parecen extrañas (por un hábito, supongo). Por ejemplo, las coordenadas iniciales "conectadas" a la animación: si en una animación un objeto comienza a moverse desde la posición (0,0), cuando esta animación se aplica a un objeto, salta a (0,0) independientemente de su posición actual. Usted dice: ¡así que también era necesario descargar <nombre del complemento> de Asset Store! Tal vez ...
En general, elegí el marco más familiar y comprensible para mí: LibGDX. Este es un motor Java gratuito multiplataforma. En algún lugar escuché la opinión de que Unity se trata de un diseño rápido, y LibGDX se trata de una hermosa arquitectura, código. Es decir, LibGDX está más cerca de los programadores, y Unity de aquellos que, por el contrario, quieren menos código y más "acción". De las ventajas de LibGDX, también vale la pena señalar la ligereza y la velocidad, durante todo el tiempo de desarrollo no he encontrado problemas, que en algún lugar, algo se ralentiza. Bueno, el hecho de que esto sea Java para algunos puede ser un factor decisivo.
MENJ4-2R5ZJ-HD7AQTeniendo un prototipo a mano, comencé a buscar un artista, porque me di cuenta de que yo mismo no podía estirar ni la calidad requerida ni la cantidad de arte. En el foro gamedev.ru, un artista maravilloso, Sergey Kovalev, respondió a mi anuncio. Todos estos gifs geniales que ves aquí son su trabajo. Allí, también había un compositor: Maxim Grachev. Los gifs no transmiten sonido, por supuesto, pero todos los que jugaron el juego dicen que el sonido en el juego es muy atmosférico. Para cada uno de nuestro pequeño equipo, fue un proyecto de "tiempo libre". Por lo tanto, por cuánto tiempo, por cuánto tiempo, pero después de seis meses de fines de semana y noches después del trabajo, el juego llegó a su fin.
Publicar
Como se trata de Java, las compilaciones para diferentes plataformas se reducen esencialmente a proporcionar el mismo código con la plataforma JRE (Java Runtime Environment) requerida. Inmediatamente decidí lanzar el juego para todos los principales sistemas operativos: Windows, Mac, Linux, Android e iOS. No me detendré en las tiendas móviles en detalle, pero le contaré mejor sobre Steam. Además, esta es mi primera experiencia de colocar un juego en una tienda Valve.
Recientemente, cualquiera puede vender sus juegos en Steam, simplemente realice el procedimiento de registro y pague una tarifa de $ 100 (por cada juego). El registro lleva varios días, Steam supuestamente verifica los datos completados en el formulario de impuestos W-8BEN. No está muy claro por qué, de verdad. En otros casos, cuando tenía que completar este formulario, solo bastaban con fotocopias.
De una forma u otra, cuando llegas a Steamworks y la primera descarga proviene de la cantidad de botones, menús, elementos y subelementos, es hora de crear una página de juego. Aquí todo es estándar: capturas de pantalla, videos, un conjunto de arte promocional, descripciones en diferentes idiomas (si realizó la localización, por supuesto). La página debe ser moderada. En mi caso, todo fue rápido y casi sin problemas. La primera vez que la página fue rechazada, explicando que las imágenes promocionales deberían tener un nombre claramente legible para el juego, y cuando corrigí este comentario, la página fue aceptada.

Después de la aprobación, la página se vuelve visible para todos los usuarios, y el juego cae en la categoría "Próximamente". Puede recopilar y descargar la compilación. Te contaré un poco más sobre cómo sucede esto en el caso de LibGDX. Primero, debes hacer que el juego se ejecute en pantalla completa, para esto agregamos el siguiente código al DesktopLauncher:
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); config.vSyncEnabled = true; config.width = LwjglApplicationConfiguration.getDesktopDisplayMode().width; config.height = LwjglApplicationConfiguration.getDesktopDisplayMode().height; config.fullscreen = true;
En segundo lugar, necesitamos recopilar el paquete del archivo ejecutable (iniciador), nuestro archivo jar, que se ejecutará y la JVM para la plataforma deseada. Hay muchas herramientas para esto. Me centraría en dos: es una utilidad familiar,
Launch4J . Y
Packr , desarrollado por el equipo de LibGDX. Qué usar, una cuestión de gustos, personalmente Packr está más cerca de mí personalmente. Creamos el archivo de configuración y recopilamos la compilación en una línea, por ejemplo, en Linux (al menos automáticamente):
Ejemplo de configuración para Packr { "platform": "linux64", "jdk": "/Users/me/Documents/builds/jdk1.8.0_191-linux-x64.zip", "executable": "My-Game", "classpath": [ "desktop.jar" ], "output": "EFIBB-ZIY32-8Q569", "mainclass": "com.puzzle.comix.desktop.DesktopLauncher", "vmargs": [ "Xmx1G" ] }
A continuación, tenemos que descargar ensamblados en Steam, tengo tres de ellos: para Windows, Mac y Linux. La descripción de este proceso se encuentra en la documentación (en ruso), por lo tanto, simplemente enumeraré los puntos clave:
- En Steamworks, cree "Repositorios" para el sistema operativo respectivo. Creé "contenido de Windows", "contenido de Mac" y "contenido de Linux".
- En el mismo lugar, incluya estos "Repositorios" en los "Kits".
- Descargue el SDK de Steamworks; utilizándolo, se descarga en Steam.
- En los ejemplos de scripts de descarga, reemplace la aplicación y los ID de almacenamiento con los suyos. Prescribe la ruta local a los archivos del juego.
- Inicia el gestor de arranque. En mi caso (Mac OS), el comando se ve así:
bash ./steamcmd.sh +login "user" "password" +run_app_build ../scripts/app_build_xxxxxx.vdf +quit
Eso, de hecho, es todo. Recibí steamcmd tres veces con un error de servidor de 500, desde la cuarta vez que todo arrancó. Después de eso, enviamos la construcción del juego para moderación. Además de 4-5 días y puede hacer clic en el preciado botón verde "Publicar".
Sitios alternativos
Ahora, como los hongos después de la lluvia, aparecen tiendas alternativas de Steam: Discord, GOG, Green Man Gaming, etc. Todos están discutiendo activamente el anuncio de su propia plataforma de Epic Games (existe la esperanza de que puedan competir con Steam). Y quiero decir algunas palabras sobre itch.io. Si me preguntas, ¿cómo veo la tienda perfecta para un desarrollador? Contestaré sin dudarlo - itch.io. Entiendo que la tienda perfecta para el desarrollador y para el jugador son cosas ligeramente diferentes. En general, la picazón es una utopía. ¡Pero qué genial y simple se hace todo aquí! Mega-conveniente editor de páginas de juegos, todo es muy atento, rápido y moderno. ¡Sin acumular botones y acciones, solo un par de clics y su juego está disponible en todo el mundo!
El problema es uno, el mismo que el de todas las partes alternativas: una pequeña audiencia. Aparecí en la página principal simplemente escribiendo al creador de itch.io por correo (sí, es posible e incluso no es difícil). Y con esto en mente, el juego solo tenía ~ 200 páginas vistas por día y algunas ventas flojas.

¡Pero la pequeña comunidad que está aquí es muy amigable! Itch tiene esta característica: establece el precio mínimo, "obligatorio" del juego, y el comprador puede aumentarlo a voluntad, para apoyar al desarrollador. ¡Y esas ventas, por encima del precio establecido, son bastante comunes! A diferencia de Steam, donde la toxicidad y los comentarios "habrían comprado por 15 rublos", demasiado.
Sí, el juego es pequeño. Lo más probable es que si llega rápidamente al fondo y no se atasca en ningún rompecabezas, puede resolverlo en una hora. Entiendo que el juego no tiene oportunidad de ganar dinero serio. Por lo tanto, en Steam establecí el precio más honesto y económico de 99 rublos. Quizás, para cualquiera, esta cantidad no será significativa. Sin embargo, exigen un descuento del 50%, escriben alrededor de 15 rublos y, en general, "regalan de forma gratuita para promocionar el nombre del desarrollador" (para que no signifique). Sin embargo, estaba distraído. Es solo mi "dolor". Yo, como nadie, sé cuánto esfuerzo se ha puesto en esta hora condicional de juego y me duele, lo admito.
Comercialización
Te contaré sobre varias actividades que realicé para anunciar el juego de alguna manera. En primer lugar, Keymailer. Este servicio es bien conocido, pero no estará fuera de lugar para decirle cómo funciona. Usted registra el juego y carga algunas claves de Steam en el servicio para su distribución a los bloggers. Por otro lado, los bloggers están registrados en el servicio y pueden pedirte claves para revisar el juego. En teoría, eso suena bien. Pero esto es solo en teoría. Es una pena que no busqué en Google reseñas preliminares sobre Keymailer.
Este servicio es monetizado por desarrolladores, no tengo nada en contra, solo tenga en cuenta. En una suscripción gratuita, casi toda la funcionalidad está cortada. Lancé $ 50 en publicidad: el juego se muestra durante una semana en un lugar destacado Keymailer. Sí, hay muchas más solicitudes de claves de "bloggers". Pero, me parece que la idea de este servicio es despiadada, si lo piensas. Un canal más o menos grande no necesita atender solicitudes clave a través de Keymailer, tienen suficiente contenido y comprar nuevos productos no causa ninguna dificultad. Tal vez me equivoque, pero me pareció que Keymailer es utilizado principalmente por usuarios deshonestos para atraer claves gratuitas, para ellos mismos o para revenderlas.
Acepté solicitudes solo de canales con suscriptores (bueno, al menos 5-10 mil) y noticias "acreditadas" de Keymailer. Entregué 65 llaves, 47 de ellas están activadas, otras 18 todavía se están vendiendo en algún lugar, probablemente (por ejemplo, encontré mi juego en plati.ru). Como resultado, obtuve 6 (seis) videos de YouTube y un tweet. Con un par de docenas de vistas ... No repitas mis errores.
Pero no todo es tan triste. El envío antiguo de cartas de forma manual en YouTube demostró ser bastante bueno. Después de pasar la tarde y demostrarle a Google muchas veces que "no soy un robot", recolecté en YouTube unos 30 correos electrónicos de jugadores rusos adecuados. Los criterios de selección son simples: vi juegos independientes, no muchos suscriptores (pero no muchos, elegí entre 100 mil), no se especializa en juegos AAA, no se especializa en ningún juego en particular (Minecraft, Tanks).

Luego necesitas la letra correcta. Si mi memoria no me falla, leí estos consejos de Sergei Galenkin (no daré un enlace, una persona famosa en la industria del juego). En mi recuento gratuito, suenan así:
- La descripción más concisa del juego, no más de dos oraciones: "Un juego en el marco de las obras de Howard Phillips Lovecraft, que está enmarcado por completo en forma de un cómic interactivo".
- Que quieres "Sería genial si jugaras mi juego en el canal".
- Un interesante gif de hasta 2 MB directamente en el cuerpo de la carta (inserté un cofre que es más alto).
- Enlace de vapor y clave. En general, lo principal es breve y al grano.
¡Y quiero decir que la respuesta es bastante para mí! Hasta 4 canales publicaron videos sobre el juego e incluso un "millonario" respondió a la carta. ¡Esto en sí mismo es un logro! Dado que el juego está lejos de ser súper adecuado para la transmisión. Es cierto que un boletín similar sobre bloggers de habla inglesa, desafortunadamente, falló. Mi culpa es mi inglés imperfecto o no pude elegir los canales de destino correctos.
Conclusión
Uf! Es hora de hacer un balance. El tema se está haciendo más largo de lo que planeé. Resumamos lo financiero, o algo así. En Steam, vendimos alrededor de $ 1000, otros $ 70 - picazón (quiero donarlos para el desarrollo de la tienda), además de un par de cientos de dólares deben correr desde tiendas móviles. ¿Es este un buen resultado? Creo que no esta mal! Dado que en el mundo moderno casi no hay lugar para el indie si no eres una "estrella", por supuesto. Y soy el "promedio" habitual, debo admitir. Y aunque el juego resultó ser pequeño, es exactamente como lo imaginé. Y lo más importante, completo y completo. Entonces estoy satisfecho.
PD Perdón por la confusión en la historia, para construir textos claros y consistentes, siempre salí mal. Me complace informarle sobre los detalles que faltan en las respuestas a las preguntas. PPS Me encantan los huevos de Pascua y los secretos, por lo que tres claves de Steam para el juego están ocultas en este tema. Desmontar!