Développement d’un jeu mobile de combat sous Unity 6

FrostyBrawlerGo!

Choisissez des capacités qui changent la façon dont votre personnage combat.

J’étais le seul développeur Unity/C# de la version de Frosty Brawler Go! étudiée ici. J’ai conçu et écrit le code du jeu : un parcours de 60 jours dans le jeu, des combats automatiques au tour par tour et un choix entre trois capacités à chaque montée de niveau. Ces capacités ajoutent des attaques, modifient les attaques existantes ou améliorent les caractéristiques de combat du personnage.

Mon rôle et la contribution de l’équipe

J’ai programmé le jeu.
L’équipe a fourni les graphismes, le son et des idées de conception.

J’étais responsable de la programmation Unity/C#. L’équipe fournissait les graphismes, le son et des contributions à la conception du jeu.

Ma responsabilité

Fonctionnement du jeu et code complémentaire dans Unity

J’ai créé le parcours, les combats, les capacités, les attaques, les effets d’état, les ennemis et les interactions de l’interface. J’ai aussi développé un système réutilisable qui coordonne les animations des personnages avec le jeu, connecté les services du jeu, adapté le code pendant le développement et configuré les versions Android.

Contribution de l’équipe

Graphismes, son et contributions à la conception du jeu

L’équipe fournissait les éléments visuels, le son et des idées de conception. J’intégrais son travail dans le code du jeu Unity et maintenais ce code au fil du développement.

Comment le parcours avance

Une capacité fonctionnelle peut changer le prochain combat.

Les événements du parcours, les combats automatiques et les choix de capacités influencent tous le même personnage. À mesure que le joueur avance, ses choix modifient les attaques, les effets et les caractéristiques du personnage.

  1. 01

    Parcours

    Avancer d’un jour

    Chaque jour apporte un message narratif, une modification de caractéristique, de l’expérience, des soins ou un combat. L’historique du parcours enregistre le résultat de chaque événement.

  2. 02

    Combat

    Résoudre le combat

    Les files d’attaques du joueur et de l’ennemi s’exécutent dans des tours contrôlés. Dégâts, états de blocage, effets périodiques, mort et résultats de réanimation se terminent avant que le parcours reprenne.

  3. 03

    Choix d’une capacité

    Choisir une option sur trois

    À chaque montée de niveau, le joueur choisit parmi trois capacités. Les options disponibles peuvent ajouter une attaque, modifier une attaque à l’épée compatible ou améliorer une caractéristique de combat pour le parcours en cours.

  4. 04

    Build

    Utiliser la nouvelle capacité dans les combats suivants

    La nouvelle attaque, le nouvel effet ou la modification de caractéristique rejoint les capacités actuelles du personnage. Cela change sa façon de combattre à mesure que le parcours devient plus difficile.

Comment les capacités fonctionnent ensemble

Les capacités prises en charge modifient les attaques et les statistiques actuelles du personnage.

Le jeu utilise des modèles de capacités réutilisables. Les améliorations prises en charge modifient des copies de ces modèles pour le parcours en cours, et le système de combat exécute leurs actions dans l’ordre.

  1. 01

    Choisir une capacité

    Choix d’une capacité

    Le jeu sélectionne trois options parmi les définitions de capacités stockées dans des ScriptableObjects Unity.

  2. 02

    Appliquer la modification

    Ajouter ou modifier

    Les capacités prises en charge ajoutent une attaque, appliquent un effet à une attaque à l’épée compatible ou modifient une statistique du personnage.

  3. 03

    Parcours en cours

    Des copies séparées pour chaque parcours

    Le jeu crée des copies des modèles d’attaques et d’effets, qui peuvent évoluer pendant le parcours en cours.

  4. 04

    Résultat du combat

    Exécuter chaque action dans l’ordre

    Les tours résolvent attaques, probabilités, durée des statuts, blocage et nettoyage dans un ordre prévisible.

03

Trois façons dont une capacité modifie le personnage

Ajouter une attaque

Ajouter une attaque à chaque tour.

Les améliorations de feu et d’orage ajoutent des attaques après celles que le personnage possède déjà.

  • Base de l’épée
  • Attaque de feu
  • Attaque d’orage

Modifier l’arme

Changer ce que l’épée peut faire.

Les améliorations de coup critique, de poison et de gel ajoutent leurs effets aux attaques à l’épée compatibles que le personnage possède déjà.

  • Chance et dégâts des coups critiques
  • Poison dans la durée
  • Gel / attaque sautée

Changer la partie

Améliorer la santé, l’attaque ou la défense.

Les améliorations de vie, de vie maximale, d’attaque et de défense alimentent le même modèle de paramètres que les événements du parcours et la montée en puissance des ennemis.

  • Vie et vie maximale
  • Attaque de base
  • Défense

Pourquoi les capacités utilisent du code réutilisable

Ajouter des capacités sans réécrire le système de combat.

Chaque capacité apporte une modification précise : elle ajoute une attaque, lui associe un effet compatible ou modifie une caractéristique. Le code de combat commun continue à gérer les délais, les cibles et la fin de chaque action. Il devient ainsi plus facile d’ajouter des capacités et de comprendre leurs interactions.

Systèmes complémentaires du jeu

Les capacités sont liées au reste du parcours.

Les événements du parcours, les combats et la progression du joueur suivent ce qui s’est passé et ce qui vient ensuite. Un système réutilisable distinct gère l’inventaire et les données sauvegardées.

Événements du parcours

Un parcours de 60 jours dans le jeu.

Le build audité séquence 21 événements de paramètres, 13 combats, 13 événements d’expérience, 11 messages narratifs et deux événements de soin dans un même parcours.

  • Parcours journalier
  • Historique des événements
  • Expérience et niveaux
  • Achèvement / défaite

Systèmes de combat

Gestion des tours, des ennemis et des effets temporaires.

Les coroutines du joueur et des ennemis coordonnent files d’attaques, cibles, dégâts, effets actifs et nettoyage pour cinq archétypes ennemis dont la puissance évolue selon le jour.

  • Six attaques concrètes
  • Trois effets de statut
  • Progression quotidienne de 1,5 %
  • Parcours de réanimation

Inventaire et sauvegardes

Un système distinct gère les objets et les données sauvegardées.

Un module d’inventaire séparé prend en charge des conteneurs fixes, dynamiques et illimités, l’empilement et le tri, ainsi que des sauvegardes JSON locales avec copie de secours et contrôles d’intégrité. Les données des objets incluent leur rareté et les définitions d’effets ; les bonus d’équipement ne sont pas reliés à la boucle de combat active.

  • Conteneurs fixes · dynamiques · illimités
  • Empilement et tri
  • Définitions de rareté et d’effets
  • Récupération des sauvegardes

Services mobiles

Son, analyse de l’usage, publicités récompensées et versions Android.

Composition Zenject, séquences DOTween, routage audio FMOD, points d’intégration Firebase et Meta Analytics, parcours récompensés AdMob et paramètres de build Android relient le gameplay à un produit mobile testable.

  • Événements d’analyse
  • Nouvelle sélection récompensée
  • Réanimation récompensée
  • Code de version Android 54

Code et contenu du projet

Le projet en chiffres.

Ces chiffres couvrent le code spécifique dans Assets/Scripts, pour la version de juillet 2025 étudiée ici. Ils décrivent le code et le contenu configuré, sans mesurer le nombre de joueurs ni les résultats commerciaux.

234
Fichiers C# personnalisés
10,600+
Lignes non vides de code personnalisé
60
Jours de parcours configurés
106
Commits hors fusion touchant les scripts personnalisés, attribués à Artem
Unity 6
Version auditée du projet

Données des capacités

Chaque parcours possède ses propres données de capacités.

Les définitions ScriptableObject créent des instances d’attaques, d’effets et de paramètres pour chaque partie. Les capacités peuvent ainsi modifier le build actif en sécurité sans réécrire les assets sources partagés.

Commandes d’animation sur mesure

Les animations du personnage suivent l’action.

J’ai développé une couche réutilisable d’orchestration des animations d’unités au-dessus de Unity Animator. Des profils ScriptableObject par personnage associent les états partagés à des clips spécifiques et configurent la vitesse, le décalage de départ, la couche, le moment d’impact et le chevauchement des transitions. Fondus, séquences de clips, interpolation de position par courbes et callbacks coordonnent déplacements, attaques, coups reçus et morts. Le contrôleur partagé utilise 10 profils pour 14 apparences de personnages dans l’instantané audité.

Courbe de difficulté

Le joueur et les ennemis deviennent plus forts.

Les statistiques et capacités du joueur s’accumulent au fil des événements et des montées de niveau, tandis que la vie et l’attaque des ennemis évoluent avec le jour écoulé. La sélection des rencontres privilégie les types ennemis admissibles encore inutilisés et recourt à une solution de repli lorsque ce groupe est épuisé.

Démarrage et tests

Un démarrage organisé et des tests de l’inventaire.

Les scènes de démarrage et l’injection de dépendances organisent le lancement, tandis que le texte de dégâts mis en pool réduit les allocations répétées. Le dépôt comprend dix méthodes de test de l’éditeur Unity pour le comportement de l’inventaire ; leur réussite actuelle n’a pas été vérifiée indépendamment.

Vidéo publique du projet

Regardez une nouvelle capacité changer le combat suivant.

La vidéo publique de gameplay de 1:18 montre le parcours journalier, les événements narratifs et de paramètres, les combats résolus après l’invite Battle, une sélection parmi trois compétences, Freezing ajouté à l’arme puis déclenché en combat, ainsi que la défaite et la décision de réanimation.

Regarder sur YouTube

La vidéo de gameplay et sa miniature ont été publiées par Artem Shkabura sur sa chaîne YouTube publique le 27 mai 2025.

Travail réalisé

Ce que j’ai créé pour ce projet.

  • 01Programmation Unity du parcours, des combats, des capacités, des ennemis, de l’interface et de la progression du joueur
  • 02Un parcours configurable de 60 jours dans le jeu avec combats, expérience, modifications de caractéristiques, messages narratifs et soins
  • 03Des attaques et des effets réutilisables qui permettent aux améliorations de modifier les capacités du personnage dans le système de combat existant
  • 04Des commandes sur mesure reposant sur Unity Animator pour choisir les animations du personnage, les enchaîner de façon fluide et synchroniser les déplacements et les attaques avec le jeu
  • 05Une sauvegarde distincte pour l’inventaire, des connexions aux outils d’analyse, des actions liées aux publicités récompensées, l’intégration du son et la configuration des versions Android

Cette étude documente mon implémentation Unity/C#, l’instantané du projet de juillet 2025 examiné et le gameplay visible publiquement. Les chiffres du dépôt se limitent à Assets/Scripts dans cet instantané. Elle ne revendique ni création des graphismes, de l’audio ou du game design, ni publication en boutique, disponibilité actuelle, taille du public, rétention, revenus ou résultats de campagnes actives. Les couches expérimentales ECA et de réflexion sont exclues des affirmations de livraison ci-dessus.

Comment je peux aider votre projet

Vous préparez un jeu avec des capacités de combat améliorables ?

Testons la façon dont vos capacités fonctionnent ensemble.

Je peux programmer votre concept de combat dans Unity, vérifier les interactions entre des capacités existantes ou créer une version jouable avec le prochain ensemble de fonctions.

Un budget limité ? Indiquez votre priorité et la fourchette qui vous convient. Je vous dirai clairement quelle première étape est réaliste.

La confidentialité dès le premier échange

Je comptabilise les actions de contact de façon agrégée, sans identifiants de visiteurs ni contenu des messages.

Retour aux projets