Alt: Ville en ligne. Comment j'ai créé à moi seul "Gta Online" pour les appareils mobiles. Partie 1

Est-il possible dans leur bon esprit de se lancer dans un tel projet en un seul, et est-ce vraiment nécessaire? Alerte spoiler: oui (long post avec photos et vidéos).







Contexte



Je développe des produits logiciels depuis déjà 6 ans, j'ai commencé par développer des applications pour iOS. Après avoir publié plusieurs applications, qui ont rapporté environ 500 $ au total, j'ai décidé de m'essayer au développement de sites Web et à la configuration de la publicité. J'ai travaillé dans ce domaine pendant 3 ans, et j'ai réalisé que créer des sites Web n'est pas ce que j'aimerais faire dans la vie.



Comme j'aimais beaucoup les jeux depuis l'enfance, j'ai décidé de considérer gamedev comme une future niche où j'aimerais m'essayer moi-même. Fait un jeu gratuit sur SpriteKit (le cadre d'Apple pour la création de jeux 2D), a commencé à se familiariser avec les outils de développement de jeux. J'ai décidé d'étudier Unity en détail, car cela me semblait la meilleure option pour développer des jeux mobiles. J'ai sorti un jeu simple sur Unity dans l'AppStore et sur Google Play, et naturellement 3 personnes et demie y ont joué. Cela ne m'a pas vraiment arrêté, puisque le but du développement de ce jeu était principalement de se familiariser avec le processus de développement dans Unity et de lancer le jeu sur Google Play. Ces objectifs ont été atteints, il était possible de passer à autre chose. J'ai commencé à étudier Unity de manière plus approfondie: 3-4 heures par jour, je suivais constamment des cours avancés en développement. je penseque j'ai eu de la chance - je suis tombé sur un cours vraiment détaillé et sensé sur la création de RPG dans Unity, et beaucoup, en particulier les meilleures pratiques, j'en ai appris.



A cette époque, je suis tombé sur un poste vacant dans une grande société de développement de jeux mobiles, j'ai décidé de l'essayer. J'y ai travaillé pendant 3-4 mois. C'était mon premier travail de location. Avant cela, il ne travaillait avec succès que pour lui-même. Au bout d'un certain temps, j'ai réalisé que ce n'était pas le mien. Nous devons rendre hommage - l'entreprise a fourni le maximum de confort de travail. Et en général, j'ai été frappé de voir à quel point notre pays (je vis en Russie, dans une ville d'un million d'habitants) peut avoir une attitude cool envers les employés. Je ne veux en aucun cas dire que les autres entreprises ont une mauvaise attitude, ce que j'ai observé est très cool.



En général, après avoir quitté le travail, je me suis rendu compte que je voulais essayer de créer un jeu vraiment intéressant et unique (probablement le terme «jeu unique» ne correspond pas tout à fait au concept de jeu analogue à GTA Online, mais plus à ce sujet plus tard). Depuis l'enfance, j'ai adoré la série GTA - j'ai joué des dizaines d'heures d'affilée dans GTA Vice City et GTA San Andreas, mis des mods, déformé les paramètres des voitures. Puis après la sortie de GTA IV, il a fait de même avec elle. Puis GTA IV: épisodes de Liberty City, GTA V. Et bien sûr GTA Liberty City Stories, GTA Vice City Stories, GTA Chinatown Wars pour PSP. J'ai aussi passé beaucoup d'heures à jouer à d'autres jeux similaires - Saints Row, Godfather 2, etc. Eh, c'était de bons moments ...



Alors, je me suis familiarisé avec divers projets de jeux de rôle basés sur GTA. Mais malheureusement, leur connaissance a déjà eu lieu via YouTube, car le travail a commencé à prendre presque tout le temps, et trouver 30 minutes par jour pour une vidéo n'est pas un problème. Je pense que les projets RP ont créé un créneau très intéressant, et ont généralement repensé GTA.



Les projets RP ont créé un créneau très intéressant et ont généralement repensé GTA


Comme je l'ai dit ci-dessus, mon temps libre devenait de moins en moins, et je voulais jouer à quelque chose comme GTA Online / GTA RP sur mon téléphone - car aujourd'hui les téléphones sont vraiment puissants, et en théorie quelque chose comme ça peut être implémenté (par exemple, le même PUBG qui fonctionne très bien sur presque tous les appareils). Imaginez ma surprise lorsque dans l'AppStore j'ai trouvé littéralement 3 jeux qui pourraient être attribués d'une manière ou d'une autre à des «analogues de GTA Online», et même ceux-ci sont terribles. C'est ainsi que l'idée est venue de créer le premier analogue de GTA Online pour les appareils basés sur iOS et Android.



ALT: Ville en ligne







Le gameplay dans ALT: City Online est un mélange de GTA Online classique et de ses modifications de jeu de rôle. Au tout début du jeu, vous apparaissez au point de départ (on suppose que ce sera soit une gare, soit un aéroport). Votre tâche est de trouver un emploi et de commencer à gagner de l'argent et de l'expérience. En acquérant de l'expérience, vous découvrirez de nouveaux métiers. La liste des métiers sera large, et je travaille maintenant à rendre le gameplay de chaque métier le plus intéressant possible. Ensuite, vous pouvez vous acheter un appartement, une moto, puis une maison, une voiture, une meilleure voiture - en général, tous ceux qui ont joué à GTA RP le savent. L'astuce du jeu est que dans une session, contrairement au classique GTA Online, il y aura des centaines de personnes, vous pouvez interagir avec tout le monde - parler, causer des dommages, coopérer, échanger des choses, vendre des choses.







Le jeu pourra acheter des armes, changer leurs skins. En outre, le réglage du véhicule sera disponible dans le jeu.



Mais la principale différence avec les projets RP est que ALT: City Online n'a pas de console classique pour de tels projets, il n'y a pas d'administrateurs, il n'est pas nécessaire de «jouer à RP». Vous pouvez, mais vous n'êtes pas obligé.



La superficie de la carte dans le jeu est d'environ 225 kilomètres carrés, mais environ un tiers de la superficie est recouverte d'eau, de sorte que la zone «effective» est d'environ 150 à 160 kilomètres carrés. Naturellement, remplir un monde aussi vaste avec du contenu seul est déjà assez difficile, de sorte que le jeu sera rempli de contenu dans les futures mises à jour.







L'important est que le jeu ne fonctionnera pas seulement sur les derniers appareils haut de gamme. Par exemple, si nous parlons d'iOS, l'appareil minimum pris en charge est l'iPhone 7. En général, le principal «goulot d'étranglement» de l'optimisation du jeu était l'opacité de la consommation de mémoire sur la plate-forme iOS (il s'agit d'un inconvénient connu de Unity, avec lequel il y a peu de choses à faire pour le moment), en raison de ce qui était assez difficile d'optimiser l'énorme monde ouvert pour fonctionner sur un petit appareil avec 2 Go de RAM.





Quelles questions ont dû être résolues



Tout d'abord, il fallait comprendre du tout, est-il possible d'implémenter un jeu mobile en ligne dans un grand monde ouvert sur Unity? En conséquence, un simple générateur de ville pour Unity, un contrôleur de personnage a été acheté, des modèles d'armes gratuits et une voiture ont été téléchargés et le serveur client a été configuré d'une manière ou d'une autre (la question de la mise en œuvre du multijoueur était en cours de décision depuis longtemps, car il n'y a pas de solution officielle d'Unity, et il existe de nombreux frameworks, et ils sont très différents. , Je parlerai plus en détail de l'architecture réseau dans un prochain article technique.) Un prototype assez jouable était prêt deux semaines plus tard. Autrement dit, un serveur de jeu de test a été lancé sur un serveur virtuel, les clients ont été installés sur les téléphones d'amis. Nous nous sommes connectés, avons joué - tout fonctionne très bien pour le prototype, tout le monde est heureux. Réalisé un test de résistance, il s'est avéré que le serveur détient au moins 100 joueurs.Pour le jeu, c'est un minimum suffisant, mais en général, l'objectif est de 600-1000 joueurs sur le serveur (c'est-à-dire que de nombreux joueurs seront dans la session en même temps). En général, il est devenu clair que Unity convient parfaitement à ce projet.





La question la plus importante a été supprimée, il était possible de commencer à écrire le document de conception. La première version du document de conception a été rédigée en une semaine. Assez détaillé, je dois dire. Plus de détails sur le dock de conception seront dans l'un des articles suivants.



Ensuite, vous deviez savoir quoi faire avec les modèles 3D? Et ils avaient vraiment besoin de beaucoup - des bâtiments, des voitures, divers accessoires, des vêtements, des armes. Et surtout, comment modéliser le monde lui-même: paysage (terrain), réseau routier, ville? J'ai écrit une liste détaillée de tous les objets dont j'avais besoin. J'ai passé une semaine à chercher dans la liste les bons modèles et j'ai réalisé qu'en principe, tout ce dont vous avez besoin se trouve dans les magasins de modèles 3D.



Je vais faire une digression - vous devez comprendre que je travaille sur le projet depuis décembre à plein temps (10-12 heures par jour, sept jours par semaine), et que j'ai dépensé presque tous les fonds mis de côté ces dernières années pour l'achat de divers outils et modèles 3D. Je pense que cela supprimera de nombreuses questions sur la raison pour laquelle «peu» de temps a été consacré à certaines étapes.



Tout ce que j'ai écrit ci-dessus s'est passé entre décembre de l'année dernière et février de cette année. J'ai commencé à travailler sur le projet en décembre, c'est-à-dire qu'en trois mois, un prototype a été testé, un document de conception a été rédigé et des ressources ont été trouvées pour mettre en œuvre l'idée. La question restait petite: tout faire et tout mettre ensemble.



Il est important au tout début, avant même d'écrire un document de conception, de réfléchir à la manière dont les joueurs découvriront votre futur jeu. Dans mon humble expérience, la meilleure stratégie marketing est de créer un jeu cool vraiment unique. Si le jeu est vraiment unique et vraiment cool, vous n'avez aucune option pour que le jeu échoue. Oui, je sais que beaucoup sont prêts à argumenter fermement avec cette déclaration selon laquelle beaucoup d'argent doit être injecté dans le jeu pour qu'il tire, etc. Je vais dire une chose - je le pensais aussi. Mais il y avait des circonstances qui m'ont montré que si le jeu est cool, il tournera sans budgets marketing, et si le jeu est nul, aucun budget ne le sauvera. Par conséquent, mon principal plan marketing était de faire un projet intéressant et unique.



L'état actuel du projet



En ce moment, je travaille sur le jeu depuis le neuvième mois. Le projet est prêt à 85% pour la version alpha. La carte a déjà été entièrement modélisée, le monde ouvert a été mis en place sur les téléphones, un travail a été fait sur le rendu (LOD, divers paramètres graphiques, optimisation de texture, batching dynamique, etc.), l'architecture client-serveur a été configurée et la consommation de mémoire a été optimisée.



Pour la version alpha, il reste à finaliser les mécanismes de base, ajouter des œuvres, ajouter du contenu (voitures, vêtements), ajouter une interface utilisateur et tout tester à fond.





Captures d'écran



















Conclusion



Merci d'avoir lu ce post jusqu'au bout. C'est ma première expérience d'écriture d'un article, donc je serai heureux de recevoir des commentaires. Ceci est le premier article d'une série consacrée à la sortie imminente d'ALT: City Online. Le dernier article de cette série sera des nouvelles sur la sortie du jeu. Alors s'il vous plaît écrivez ce que vous aimeriez lire dans les prochains articles.



Une énorme demande à tous ceux qui sont intéressés par le projet: bientôt nous commencerons des tests alpha ouverts en ligne sur Android et iOS, alors rejoignez le groupe VKontakte pour savoir quand les tests alpha commenceront. Ainsi, vous contribuerez grandement au développement du projet. Tous les testeurs ont naturellement droit à de riches prix de jeu immédiatement après la sortie du projet.



Abonnez-vous également à Twitter, des nouvelles y seront publiées, ainsi que des photos et des vidéos actuelles sur le développement: @AltCityOnline



Vous pouvez également laisser votre email sur le site ALT: City Online . Il recevra une notification lorsque le jeu sera disponible au téléchargement. Tous ceux qui ont laissé leur email sur le site bénéficient également d'un gros bonus au démarrage du jeu!



All Articles