Le livre "Unity and C #. Gamedev de l'idée à la mise en œuvre. 2e éd.

image Salut, habrozhiteli!

Jeremy Gibson Bond, conçu ce livre, s'est fixé un objectif simple: vous présenter tous les outils et transférer les connaissances de base nécessaires pour réussir dans le développement de jeux et de prototypes. L'auteur a essayé de faire entrer le maximum de connaissances dans ce livre. Contrairement à de nombreux autres livres, celui-ci combine les deux disciplines - la conception de jeux et le développement numérique (c'est-à-dire la programmation informatique) - et les enveloppe avec une pratique de prototypage itératif. L'avènement de moteurs de jeu avancés et relativement faciles à utiliser, tels que Unity, a encore simplifié la création de prototypes exprimant les concepts de conception de jeux et augmenté vos chances de devenir un concepteur de jeux qualifié (et recherché).

Le livre est divisé en quatre parties
Partie I. Conception du jeu et prototypage sur papier


La première partie du livre commence par une étude des diverses théories de la conception de jeux et des fondements analytiques de la conception de jeux, comme suggéré dans certains livres précédents. Cette section décrit la Layered Tetrad, un moyen de combiner et d'étendre les meilleures fonctionnalités de ces théories antérieures. Une grande attention a été portée à l'étude des cahiers multi-niveaux, car elle concerne de nombreuses décisions que vous devrez prendre en tant que concepteur d'interactions interactives. Cette partie contient également des informations sur les problèmes intéressants de diverses disciplines de la conception de jeux; décrit le processus de prototypage sur papier, les tests et l'itération; donne des informations spécifiques qui peuvent vous aider à devenir l'un des meilleurs designers; Des stratégies efficaces de gestion de projet et de temps sont présentées pour garantir le respect du calendrier de développement du projet.

Partie II Prototypage numérique


La deuxième partie du livre enseigne la programmation. Cette partie est basée sur mes nombreuses années d'expérience à enseigner aux étudiants non techniques comment exprimer des idées de conception de jeux en code numérique. Si vous n'avez aucune expérience en développement ou en programmation, cette partie est pour vous. Mais même ceux qui ont une certaine expérience peuvent parcourir cette partie pour se familiariser avec de nouvelles astuces ou pour rafraîchir certaines approches. La deuxième partie couvre C # - notre langage de programmation - des bases à l'héritage des classes et des techniques de programmation orientée objet.

Partie III. Prototypes de jeux et exemples


La troisième partie du livre comprend plusieurs exemples, dont chacun illustre le processus de développement d'un prototype d'un jeu d'un certain genre. Cette partie a deux objectifs: elle révèle quelques techniques avancées de prototypage rapide de jeux en utilisant ma propre approche du prototypage comme exemple et aide à former la base sur laquelle vous pouvez créer vos propres jeux. De nombreux livres sur Unity (notre environnement de développement pour les jeux) utilisent une approche similaire, mais conduisent le lecteur à travers un seul exemple monolithique sur plusieurs centaines de pages. Ce livre, en revanche, montre quelques exemples beaucoup plus courts. Les résultats finaux de ces exemples sont inévitablement moins fiables que ceux trouvés dans d'autres livres, mais je suis convaincu que la diversité vous aidera à mieux préparer vos propres projets à l'avenir.

Partie IV Les applications


Il y a plusieurs applications importantes qui méritent d'être mentionnées ici dans ce livre. Afin de ne pas répéter les mêmes informations et de ne pas vous forcer à les rechercher dans différents chapitres, toutes les informations qui sont mentionnées à plusieurs reprises dans le livre ou auxquelles, il me semble, vous voudrez vous référer plus tard (lorsque vous aurez fini de lire le livre pour la première fois) sont placées dans applications. L'annexe A fournit une brève introduction étape par étape à la création d'un projet de jeu dans Unity. L'application la plus longue est l'annexe B, Idées utiles. Malgré le titre sans prétention, je suis sûr que vous vous référerez le plus souvent à cette application après avoir lu le livre pour la première fois. «Idées utiles» est un ensemble de techniques et de stratégies avancées que j'utilise moi-même en permanence lors du prototypage de jeux, et je pense que vous trouverez ici beaucoup de choses intéressantes pour vous-même. La troisième et dernière application est une liste de liens vers des ressources sur Internet, où vous trouverez des réponses à des questions non couvertes par ce livre. Il est souvent difficile de déterminer le bon endroit pour demander de l'aide; Cette application contient des liens que j'utilise moi-même le plus souvent.

Extrait. Utiliser Google Sheets pour équilibrer les armes


Une autre application des mathématiques et des programmes, tels que Google Sheets, dans la conception de jeux consiste à équilibrer différents types d'armes et de capacités. Dans cette section, vous verrez le processus d'équilibrage des armes pour un jeu similaire aux Chroniques Valkyria de Sega. Dans ce jeu, chaque arme a trois caractéristiques importantes:

  • Le nombre de coups tirés simultanément.
  • Le degré de dégâts causés par chaque tir.
  • La probabilité de toucher la cible de chaque balle tirée à une distance donnée.

Lors de l'équilibrage de différents types d'armes, l'objectif est généralement de les rendre à peu près égales en puissance, mais en même temps de donner des caractéristiques distinctives. Par exemple, certaines armes peuvent avoir ces caractéristiques distinctives:

  • Pistolet: arme principale; vous permet de faire face à la plupart des situations, mais pas aux meilleures.
  • Fusil: Un bon choix pour frapper des cibles à moyenne et longue portée.
  • Fusil de chasse: une arme mortelle à courte portée, mais sa puissance diminue rapidement avec l'augmentation de la distance; a une faible cadence de tir, donc la précision est d'une grande importance.
  • Fusil de sniper: un choix extrêmement mauvais pour le combat rapproché, mais une arme fantastique pour le tir à longue portée.
  • Mitrailleuse: a une cadence de tir élevée, donc même avec pas la plus grande précision, elle a une force létale élevée, grâce à cela, elle semble l'arme la plus fiable, mais pas la plus puissante.

Dans la fig. 11.14 montre les valeurs des caractéristiques des armes, qui m'ont paru réussies à première vue. La valeur de ToHit (pour frapper) est le nombre minimum de points tombés lors du lancement d'un dé hexagonal, ce qui signifie frapper la cible à une distance donnée. Par exemple, pour un pistolet dans la cellule K3 correspondant à une distance de 7 unités, le nombre 4 est indiqué, c'est-à-dire que si un joueur tire à une distance de 7 unités, il sera considéré qu'il a atteint la cible si le nombre 4 ou plus tombe sur le dé. Cela donne 50% de chances de toucher (car le coup compte si 4, 5 ou 6 points sont perdus).

image

Déterminer la probabilité de succès pour chaque balle


Dans les cellules sous l'intitulé Pourcentage de chance, nous devons calculer la probabilité de toucher chaque cible tirée d'une arme donnée à une distance donnée. Pour ce faire, procédez comme suit.

1. Créez un nouveau document dans Google Sheets et entrez toutes les données comme indiqué dans la fig. 11.14. Pour modifier la couleur d'arrière-plan des cellules, utilisez le bouton Couleur de cellule dans les outils de mise en forme des cellules (Fig. 11.2).

A en juger par la valeur dans la cellule E3, un tir d'un pistolet à une distance de 1 unité atteint la cible si 2 points ou plus tombent lors du lancement d'un dé. Cela signifie qu'un échec ne se produit que lorsqu'un point est lâché et lorsque 2, 3, 4, 5 ou 6 points sont lâchés, le tir atteint la cible. Donc, la part des hits est de 5/6 (ou ≈ 83%), et maintenant nous avons besoin d'une formule pour le calculer. Selon la règle 7 de détermination des probabilités, cela correspond à une probabilité de manquement de 1/6 (c'est-à-dire le nombre en ToHit moins 1 et divisé par 6).

2. Sélectionnez la cellule P3 et entrez la formule = (E3-1) / 6. En conséquence, la cellule P3 affiche la probabilité d'un échec du pistolet à une distance de 1 unité. Les opérations arithmétiques dans les feuilles sont effectuées conformément aux règles des mathématiques, de sorte que la division sera effectuée avant la soustraction, si vous ne mettez pas l'expression E3-1 entre parenthèses.

3. Encore une fois, nous utilisons la règle 7. Selon elle, 1 - probabilité de manque = probabilité de défaite, remplacez donc la formule dans la cellule P3 par = 1 - ((E3-1) / 6). Maintenant, le numéro 0.8333333 devrait y apparaître.

4. Pour convertir la fraction décimale de la cellule P3 en pourcentage, sélectionnez la cellule P3 et cliquez sur le bouton avec le symbole% dans la barre d'outils de mise en forme des nombres, comme illustré à la Fig. 11.2. Vous pouvez également cliquer plusieurs fois sur le bouton à droite du bouton avec le symbole% (avec l'inscription .0 et la flèche gauche). Il supprimera les décimales et seulement 83% sera affiché dans la cellule au lieu du% 83.33 plus précis mais déroutant. Dans ce cas, seule la valeur affichée changera - le nombre réel restera le même - et la cellule conservera sa précision pour les calculs ultérieurs.

5. Copiez la formule de la cellule P3 et collez-la dans toutes les cellules P3: Y7. Vous verrez que tous les calculs ont été effectués avec succès, à l'exception des cellules vides dans la section ToHit, pour lesquelles le pourcentage de hits est de 117%! Modifiez la formule afin qu'elle ignore les cellules vides.

Sélectionnez à nouveau la cellule P3 et remplacez la formule par = IF (E3 = "", "", 1 - ((E3-1) / 6)). La fonction IF dans Sheets a trois arguments, séparés par des virgules.

  • E3 = "": argument 1 - condition: le contenu de la cellule E3 est-il égal à la valeur vide ""? (c'est-à-dire que E3 est une cellule vide?)
  • "": argument 2 - que mettre dans la cellule si la condition du premier argument est vraie. Autrement dit, si E3 est une cellule vide, effacez la cellule P3.
  • 1 - ((E3-1) / 6): argument 3 - que mettre dans la cellule si la condition du premier argument est fausse. Autrement dit, si E3 n'est pas une cellule vide, utilisez cette formule.

7. Copiez la nouvelle formule de la cellule P3 et collez-la dans les cellules P3: Y7. Les cellules vides de la section ToHit correspondront désormais aux cellules vides de la section Percent Chance. (Par exemple, L5: N5 sont des cellules vides, donc les cellules W5: Y5 correspondantes seront également vides.)

8. Ensuite, ajoutez de la couleur à ce graphique. Sélectionnez les cellules P3: Y7. Dans le menu Feuilles, sélectionnez Format> Formatage conditionnel. Un nouveau panneau de règles de formatage conditionnel apparaît sur le côté droit de la fenêtre. La mise en forme conditionnelle vous permet de déterminer le format d'affichage des cellules en fonction de leur contenu.

9. Cliquez sur l'onglet Échelle de couleurs en haut du panneau Règles de formatage conditionnel.

10. Dans la section Aperçu de l'onglet Échelle de couleur, vous verrez le mot Par défaut dans l'image de dégradé vert. Cliquez sur le mot Par défaut et sélectionnez l'option ci-dessous au centre: Vert à jaune à rouge (Du vert au rouge en passant par le jaune).

11. Cliquez sur le bouton Terminé, et la section Pourcentage de chance prendra la forme, comme dans la Fig. 11h15.
image

Calcul des dommages moyens


L'étape suivante du processus d'équilibrage consiste à déterminer les dommages moyens causés par chaque type d'arme à une certaine distance. Étant donné que certains types d'armes tirent plusieurs coups à la fois et que chaque coup inflige un certain dommage, le dommage moyen sera égal au produit du nombre de coups par dommage d'un coup et de la probabilité que chaque balle frappe:

1. Sélectionnez les colonnes O: Z et copiez-les (appuyez sur Commande + C ou Ctrl + C sur le PC ou sélectionnez l'élément de menu Edition> Copier (Edition> Copier)).

2. Sélectionnez la cellule Z1 et collez (Commande-V, Ctrl + V sur PC ou sélectionnez l'élément de menu Edition> Coller (Edition> Coller)). En conséquence, des colonnes AA: AK supplémentaires seront ajoutées au tableau et remplies de données provenant des colonnes nouvellement copiées.

3. Entrez le texte Dégâts moyens dans la cellule AA1.

4. Sélectionnez la cellule AA3 et entrez la formule = IF (P3 = "", "", $ B3 * $ C3 * P3). Comme dans la formule de la cellule P3, la fonction IF garantit que les calculs ne seront effectués que pour les cellules non vides. La formule comprend des références absolues aux colonnes $ B et $ C, car la colonne B stocke le nombre de tirs et la colonne C les dégâts infligés par un tir, quelle que soit la distance à l'ennemi. Dans ce cas, seuls les numéros de ligne, mais pas les numéros de colonne, doivent être décalés lors de la copie (par conséquent, seules les colonnes sont décrites par des liens absolus).

5. Sélectionnez la cellule AA3 et cliquez sur le bouton le plus à droite dans la zone
instructions de formatage des nombres (avec l'inscription 123). Sélectionnez un numéro
(Numéro) dans le menu qui s'ouvre.

6. Copiez la cellule AA3 et collez-la dans les cellules AA3: AJ7. Maintenant, ils afficheront les valeurs exactes, mais la mise en forme conditionnelle est toujours liée à la section Pourcentage de chance, en raison de laquelle les nombres supérieurs à 1 forcent les pourcentages compris entre 0 et 100% dans la section Pourcentage de chance à s'afficher en vert fond.

7. Sélectionnez les cellules AA3: AJ7. Si le panneau Règles de formatage conditionnel
formatage) ne s'affiche plus, sélectionnez Format> Formatage conditionnel dans le menu principal (Format> Formatage conditionnel ...) pour le rouvrir.

8. Avec les cellules AA3: AJ7 sélectionnées, vous devriez voir dans le panneau Règles de formatage conditionnel une règle avec le nom Échelle de couleur (dégradé) et avec des liens vers les cellules P3: Y7, AA3: AJ7 en dessous. Cliquez sur cette règle.

9. Dans les paramètres ouverts, dans la section Appliquer à la plage, ne laissez que P3: Y7 et cliquez sur le bouton Terminé. Par conséquent, la conception précédente de la section Percent Chance sera restaurée.

10. Sélectionnez à nouveau les cellules AA3: AJ7. Dans le panneau Règles de format conditionnel, cliquez sur le bouton Ajouter une nouvelle règle.

11. Dans le champ Aperçu de l'onglet Échelle de couleurs, sélectionnez l'option Vert à jaune à rouge (du vert au rouge en passant par le jaune), comme précédemment. Cliquez ensuite sur le bouton Terminé.

Par conséquent, différentes règles de formatage seront appliquées aux sections Pourcentage de chance et Dégâts moyens. La séparation des règles pour les différentes zones garantit leur application séparée, ce qui est important car les plages de nombres dans les différentes sections sont trop différentes les unes des autres. La section Dégâts moyens devrait maintenant ressembler à celle illustrée à la Fig. 11h15.

Affichage des graphiques de dégâts moyens


La prochaine étape importante consiste à tracer les graphiques des dommages moyens. Même si une étude minutieuse des chiffres vous permet déjà de tirer des conclusions, les graphiques pris en charge par Sheets simplifieront ce travail et vous aideront à évaluer visuellement ce qui se passe. Pour ce faire, procédez comme suit.

1. Sélectionnez les cellules A2: A7.

2. Faites défiler la page pour voir la section Dégâts moyens. Avec les cellules A2: A7 toujours sélectionnées, maintenez la touche Commande (ou Ctrl sur PC), faites un clic gauche sur la cellule AA2 et, tout en maintenant la touche et le bouton de la souris enfoncés, déplacez le pointeur sur la cellule AJ7 pour sélectionner la zone AA2: AJ7. Vous devriez maintenant avoir deux zones sélectionnées: A2: A7 et AA2: AJ7.

3. Cliquez sur le bouton du graphique (voir Figure 11.2) pour ouvrir l'éditeur de graphique.

4. Cliquez sur la liste déroulante Type de graphique (le type de graphique dans lequel le texte "Diagramme à colonnes" est affiché, voir Figure 11.6A) et sélectionnez le type le plus à gauche dans la section Ligne - c'est le coin supérieur gauche pictogramme avec des lignes brisées bleues et rouges.

5. Au bas de l'onglet DONNÉES, cochez la case Changer de ligne / colonne.

6. Cochez la case Utiliser la colonne A comme en-têtes. Assurez-vous également que la case à cocher Utiliser la ligne 2 comme étiquettes est activée.

7. Cliquez sur le bouton Fermer dans le panneau Editeur de graphiques pour terminer la création de graphiques.

En conséquence, vous obtenez un diagramme comme dans la Fig. 11.16. Comme vous pouvez le voir, tout ne se passe pas bien avec les armes. Certaines espèces, comme le fusil de sniper et le fusil de chasse, ont des caractéristiques distinctives, comme nous l'espérions (le fusil de chasse a un grand pouvoir destructeur à courte portée et le tireur d'élite
image

un fusil est mieux adapté pour frapper des cibles sur de longues distances), mais entre autres il y a clairement des problèmes:

  • La mitrailleuse (mitrailleuse) était ridiculement faible.
  • Le pistolet (Pistolet) s'est avéré, peut-être, excessivement puissant.
  • Le fusil (Rifle) s'est également avéré trop puissant dans le contexte d'autres types d'armes.

En termes simples, différents types d'armes sont mal équilibrés entre eux.

Paramètres d'armes en double


Dans le processus d'équilibrage des armes, il est pratique d'avoir sous les yeux des informations avant et après l'équilibrage:

1. Tout d'abord, déplacez le graphique vers le bas, sous la ligne 16.

2. Double-cliquez dans le graphique et le panneau de l'éditeur de graphiques s'ouvre. Sélectionnez l'onglet PERSONNALISER dans la partie supérieure du panneau (Fig. 11.6D). Ouvrez la section Axes et titres du graphique (Noms des graphiques et des axes, Fig. 11.6E) et entrez le texte d'origine dans le champ Titre (Balance d'origine, Fig. 11.6F).

3. Vous devez maintenant copier les données et formules déjà ajoutées. Sélectionnez les cellules A1: AK8 et copiez-les.

4. Cliquez dans la cellule A9 et collez. Par conséquent, de nouvelles cellules A9 devraient apparaître: AK16 - une copie complète de toutes les données précédemment créées.

5. Remplacez le texte de la cellule A10 par Rééquilibré. Dans cet ensemble, nous allons apporter des modifications et essayer de nouvelles valeurs.

6. , , , A10:A15,AA10:AJ15, A2:A7,AA2:AJ7 1 2 « ». , .

7. , .

8. Rebalanced ( ).


, , — . , , . , ( ). . 11.17.

1. AK Insert 1 right ( : 1).

2. B Copy (). B.

3. AL Paste (). AL B, .

4. AL Insert 1 right ( : 1).

5. AL1 AL9 Overall Damage ( ).

6. AL3 =SUM(AA3:AJ3). , ( 45.33).

7. , , SUM . AL3 : =ROUND( SUM(AA3:AJ3) ). 45.00. , AL3 , ( ).

8. AM3 =REPT("|", AL3). REPT . ( , Shift , , (\), Return/Enter), 45 , AL3 45. AM3 , . AM, .

9. AL3:AM3 . AL3:AM7 AL11:AM15. , , . , AM, .


, . ? — , ? .

  • 6 , , 6 .
  • Valkyria Chronicles, , . 6 , 5 , .
  • (, ) , (, ) . Dans la fig. 11.7 , , , .
  • , , , , , .

, B11:N15. Percent Chance ( ) Average Damage ( ); , Rebalanced ( ), , Shots (), D/Shot (/) ToHit ( ). , .


Dans la fig. 11.17 , . , , , .

  • , .
  • , (Shotgun) (Machine gun), : 1) 6- ; 2) , .
  • , .

image

  • (Rifle) - .
  • (Sniper rifle) , . 6 , .

, , . , , , ( ) .


, , . , , , , . .

— . , , , ( -). , , , . Monopoly, , , , , . — , , , ( Monopoly , ). , — .

Mario Kart — , , . ( , ), ( ). , , , . , , , , , .

Résumé


, , , , . , , , , .

»Plus d'informations sur le livre sont disponibles sur le site Web de l'éditeur
» Contenu
» Extrait

20% — Unity

Lors du paiement de la version papier du livre, une version électronique du livre est envoyée par e-mail.

Source: https://habr.com/ru/post/fr447382/


All Articles