Conseils utiles

Mec économe

Le développement de jeux informatiques peut être réalisé par une seule personne ou par la société (équipe de développement). Les jeux commerciaux sont créés par des équipes de développement embauchées par une entreprise. Les entreprises peuvent se spécialiser dans la production de jeux pour ordinateurs personnels, consoles de jeux ou tablettes. Le développement peut être financé par une autre entreprise, la plus grande - l’éditeur. L'éditeur à la fin du développement est engagé dans la distribution du jeu et supporte les coûts associés. L'approche opposée est un tel développement, lorsqu'une entreprise distribue des copies de jeux elle-même (sans la participation des éditeurs), par exemple, au moyen d'une distribution numérique.

Le développement des jeux à plus gros budget peut coûter des dizaines de millions de dollars américains, et au cours des dernières décennies [ quand ] ces budgets ont constamment augmenté, tout comme le nombre d'équipes de développement et les délais de développement. Ainsi, à la fin des années 90, un jeu destiné à la console PlayStation pour le client final pouvait être créé par une équipe de 10 personnes par an. Pour la PlayStation 2 (première moitié des années 2000), une équipe de 30 à 50 personnes et deux années de développement étaient nécessaires. Il était déjà question d'équipes de plus de 100 développeurs et d'une durée d'environ trois ans. Selon Alex Moore, concepteur de jeux de Sumo Digital, si le prix du jeu pour le consommateur final devait augmenter dans la même proportion, les jeux coûteraient 1 800 dollars en 2012, autrement dit, pour récupérer les budgets supplémentaires tout en maintenant les mêmes prix dans les magasins, les éditeurs doivent vendre beaucoup plus de copies de jeux.

Un jeu à gros budget pour deux plates-formes - la Xbox 360 et la PlayStation 3 - coûtait en moyenne 20 millions de dollars en 2012 et, pour porter ses fruits, il fallait vendre environ deux millions d'exemplaires.

Les rôles

Au début des années 1980, après l’apparition des premiers ordinateurs et consoles de jeu à la maison, un programmeur pouvait gérer presque toutes les tâches associées au développement d’un jeu. Le développement de jeux modernes nécessite un large éventail de compétences et de personnel de soutien. Pour travailler sur un projet, des équipes entières sont nécessaires, qui comprennent généralement des représentants d'un certain nombre de spécialisations.

Comment créer un jeu vous-même?

Pour créer un jeu, vous devez connaître le langage de programmation. Ils sont maintenant tous en anglais. Ils sont complexes et ont leur propre syntaxe, que vous devez également connaître. Donc, vous imaginez créer un jeu, non?

Bien sûr, presque tous les jeux à gros budget sont réalisés en utilisant l’une des langues clés, mais pour un débutant, il n’est même pas nécessaire de le savoir.

Il existe des programmes spéciaux pour la création de jeux, dont Game Maker. Ils ont été créés spécifiquement pour la création de jeux (le programme s'appelle le créateur du jeu). Personnellement, je travaille dans Game Maker et cela me permet de créer des jeux de haute qualité pour toutes les plateformes, d'Android à iOS.

Vous pouvez également conseiller Unity ou Construire 2, comme de bonnes alternatives.

Tous ces outils sont en développement, et pour Game Maker Studio 2, la deuxième partie a récemment été publiée, et j'ai écrit ici: Quoi de neuf dans Game Maker Studio 2? GMS 2 avis

Mon opinion personnelle est que Game Maker est l’un des programmes les plus pratiques pour créer des jeux spécialement pour les débutants, tandis que maîtriser Unity à partir de zéro peut prendre beaucoup plus de temps.

Si vous choisissez Game Maker, mon blog et ma chaîne vous aideront de manière significative dans son développement, mais si vous choisissez Unity ou autre chose, il existe également une énorme quantité de matériel éducatif gratuit de haute qualité en russe.

Dans tous les cas, la première étape (zéro :) est le choix d'un programme pour créer des jeux.

La première étape est le document de conception

Ensuite, vous devez créer un document de conception pour le nouveau jeu. En d'autres termes, vous avez besoin d'une idée pour le jeu. Quel sera le jeu? Que va-t-il se passer là-bas? Quel genre de genre sera-t-il? Combien de temps et d'argent faudra-t-il pour développer? Il y a beaucoup de questions de ce type, et avant de commencer à créer un jeu, il est très utile de faire un plan approximatif.

Les éléments de base sur la façon d'écrire un document de conception pour le jeu, vous pouvez trouver ici:

  • Comment écrire un design de jeu en papier

Croyez-moi, sans plan préalable et uniquement par enthousiasme, il est fort probable que vous ne terminerez pas la partie.

La création d’un jeu consiste essentiellement à créer du code. Tout dépend de l'environnement et du programme dans lequel vous créez le jeu. Cependant, dans le Game Maker et pour les débutants, il existe un système de gestion de la drogue et de la chute - glisser-déposer.

Un système similaire existe non seulement dans GM, mais également dans les éditeurs de cartes et les concepteurs de jeux populaires. À propos, c’est avec les mods pour les jeux populaires que je vous recommande de commencer à faire des jeux.

  • Où commencer le développement de jeux

Pour créer votre premier jeu à partir de zéro, vous n'avez pas besoin de connaître le langage de programmation. Utilisez simplement le système de gestion de drogue et de gouttes, qui ressemble à ceci:

Une caractéristique remarquable de Game Maker Studio 2 est que tous ces éléments sont automatiquement déchiffrés dans le code du programme visible par le développeur.

Cela vous permet d'apprendre progressivement le code et de passer de la drogue à la programmation.

Des questions spécifiques comme: comment faire un mouvement, comment faire un coup de feu, quels sont les effets et tout ce jazz que vous pouvez trouver sur ma chaine youtube sous la forme de leçons spéciales sur les bases de la création de jeux.

Combien de temps faut-il pour créer un jeu?

La question est complexe, tout dépend de vos compétences, du type de jeu et d'autres facteurs.

Parfois, une personne expérimentée peut créer un simple jeu sur téléphone en quelques semaines, parfois des jeux de qualité moyenne sont créés par une petite équipe de plusieurs personnes en 6 à 12 mois, mais les grands projets sont réalisés par de grands studios et le développement peut prendre entre un an et plus, travailler une équipe de 100 personnes ou plus.

Selon des données approximatives, la création d'un jeu majeur prend environ deux à trois ans pour une équipe de 200 personnes, si nous parlons de projets sérieux tels que GTA 5.

Dans le même temps, n'oubliez pas qu'il existe des exceptions aux règles. Notch a écrit la première version de Minecraft en une semaine et cette version avait déjà la plupart des structures de base. mais au final, le développement a pris plusieurs années, bien que contrairement à GTA, une très petite équipe ait travaillé sur Minecraft et que les revenus de Minecraft soient très sérieux.

Bien que ce soit plus une exception, pas une règle. Maintenant la concurrence est beaucoup plus forte et de tels projets super réussis et super bon marché apparaissent de moins en moins.

La troisième étape - graphiques

Les graphiques sont généralement réalisés en parallèle avec le processus de développement et d'écriture de code, et il s'agit généralement de l'individu. Il est très difficile de combiner le travail d'un programmeur, mais également d'un concepteur, mais parfois, il peut être fait seul. De plus, certains projets ne nécessitent pas de graphismes de très haute qualité, ou des images et des sprites prêts à l'emploi sont pris.

  • Lire: Où trouver des sprites pour les jeux?

Le graphisme et le dessin est un processus très coûteux.

D'après mon expérience, si vous créez le jeu seul, cela peut prendre entre 40 et 60% du temps total consacré aux graphiques. Essentiellement, pour un développeur indépendant, de bons graphismes peuvent doubler le temps total nécessaire pour créer un jeu. Et si doubler de 1 mois à 2 n'est pas effrayant, doubler de 2 à 4 ans, c'est beaucoup.

Par conséquent, il est vivement recommandé aux développeurs novices d'utiliser tous les moyens possibles pour obtenir des graphismes gratuits (par exemple, prendre un artiste / designer comme partage) ou pour minimiser le graphisme dès les premiers jeux.

Dans les cas extrêmes, vous pouvez commander des graphiques séparément sur le côté, en utilisant la sous-traitance.

Cependant, si vous voulez tout faire vous-même, il existe de nombreuses façons d'apprendre à dessiner. J'apprends aussi (récemment acheté tablette) et pour enseigner le dessin, je peux vous conseiller de bonnes chaînes YouTube:

  • Bonnes chaînes YouTube sur Gamedev et Graphics

Combien de temps faut-il pour étudier le dessin?

En général, comme toute entreprise, vous pouvez et devriez apprendre toute votre vie, mais la perfection n’est pas limitée. Cependant, regardez encore mes dessins.

L’horreur n’est pas directe, n’est-ce pas? Mauvais bien sûr, mais pas directement ici?

Eh bien, je l’ai dessiné avec une souris d’ordinateur dans un éditeur graphique très simple, et j’ai appris à dessiner pendant 1 à 2 mois, en tirant 1 image par semaine au maximum.

Je pense qu'en un an, vous pouvez atteindre un très bon niveau si vous consacrez 1 à 3 heures par jour au dessin et à l'étude de la base théorique.

J'ai une vidéo (16 minutes):

Sélection du projet

Alors par où commencez-vous? C’est plus facile de dire par où commencer n’en vaut pas la peine, notamment dans le cas de grands projets, tels que des FPS entièrement en 3D, des MMO ou même un long jeu de plate-forme de l’ère 16 bits. L'erreur la plus commune des développeurs novices est de commencer par un grand projet basé sur Cool Idea ou de prendre un projet qui semble simple et se terminer par un paquet de code spaghetti à moitié fini. Initialement, de petits projets devraient être créés.

Dans les premiers projets, votre objectif principal est d’étudier et non d’implémenter Cool Ideas. En gardant le projet petit, vous pouvez vous concentrer sur l’apprentissage de nouvelles techniques, plutôt que de passer une tonne de temps à gérer le code et la refactorisation. Malgré le fait que votre idée géniale puisse être complètement abandonnée, la réalité du secteur du développement est que plus le projet est volumineux, plus il risque de se tromper d'architecture. Et plus le projet est volumineux, plus cette erreur est coûteuse. Vous souvenez-vous de l'histoire de Dédale et de son fils Icare? Dédale a créé des ailes de cire et des plumes pour son fils. Il a averti Icarus de ne pas voler trop près du soleil. Mais Icare a ignoré l'avertissement et les ailes ont fondu, puis la gravité l'a rattrapé.

Par conséquent, rappelez-vous: ne volez pas trop près du soleil sur vos nouvelles ailes de programmateur.

Compte tenu de tout ce qui précède, voici quelques conseils pour vous aider à commencer.

Traitement graphique et événementiel

Si vous n'avez jamais rien programmé lié aux graphiques ou à une interface graphique, commencez par quelque chose de petit pour vous «mouiller les pieds». Mon premier projet a été tic-tac-toe, alors même moi-même avons eu un début modeste. Quelques idées pour le premier projet:

  • Simulateur bandit à un bras

  • Black jack

  • Tic Tac Toe

  • Quatre de suite

L'objectif de votre premier projet est de passer du développement de la console aux applications graphiques pilotées par les événements. Il vous enseignera également les bases de la logique et de l'architecture de jeu. Je recommande quelque chose étape par étape, parce que les jeux de mouvement sont une bête complètement différente.

Essayez de garder le projet simple afin que vous puissiez le terminer et ne pas perdre tout intérêt à mi-chemin, sans jamais mettre fin au jeu. Il est important de terminer le jeu car vous n’apprenez pas le processus de développement si vous avez plusieurs jeux inachevés sur votre disque dur.

Il y a un point que je tiens à signaler à ceux qui vont faire du tic-tac-toe ou quatre à la suite. Ne vous inquiétez pas beaucoup pour l'intelligence artificielle maintenant. Faire un jeu pour seulement deux joueurs ou jouer avec un ordinateur qui fait des mouvements aléatoires est suffisant pour commencer.

Si auparavant vous avez traité des graphiques et du traitement d'événements et que vous vous sentez à l'aise dans ce domaine, vous pouvez passer directement à l'étape suivante.

Synchronisation, mouvement, collisions, animation

Maintenant que vous en avez assez des graphismes, il est temps de faire quelque chose en temps réel. Voici quelques suggestions:

  • Chasse au canard

  • Pong

  • Envahisseurs de l'espace

  • Galaga

  • Tetris

Ici, vous vous familiariserez avec le mouvement, le temps, l'animation, la détection de collision, le cycle de jeu, le calcul du nombre de points, des victoires et défaites et d'autres concepts de base importants utilisés dans chaque match.

Duck Hunt et Pong sont de bons projets pour ceux qui ont déjà une expérience dans la programmation de graphiques et d'événements. Ils ont une détection de collision simple et toutes les bases importantes des jeux en temps réel.

Space Invaders et Galaga sont de bons choix pour le deuxième / troisième projet. Ils ont des niveaux, vous devrez donc apprendre à passer d’un niveau à l’autre en utilisant une machine à états. Vous pouvez lire sur les machines à états finis ici. Les jeux dans le style de «tire-les tous» exigent également la création de modèles de comportement simples pour les ennemis, ce qui constitue un pas en avant vers l'intelligence artificielle.

Tetris est bon pour un deuxième / troisième projet. Il a très peu de logique nécessaire pour créer un jeu de puzzle. C'est un jeu de taille décente, vous devrez donc apprendre à scinder votre programme en plusieurs fichiers sources, sur lesquels vous pourrez en apprendre davantage. Ne sous-estimez pas Tetris. J'ai sous-estimé et je viens de regarder ce désordre effrayant dans le code de Lazy Blocks.

Réingénierie

Une erreur typique des débutants est d'essayer de faire le meilleur jeu de tous les temps, en terminant par la réingénierie. C'est-à-dire qu'il essaie d'écrire le meilleur jeu / moteur et que tout n'utilise finalement qu'une petite partie de ce qui a été écrit.

Quand j'étais débutant, j'ai repensé l'IA pour le tic-tac-toe. Je voulais faire un jeu avec une IA invincible. J'ai réussi à y parvenir en programmant un ordinateur pour connaître tous les pièges possibles. Ça a l'air cool, non? Il a fallu près de 40 000 milliers de lignes de code principalement copié et un mois de mon temps libre.
Plus tard, j'ai appris les structures de données et appris à propos de l'algorithme Minimax, qui, avec une taille de code plus petite, faisait non seulement la bonne chose, mais également la faisait mieux.

Alors apprenez de mes erreurs et ne soyez pas trop ambitieux. Concentrez-vous sur l'apprentissage de la création de jeux, pas seulement sur leur fabrication.

Planification, analyse de collision, physique, niveaux, intelligence artificielle

Maintenant que vous avez deux ou trois petits jeux derrière vous, il est temps de faire votre premier projet majeur.

Jusqu'à présent, vous avez probablement programmé comme il se doit. Cela se terminera à ce stade. Dans le monde réel, la plupart des processus de développement sont terminés avant que la première ligne de code ne soit écrite. Rien ne pourrait être pire que de réaliser que pour ajouter à votre jeu ce que vous voulez, vous devrez jeter tout le code écrit car vous n'aviez pas tout planifié à l'avance. Maintenant que vous avez de l'expérience dans la création de jeux, vous savez en quoi consiste le processus de développement. Maintenant, vous pouvez planifier les jeux avant de commencer à les créer.

Passons maintenant à votre prochain match. Break Out et Puzzle Bobble conviennent au troisième projet car ils incluent la reconnaissance avancée des collisions et la physique. La physique est importante car elle confère au jeu une impression réaliste. Même Super Mario Brothers a un sens de la gravité et de l'inertie. Le billard est un excellent projet pour ceux qui veulent fatiguer un gyrus avec la physique.

Dans des jeux comme le billard, vous devez non seulement détecter les collisions, mais également les traiter dans un ordre spécifique. La gestion des collisions est radicalement différente de sa détection. Bien que créer un billard ou un jeu de plateforme 2D puisse sembler facile, l'analyse de collision dans le bon ordre est un processus déroutant et ne doit pas être sous-estimée.

Break out et Puzzle Bobble incluent également la conception de niveaux et nécessitent le chargement et la libération de leurs ressources. Créer un éditeur de niveau pour le jeu est une bonne expérience. Les éditeurs vous permettent de créer facilement des niveaux sans les forcer à se souder à l’application. J'ai un article sur la création d'un éditeur de niveaux.

Vous voudrez peut-être aussi pratiquer l'écriture en intelligence artificielle (IA). Une option consiste à revenir au tic-tac-toe ou quatre à la suite et à écrire une IA invincible. Maintenant, vous devriez déjà connaître les structures de données et pouvoir utiliser la connaissance des arbres pour utiliser l'algorithme Minimax. Avec cet algorithme, vous pouvez calculer tous les résultats possibles de tic-tac-toe et créer une IA invincible. C'est drôle de contrarier vos amis. Vous pouvez également vouloir faire différents niveaux de difficulté. Un jeu n'apporte pas de joie s'il ne peut pas être gagné.

Pac Man est un excellent moyen de s'exercer à écrire. Vous aurez besoin de connaître les structures arborescentes / graphiques et les algorithmes de recherche, tels que A *, pour que les fantômes puissent traverser le labyrinthe. Il sera également nécessaire de faire travailler les fantômes en équipe. Tout cela est pratique lorsque vous créez des jeux avec une intelligence artificielle complexe, telle que des stratégies en temps réel. Vous pouvez lire sur les bases de l'IA ici.

Plateformes, Action / Aventure, RPG, RTS, moteurs

Maintenant que vous avez acquis l’expérience de la création d’un jeu bien planifié, vous êtes prêt à créer une action / aventure / plate-forme. Ce sera le point culminant des graphiques, du mouvement, de l'animation, de l'analyse / détection des collisions, de la physique, de l'IA, de l'architecture logicielle et de tout ce que vous allez apprendre à ce stade. Pour ceux qui sont plus ambitieux, vous pouvez suggérer de créer une stratégie en temps réel (RTS) ou un jeu de rôle (RPG). Soyez prudent, car RPG et RTS sont des projets vraiment énormes.

Les RPG ont une architecture complexe et nécessitent beaucoup de planification. Vous devrez planifier chaque arme, armure, accessoire, attaque, objet, sort, épeler, invoquer, ennemi, carte, boss, donjon, etc. dans les moindres détails. Tout cela devrait fonctionner en harmonie et, pour parler franchement, ce n’est pas une tâche facile. Donc, si votre projet de design ressemble à un script ou à une bande dessinée, vous devrez en faire plus beaucoup travail.

Les RTS sont également complexes sur le plan architectural et nécessitent également beaucoup d'intelligence artificielle. Vous devrez faire une recherche du chemin des unités, recevoir des commandes de leur part, un comportement différent en fonction des commandes reçues. Si vous n'avez jamais pratiqué l'IA, il serait préférable de commencer par le clone Pac Man.

Vous devrez probablement créer un moteur pour votre jeu pour la première fois. Ce qu'il faut éviter, c'est la création d'un moteur universel. Создавая движок не пытайтесь сделать его подходящем для любой игры. Если ваша игра требует x, y и z, делайте движок который умеет x, y и z. Движки создают исходя из того что нужно для конкретной игры, а не из того что любой игре может потенциально понадобится.

Другая распространенная среди новичков ошибка — это попытка создать движок в качестве первого проекта. И обычно это универсальный движок. Вам не нужен движок с фантастической графикой для создания Pong'а или Space Invaders. Программируя, легко закопаться в деталях. Концентрируйтесь на общей картине и завершайте свои игры.

Il semble que tout le monde veuille faire le prochain grand MMO. La création de jeux en ligne n’est pas quelque chose que vous pouvez comprendre rapidement. Je m'en suis rendu compte lorsque j'ai essayé de faire du poker en ligne juste après la fin du tic-tac-toe.

L'ajout d'un réseau complique grandement le jeu. Lorsqu'un joueur fait quelque chose, vous devriez envoyer des informations à ce sujet à tous les autres. C'est comme si ta main droite ne savait pas ce que fait la gauche. Vous devrez également choisir entre le chargement du serveur et ce qu'il peut contrôler. Plus la partie serveur est importante, moins il y a d'opportunités de tricher sur le client, mais cela signifie également une charge plus importante sur le serveur. Pour l’action et les autres jeux intenses, vous devrez vous soucier de la latence du réseau et de la perte de paquets.

Vous devez terminer complètement au moins un jeu bien planifié avant d’essayer de créer un jeu en réseau. En tant que premier projet de réseau, essayez de faire quelque chose qui n’est pas essentiel à la rapidité. Par exemple, un serveur / client de discussion simple serait une bonne pratique. Vous pouvez également revenir aux tic-tac-toe / quatre à la suite et y ajouter la possibilité de jouer en ligne. Sinon, essayez de créer une carte réseau ou un jeu de société.

Une fois que votre premier projet de réseau est prêt, essayez de faire quelque chose en temps réel. Dans votre première application réseau, vous avez probablement utilisé TCP pour vous assurer que les données que vous recevez arrivent dans l'ordre dans lequel vous les avez envoyées. Pour les jeux dans lesquels il y a beaucoup d'action, les retards créés par TCP seront probablement trop importants. Vous devrez donc utiliser UDP. UDP ne garantit pas le bon de livraison ni la livraison elle-même en général. Comme UDP ne fait pas de contrôles d’intégrité supplémentaires, c’est plus rapide. Vous devrez sacrifier la facilité d'utilisation de TCP en échange de la vitesse UDP et la nécessité de vérifier de manière indépendante l'intégrité des données lors de la création du jeu.

Avant de créer des jeux en 3D, vous devez créer au moins un jeu bien planifié et bien comprendre les mathématiques vectorielles en trois dimensions, la physique linéaire et newtonienne. Ici, vous devez traiter des sommets, des textures, des éclairages, des ombres, déterminer l’interaction avec des objets dans un espace tridimensionnel, charger des modèles et d’autres choses difficiles.

La bonne nouvelle est que si vous avez déjà créé 4 ou 5 jeux, vous connaissez déjà les bases nécessaires pour créer un jeu. Vous êtes déjà familiarisé avec le processus de développement et connaissez vos compétences en tant que programmeur. Peu importe un tireur en trois dimensions ou en deux dimensions, il est toujours un tireur. Le RPG 2D ou le RPG 3D est toujours un RPG.

Ne considérez pas cela comme une excuse pour ignorer la 2D et passer directement à la 3D. Avant d’apprendre à courir, vous devez apprendre à marcher.