Alt: Ciudad en línea. Cómo creé sin ayuda "Gta Online" para dispositivos móviles. Parte 1

¿Es posible en su sano juicio hacer pivotar en un proyecto de este tipo en uno, y es necesario en absoluto? Alerta de spoiler: sí (publicación larga con fotos y videos).







Antecedentes



He estado desarrollando productos de software durante 6 años, comencé con el desarrollo de aplicaciones para iOS. Después de lanzar varias aplicaciones, que me reportaron un total de $ 500, decidí probarme en el desarrollo de sitios web y la configuración de publicidad. Trabajé en esta área durante 3 años y me di cuenta de que crear sitios web no es lo que me gustaría hacer en la vida.



Como me gustaban mucho los juegos desde niño, decidí considerar gamedev como un futuro nicho donde me gustaría probarme. Hice un juego gratuito en SpriteKit (el marco de Apple para crear juegos 2D), comencé a familiarizarme con las herramientas para el desarrollo de juegos. Decidí estudiar Unity en detalle, ya que me parecía la mejor opción para desarrollar juegos móviles. Lancé un juego simple en Unity en la AppStore y en Google Play, y naturalmente lo jugaron 3 personas y media. Esto realmente no me detuvo, ya que el objetivo de desarrollar este juego era principalmente familiarizarme con el proceso de desarrollo en Unity y lanzar el juego en Google Play. Estos objetivos se lograron, fue posible seguir adelante. Comencé a estudiar Unity más a fondo: de 3 a 4 horas al día tomaba constantemente cursos avanzados en desarrollo. Yo creo queque tuve suerte. Me encontré con un curso muy detallado y sensato sobre la creación de juegos de rol en Unity, y aprendí mucho, especialmente varias mejores prácticas.



En ese momento, encontré una vacante en una gran empresa de desarrollo de juegos para dispositivos móviles, decidí intentarlo. Trabajé allí durante 3-4 meses. Este fue mi primer trabajo contratado. Antes de eso, trabajó con bastante éxito solo para él. Después de cierto tiempo, me di cuenta de que no era mío. Debemos rendir homenaje: la empresa proporcionó la máxima comodidad para el trabajo. Y, en general, me llamó la atención lo genial que en nuestro país (vivo en Rusia, en una ciudad con una población de un millón) puede haber una actitud fría hacia los trabajadores. De ninguna manera quiero decir que otras empresas tengan una mala actitud, solo lo que observé es muy bueno.



En general, después de dejar el trabajo, me di cuenta de que quería intentar crear un juego realmente interesante y único (probablemente el término "juego único" no encaja del todo con el concepto de un juego analógico de GTA Online, pero hablaremos de eso más adelante). Desde la infancia, me encantó la serie GTA: jugué docenas de horas en GTA Vice City y GTA San Andreas, puse modificaciones, modifiqué los parámetros de los autos. Luego, después del lanzamiento de GTA IV, hizo lo mismo con ella. Luego GTA IV: Episodios de Liberty City, GTA V. Y, por supuesto, GTA Liberty City Stories, GTA Vice City Stories, GTA Chinatown Wars para PSP. También pasé muchas horas jugando a otros juegos similares: Saints Row, Godfather 2, etc. Eh, esos fueron buenos momentos ...



Entonces, me familiaricé con varios proyectos de Role Play basados ​​en GTA. Pero el conocimiento de ellos, lamentablemente, ya se realizó a través de YouTube, ya que el trabajo comenzó a tomar casi todo el tiempo, y encontrar 30 minutos al día para un video no es un problema. Creo que los proyectos de RP han creado un nicho muy interesante y, en general, han repensado GTA.



Los proyectos de RP crearon un nicho muy interesante y, en general, repensaron GTA


Como dije anteriormente, mi tiempo libre era cada vez menos, y quería jugar algo como GTA Online / GTA RP en mi teléfono, ya que hoy los teléfonos son realmente poderosos y, en teoría, algo como esto se puede implementar (por ejemplo, el mismo PUBG que funciona muy bien en casi cualquier dispositivo). Imagínense mi sorpresa cuando en la AppStore encontré literalmente 3 juegos que de alguna manera podrían atribuirse a “análogos de GTA Online”, e incluso esos son terribles. Así surgió la idea de crear el primer análogo de GTA Online para dispositivos basados ​​en iOS y Android.



ALT: Ciudad en línea







La jugabilidad en ALT: City Online es una mezcla del clásico GTA Online y sus modificaciones del juego de roles. Al principio del juego, aparece en el punto de partida (se supone que será una estación de tren o un aeropuerto). Tu tarea es encontrar un trabajo y empezar a ganar dinero y experiencia. A medida que gane experiencia, se le abrirán nuevas profesiones. La lista de profesiones será amplia y ahora estoy trabajando para que la jugabilidad de cada profesión sea lo más interesante posible. Luego, puede comprarse un apartamento, una motocicleta, luego una casa, un automóvil, un automóvil mejor; en general, todos los que jugaron GTA RP están familiarizados con esto. El truco del juego es que en una sesión, a diferencia del clásico GTA Online, habrá cientos de personas, puedes interactuar con todos: hablar, causar daño, cooperar, intercambiar cosas, vender cosas.







El juego podrá comprar armas, cambiar sus pieles. Además, la puesta a punto de vehículos estará disponible en el juego.



Pero la principal diferencia con los proyectos de RP es que ALT: City Online no tiene una consola clásica para este tipo de proyectos, no hay administradores, no hay necesidad de “jugar RP”. Puedes, pero no tienes que hacerlo.



El área del mapa en el juego es de unos 225 kilómetros cuadrados, pero alrededor de un tercio del área está cubierta por agua, por lo que el área "efectiva" es de aproximadamente 150-160 kilómetros cuadrados. Naturalmente, llenar un mundo tan grande con contenido solo es bastante difícil, por lo que el juego estará lleno de contenido en futuras actualizaciones.







Lo importante es que el juego funcionará no solo en los últimos dispositivos de gama alta. Por ejemplo, si hablamos de iOS, entonces el dispositivo mínimo soportado es iPhone 7. En general, el principal "cuello de botella" de la optimización del juego fue la opacidad del consumo de memoria en la plataforma iOS (este es un inconveniente conocido de Unity, con el que es poco lo que se puede hacer en este momento), debido a lo cual fue bastante difícil de optimizar el enorme mundo abierto para ejecutarlo en un dispositivo pequeño con 2GB de RAM.





¿Qué preguntas había que resolver?



En primer lugar, era necesario comprender en absoluto, ¿es posible implementar un juego móvil en línea en un gran mundo abierto en Unity? En consecuencia, se compró un simple generador de la ciudad para Unity, se compró un controlador de personajes, se descargaron modelos gratuitos de armas y un auto y se configuró de alguna manera el servidor cliente (el tema de implementar el multijugador se resolvió durante mucho tiempo, ya que no hay una solución oficial de Unity, y hay muchos frameworks, y son muy diferentes , Hablaré más sobre la arquitectura de red en un artículo técnico futuro). Un prototipo bastante jugable estuvo listo dos semanas después. Es decir, se lanzó un servidor de juegos de prueba en un servidor virtual, los clientes se instalaron en los teléfonos de los amigos. Conectamos, jugamos, todo funciona muy bien para el prototipo, todos están felices. Realizada una prueba de estrés, resultó que el servidor tiene al menos 100 jugadores.Para el juego, esto es un mínimo suficiente, pero en general, el objetivo es 600-1000 jugadores en el servidor (es decir, habrá tantos jugadores en la sesión al mismo tiempo). En general, quedó claro que Unity es muy adecuado para este proyecto.





Se eliminó la pregunta más importante, fue posible comenzar a escribir el documento de diseño. La primera versión del documento de diseño se escribió en una semana. Bastante detallado, debo decir. Más detalles sobre la base de diseño estarán en uno de los próximos artículos.



A continuación, ¿tenía que averiguar qué hacer con los modelos 3D? Y realmente necesitaban mucho: edificios, autos, accesorios diversos, ropa, armas. Y lo más importante, ¿cómo modelar el mundo mismo: paisaje (terreno), red de carreteras, ciudad? Escribí una lista detallada de todos los objetos que necesitaba. Pasé una semana buscando los modelos correctos de la lista y me di cuenta de que, en principio, todo lo que necesitas está en las tiendas de modelos 3D.



Voy a divagar: debe comprender que he estado trabajando en el proyecto desde diciembre a tiempo completo (10-12 horas al día, siete días a la semana), y gasté casi todos los fondos reservados durante los últimos años en la compra de varias herramientas y modelos 3D. Creo que esto eliminará muchas preguntas sobre por qué se dedicó “poco” tiempo a algunas etapas.



Todo lo que escribí anteriormente sucedió en el período comprendido entre diciembre del año pasado y febrero de este año. Comencé a trabajar en el proyecto en diciembre, es decir, en tres meses se probó un prototipo, se redactó un documento de diseño y se encontraron recursos para implementar la idea. La pregunta seguía siendo pequeña: hacerlo todo y unirlo todo.



Es importante al principio, incluso antes de escribir el documento de diseño, pensar en cómo se enterarán los jugadores de tu futuro juego. En mi humilde experiencia, la mejor estrategia de marketing es hacer un juego genial realmente único. Si el juego es realmente único y realmente genial, entonces no tienes ninguna opción para que falle. Sí, sé que mucha gente está dispuesta a discutir fuertemente con esta afirmación de que es necesario invertir mucho dinero en el juego para que se active, etc. Diré una cosa: yo también lo pensaba. Pero hubo circunstancias que me demostraron que si el juego es genial, se disparará sin presupuestos de marketing, y si el juego apesta, ningún presupuesto lo salvará. Por eso, mi principal plan de marketing era realizar un proyecto interesante y único.



El estado actual del proyecto



Por el momento, he estado trabajando en el juego por noveno mes. El proyecto está listo en un 85% para su lanzamiento alfa. El mapa ya se ha modelado por completo, se ha configurado el mundo abierto en los teléfonos, se ha trabajado en el renderizado (LOD, varios ajustes de gráficos, optimización de texturas, procesamiento por lotes dinámico, etc.), se ha configurado la arquitectura cliente-servidor y se ha optimizado el consumo de memoria.



Para la versión alfa, queda finalizar la mecánica básica, agregar trabajos, agregar contenido (autos, ropa), agregar UI y probarlo todo a fondo.





Capturas de pantalla



















Conclusión



Gracias por leer esta publicación hasta el final. Esta es mi primera experiencia escribiendo un artículo, por lo que estaré encantado de recibir comentarios. Este es el primer artículo de una serie dedicada al inminente lanzamiento de ALT: City Online. El último artículo de esta serie será noticias sobre el lanzamiento del juego. Por lo tanto, escriba lo que le gustaría leer en publicaciones futuras.



Una gran solicitud para todos los interesados ​​en el proyecto: pronto comenzaremos las pruebas alfa abiertas en línea en Android e iOS, así que únase al grupo VKontakte para averiguar cuándo comenzarán las pruebas alfa. Así, ayudarás enormemente al desarrollo del proyecto. Naturalmente, todos los probadores tienen derecho a premios ricos en juegos inmediatamente después del lanzamiento del proyecto.



También suscríbase a Twitter, allí se publicarán noticias, así como fotos y videos actuales sobre el desarrollo: @AltCityOnline



También puede dejar su correo electrónico en el sitio web ALT: City Online . Recibirá una notificación cuando el juego esté disponible para descargar. ¡Todos los que dejaron su correo electrónico en el sitio también reciben una gran bonificación al iniciar el juego!



All Articles