Développement, optimisation et sortie de jeux Synthety sur Unity

image

Bonne journée à tous. Enfin, mon jeu mobile Synthety est sorti. Habr a souvent économisé avec des conseils et de l'aide, et j'ai décidé de partager mon expérience de développement à partir de zéro, résumant le chemin parcouru.

Un peu court sur tout.

Synthety est un jeu d'aventure de quête. Le but du jeu est de trouver un moyen de sortir de l'emplacement actuel au suivant. Pour ce faire, vous devez communiquer avec les personnages, interagir avec les objets environnants, résoudre des énigmes et plus encore. Du début du développement à la sortie du jeu, ils ont volé pendant environ six mois. Le jeu a été développé sur le moteur Unity en C #. Dans cet article, je voudrais partager des trucs et astuces dans le développement et la sortie du jeu.

Contenu


  1. Développement et optimisation.
  2. Version de Google et génération de revenus.
  3. Actions supplémentaires.

1. Développement et optimisation


Je divise les jeux mobiles en 4 catégories. Jeux de Time Killer, jeux sociaux, mmorpg (enfin, en tout cas, ils s'appellent ainsi) et jeux atmosphériques. J'ai choisi le genre de jeux atmosphériques, qui est le plus proche de l'art, et je considère les jeux comme faisant partie de l'art. Vous pouvez créer des jeux de ce genre de différentes manières, j'ai personnellement choisi les conditions de base suivantes pour créer un jeu pour moi: un sens du monde vivant, des personnages et de l'intrigue. Cela nécessite des graphismes atmosphériques, une conception de niveau élaborée et une interactivité avec les objets du monde, et tout cela affecte l'optimisation du jeu.

1.1 Optimisation du jeu


Contrairement aux hypercools avec un visuel simple et un petit nombre d'objets sur la scène, mais un grand nombre de niveaux (environ 200-400), dans mon jeu, l'accent n'est pas mis sur le nombre de niveaux, mais sur la qualité. Mais la qualité nécessite une optimisation. Les principaux outils d'optimisation que j'ai utilisés dans Unity:

  • Cartographie lumineuse
  • Élimination par occlusion
  • Baker de maille
  • Autre optimisation.

1.1.1 Lightmapping

Il y a beaucoup de messages sur la cuisson de l'éclairage sur Internet, mais je n'ai pas vu de valeurs spécifiques pour les paramètres de cuisson qui seraient au moins le point de départ des réglages. Par conséquent, je joins un écran de mes paramètres, qui ont été testés sur trois machines (MacBook pro, Dell G17 et un ordinateur de bureau).

image

Le résultat de la cuisson est à peu près le même partout. À titre d'exemple de cuisson selon ces paramètres:

image

En fait, à partir d'ici, vous pouvez configurer la cuisson de votre scène en modifiant seulement trois paramètres pour atteindre vos objectifs:

  • Résolution Lightmap (meilleure qualité, mais taille de texture de cuisson plus grande);
  • Contribution directe et indirecte (à partir de quelles sources d'éclairage, il y aura plus d'influence des sources d'éclairage directionnelles ou non directes telles que PointLight ou SpotLight);
  • Intensité indirecte (Environnement Intensité lumineuse en particulier, même si vous avez Gradient, il ne prend toujours en compte que Sky Color, c'est Ambient color, si le paramètre Color est défini)

1.1.2 Élimination de l'occlusion

Tout est assez simple ici. Le but principal de cet outil est de réduire le nombre de tris dans l'écran, les paramètres Unity standard suffisent. Une diminution du plus petit Ocluder et du plus petit trou entraînera une augmentation de la taille des données, mais aucune réduction significative du trice n'a été observée. Conseil: si vous utilisez une caméra orthogonale, configurez les plans de détourage de sorte que les objets qui doivent être affichés, et non ceux qui ne sont même pas visibles, pénètrent dans la caméra.

1.1.3 MeshBaker Bakes

modèles en lots en un, réduisant parfaitement les appels. Il existe un bon outil gratuit. .

Vous pouvez faire cuire des modèles par lots de 64k tris (coupure statique sur 64k tris) Cependant, je préconise personnellement d'utiliser des outils Unity purement natifs pour réduire le risque d'échec d'application sur certains modèles de téléphones.

1.1.4 Autre optimisation

Je ne recommande pas d'utiliser un shader standard pour les appareils mobiles. En particulier, je recommande d'utiliser un matériau avec un shader diffus sur des objets de visibilité secondaire. En général, je pense que le shader ToonyShader est assez bon marché, mais acceptable en termes de visuels.

N'utilisez pas la synchronisation verticale (Vsync), utilisez plutôt

Application.targetFrameRate=300;

La cuisson ne fonctionne que sur les objets statiques (statique), et je recommande que tous les objets dynamiques soient éclairés avec une source de lumière directionnelle (ou plusieurs, mais en divisant le masque de réforme en chaque groupe d'objets afin que chaque objet ait sa propre source de lumière). Et utilisez également un faux projecteur d'ombres. N'utilisez pas la lumière Spot and Point en temps réel. Pour modifier l'éclairage d'un objet dynamique dans la zone d'objets cuits, utilisez des sondes lumineuses (cuisson avec éclairage).

image

image

2. Libération


Comment publier l'application sur Google Play a déjà été écrit à de nombreux endroits, en particulier
habr.com/en/company/livetyping/blog/326874

Il n'y a rien de mal à cela et chaque étape est contrôlée et si quelque chose est mal fait, une erreur est générée avec une explication de ce qui a été mal fait (et de plus, chaque article a un lien vers le certificat).

Je suis développeur biélorusse à Minsk. Au Bélarus, le seul moyen de recevoir des paiements de Google Play est par virement bancaire. Vous devez vous adresser au comité exécutif de la ville locale avec une demande d'enregistrement d'un entrepreneur individuel (vous pouvez trouver le formulaire sur le site Web du comité exécutif de la ville, car ils ne sont pas tenus de vous les remettre, remplissez-les vous-même avant le voyage). Le même jour, un certificat vous sera délivré par l'UNP. Vous avez besoin de ce numéro de compte payeur pour ouvrir un compte bancaire chez un entrepreneur individuel (dans les 20 jours, je vous conseille de vous présenter au bureau des impôts et de demander un système de taxation simplifié). En conséquence, vous devez alors appeler la banque (les moins chères en maintenance sont BPS Sberbank et Belgazprombank), déclarer que vous souhaitez ouvrir un compte courant en devises et en monnaie nationale sur IP. Le gestionnaire vous indiquera la date à laquelle vous devez venir signer et le même jour, vous recevrez les détails du compte.Ces informations sont renseignées par Google dans le compte développeur dans les "Paramètres" / Paramètres de paiement / Méthode de génération de revenus.

3. Action supplémentaire


Après la sortie, votre jeu ou application apparaîtra dans une énorme liste des mêmes applications sur Google. Et aussi dans la même grande liste sur l'AppStore (où je vais bientôt sortir Synthety). La promotion et la publicité sont nécessaires. Pour cela, j'utilise personnellement et prévois notamment d'utiliser le trafic Facebook pour ce jeu. Mais c'est une histoire complètement différente, s'il y a des gens qui sont intéressés, je ferai un post séparé.

Je serai heureux d'aider PM et commentaires si quelqu'un a des questions, car dans ce post, 10% de tout ce que le développeur doit gérer. Je serai heureux d'aider même au moins une personne.

Merci de votre attention . Si vous êtes intéressé, vous pouvez jouer au jeu dès maintenant sur Google Play à la demande de Synthety.

All Articles