Faire votre premier match les premières expériences de Matt Porter

Il existe deux jeux que je considère être mes premiers: un que j'ai créé avant de pouvoir coder (ce qui était plus difficile qu'il ne le fallait, mais pas impossible), et un que j'ai créé en collaboration avec un artiste après avoir appris les bases du la programmation. Dans cet article, je partagerai mes expériences avec vous pour vous prouver que, quel que soit le niveau de compétence auquel vous êtes actuellement, tout ce dont vous avez besoin pour créer des jeux est une passion - pas d'excuses!


Mon jeu de pré-programmation

Avant d’être développeur de jeux, en particulier de programmeur, j’ai expérimenté l’animation à l’aide de Flash 4. Je n’avais alors que 12 ans, mais j’ai eu beaucoup de plaisir à apprendre les bases grâce aux combats de bâtons, qui ont été grandement inspirés par mes innombrables passé l'itinérance Newgrounds. Cela m’a finalement conduit à faire de courtes animations, qui comprenaient des préchargeurs, des boutons de lecture et Arrêtez() fonction (placée sur la dernière image du film pour éviter les boucles).

J'avais toujours voulu faire des jeux, mais cela semblait aller au-delà de mes capacités - jusqu'à ce que je réalise que ces quelques outils que j'utilisais déjà me donnaient le pouvoir de le faire..

Rencontrez Omnigosha

Le nom de mon tout premier jeu était Omnigosha. Jusqu'à ce jour, je ne sais absolument pas d'où je viens avec ce nom, mais comme ça sonnait bien à l'époque, je m'en tenais à cela..

Omnigosha était une aventure point-and-click, se déroulant dans une grande ville où un syndicat du crime préparait mal. Le jeu manquait principalement d'histoire, mais les quelques lettres et livres que vous trouverez tout au long du jeu vous apprennent qu'un groupe qui s'appelle eux-mêmes les "Black Monks" importe des armes japonaises illégales et est dirigé par son chef Don Etello un enfant intelligent, je sais).

Vous exploreriez le bâtiment principal (le bâtiment A, car c'était le seul bâtiment jamais achevé pour ce projet ambitieux), collectiez des objets et frayiez-vous un chemin. Comme je n'avais aucune connaissance en programmation, il n'y avait pas d'inventaire, le jeu avait donc une progression linéaire des éléments, ce qui signifie que vous deviez progresser dans un ordre spécifique. (Bien qu'il y ait eu un combat facultatif entre le mini-boss et le combat qui a eu lieu si vous avez déclenché une alarme en essayant de récupérer un objet dans un casier sécurisé trop tôt dans le jeu.)

Un jeu avec (presque) pas de code

Bien que cela puisse sembler tout à fait ridicule, j’ai en fait retiré toute mon idée, et même plus, sans aucun code. Les seuls outils dont je disposais étaient les boutons Flash et la connaissance des fonctions suivantes:

 Arrêtez(); // arrête le film sur l'image en cours play (); // reprend le film à partir de l'image actuelle gotoAndStop (frame); // arrête le film sur l'image spécifiée gotoAndPlay (frame); // reprend le film à partir de l'image spécifiée

J'ai pensé que je pourrais utiliser les outils ci-dessus pour créer quelque chose comme un livre "Choisis ta propre aventure". Le joueur sauterait entre les pages (cadres), en faisant des choix (ce sur quoi il clique), qui déterminerait la page (cadre) à laquelle il a été envoyé..

Par exemple, mon jeu comportait 12 étages, de sorte que chaque étage se trouvait sur les 12 premières images. L'ascenseur qui menait entre les étages n'était rien d'autre qu'un index de boutons menant à chaque image. Pour les chambres qui avaient plusieurs étages, j'ai ajouté les pièces supplémentaires à la fin.

En fait, ce système a très bien fonctionné pour explorer le monde que j'avais créé, mais je ne savais absolument pas comment créer un inventaire. C'est là que les choses se compliquaient..

L'inventaire

Comme je n'avais pas de système d'inventaire, je devais faire preuve de créativité dans la progression du jeu. Pour cela, j'ai fait quelque chose d'absolument ridicule, mais je ne connaissais pas mieux - et hé, ça a marché.

J'ai copié mon le monde entier (toutes les images de mon jeu) à plusieurs "scènes", une pour chaque étape de progression du jeu. Ensuite, j’ai apporté de légers changements à chaque scène, en fonction de votre distance au jeu..

Par exemple, si vous commencez par la scène 1 et que le premier élément que vous collectez est une clé de l’étage 4, puis lorsque vous cliquez sur le bureau pour "collecter" cette clé, le jeu vous envoie au même étage et au même cadre où vous vous trouviez. , mais dans la scène 2. Dans la scène 2, le monde est le même, sauf que vous avez maintenant la clé et que vous pouvez ouvrir la porte qu’elle ouvre. Aucun système ne tient compte du fait que vous tenez la clé: vous êtes simplement dans la scène 2, où le bureau est maintenant vide et la porte peut être ouverte..

Cela continue pour chaque élément que vous collectez tout au long du jeu, ce qui crée 20 à 30 copies de presque chaque image de mon jeu. Autant que je sache, je ne faisais rien de mal! Et j'étais prêt à créer encore plus, malgré le peu que je savais.

Bats toi!

À mesure que je devenais de plus en plus enthousiasmé par mon projet, je devenais ambitieux et je commençais à me demander combien je pouvais créer avec ce que je savais peu. À un moment donné de mon jeu, vous rencontrez éventuellement les membres des "Black Monks" et vous livrez un duel d'armes à feu. c'est là que les choses deviennent folles.

Vous vous demandez peut-être comment cela est même possible sans connaissances en programmation. Eh bien, en disposant de configurations de trames extrêmement complexes et de divers boutons qui vous mènent à des trames spécifiques en fonction de ce qui se passait, j'étais capable de créer une très bonne distance entre les armes. Pendant cette impasse, vous pouvez appuyer sur la flèche Bas pour vous cacher derrière une caisse géante, appuyer sur la flèche Haut pour sortir de l’abri, puis cliquer sur les ennemis alors qu’ils sont à l’abri pour les abattre. Pour achever les choses, j'ai attribué à chaque caisse de la pièce un bouton sur lequel cliquer, ce qui déclencherait un effet sonore et en changerait le graphisme en caisse avec un trou de balle (le trou de balle était prédéterminé et pas à l'endroit où vous avez tiré ).

Plus tard, en utilisant des techniques très similaires, j'ai même créé un chef de char géant qui tirait des missiles sur l'écran et qui avait un point faible qui ne pouvait être tiré que lorsque sa garde était baissée..

Ne jamais aller au combat sans arme

Au cas où vous ne vous en seriez pas encore rendu compte: mes méthodes ci-dessus sont absolument ridicules de toutes les manières possibles. Si j'avais connu les bases les plus extrêmes de la programmation, j'aurais pu créer ce jeu beaucoup plus rapidement. En plus de cela, j'aurais pu réduire considérablement la taille du fichier, car je n'aurais pas eu à copier des images à chaque fois pour chaque étape de la progression dans le jeu..

Une compréhension de base des tableaux m'aurait permis de créer un système d'inventaire simple, permettant à l'utilisateur de collecter les objets au fur et à mesure qu'ils les trouvaient, et au jeu de savoir quels objets étaient conservés à un moment donné. La connaissance de si les déclarations et les booléens m'auraient alors permis d'effectuer des contrôles sur toutes mes portes, commodes, grilles, etc. Ces deux éléments combinés, ainsi que quelques autres bases, me permettraient de programmer le jeu correctement, me permettant ainsi d’éditer et d’agrandir à ma guise. Dans tous les cas, chaque fois que j'ajoutais un nouvel élément au début ou au milieu du jeu, je devais apporter d'énormes modifications, car tout dans le jeu était spécifique à l'image et à la scène, et les valeurs ultérieures étaient modifiées avec les ajouts précédents..

Ne vous empêchez jamais par manque de connaissance

La chose la plus précieuse que j'ai apprise de ce jeu est que vous ne devriez jamais vous entraver par manque de connaissances. Si vous essayez de résoudre un problème sans les bons outils, il est préférable de vous en éloigner et d'acquérir d'abord les bons outils..

Si vous avez des faiblesses dans vos capacités de programmation, prenez l’habitude de vous attaquer à un aspect à la fois et vous allez acquérir lentement mais sûrement les connaissances nécessaires pour ne jamais commettre d’erreurs semblables à celles que j’ai faites..


ma Réal Premier jeu

Quelques années après avoir créé Omnigosha et l'avoir publié sur Newgrounds, je me suis retrouvé dans la petite ville de Moscou, dans l'Idaho. C'est ici que j'ai travaillé dans une pizzeria pour cinq dollars de l'heure et que j'ai décidé que ma vie nécessitait un changement. J'en avais complètement marre de mon travail et je n'avais aucun sens de l'orientation dans ma vie. J'avais déjà acheté une tablette graphique Wacom pour approfondir mes compétences en animation, mais l'art n'a jamais été mon fort, et j'avais finalement accepté que mon métier d'animateur n'était qu'un passe-temps. Bien que l'animation n'apparaisse pas comme ma vocation, tout allait bien, car pour la première fois de ma vie, je savais ce que c'était: le développement de jeux.

Je savais que je n'avais pas les compétences nécessaires pour concrétiser cela de si tôt, mais ma motivation pour éventuellement quitter des emplois de jour comme celui que j'avais auparavant était suffisamment forte pour avancer. Quelques mois plus tard, j'ai sorti mon premier vrai jeu entièrement programmé - Stabika Episode 1: Escape.

Comment je suis devenu une partie du projet

Dans le cadre de mon parcours pour acquérir les compétences dont j'avais besoin pour devenir développeur de jeux, je suis allé au seul endroit que je savais pouvoir m'apprendre à l'époque, Newgrounds. C'est ici que j'ai passé d'innombrables heures sur les forums Flash et posé toutes les questions de débutant connues de l'homme. J'ai lu des tutoriels, parcouru les questions d'autres personnes et pris note des réponses qu'ils ont reçues. Ce que j’apprenais n’était ni formel ni conforme aux meilleures pratiques, mais c’était un pas énorme dans la bonne direction et rien de plus que la monstruosité des pratiques que j’avais utilisées auparavant.

Au fur et à mesure que mon apprentissage se poursuivait, je devins moi-même de plus en plus désireux d'aider toute personne dont j'étais capable, car cela me prouverait que j'apprenais réellement et qu'il serait formidable pour moi de redonner à la communauté qui m'a appris ce que je savais peu . Un jour, David Mills a posé une question particulièrement intéressante sur les forums de Newgrounds sur la création d'une séquence chronométrée semblable à God of War et, à ma grande surprise, je me suis trouvé réellement capable de répondre à sa question. Tandis que le codage derrière l'idée était principalement une logique que tout le monde pouvait comprendre, il m'est arrivé d'apprendre que j'avais également la capacité de programmer cette logique..

Après quelques réponses dans les deux sens, il m'a grandement remercié et a promis de m'avoir crédité dans le match. Quelques jours plus tard, il était de retour sur les forums, montrant une démo avec le code que je lui avais donné et obtenant des retours. Peu de temps après, il revenait à poser des questions sur la manière d'inclure ce que les gens avaient suggéré et je revenais à lui répondre encore une fois. Avant de le savoir, nous avons été associés, et je créais mon premier vrai jeu..


Si vous souhaitez voir l'échange initial, vous pouvez trouver les articles ici et ici..

Ceci est la démonstration technique originale que j'ai fournie à Mills, preuve du concept que j'étais capable de réaliser.

(Félicitations à ImageShack pour avoir hébergé ce SWF toutes ces années.)

Stabika Episode 1: Escape

Le jeu lui-même a joué beaucoup comme les séquences chronométrées de God of War, comme Mills a mentionné dans son post initial. C'était plus ou moins une animation avec des moments interactifs où le temps ralentissait et où le joueur devrait entrer une clé choisie au hasard avant la fin du temps imparti..

Ces moments étaient toujours à des moments dangereux, de sorte que si vous appuyez sur la bonne touche, l'animation se poursuit d'une manière incroyablement impressionnante, alors que si vous enfoncez la mauvaise clé, vous perdez une mort sanglante. Le jeu ne prend que quelques minutes à battre si vous êtes assez bon, mais la plupart des joueurs doivent s’entraîner encore et encore pour avoir le temps de réaction et mémoriser quand les séquences chronométrées s’annoncent.

Indépendamment de la courte durée, nous avons ajouté un point de contrôle juste avant la scène du boss final, afin de rendre le jeu agréable et sans punir excessivement. Pour terminer le jeu, nous avons créé une dernière séquence faisant référence à Mortal Kombat: le temps se figerait complètement et le texte "Finish Him" ​​serait étendu à l'écran. Les joueurs devaient ensuite saisir cinq clés générées aléatoirement pour donner le coup final. Alors que les joueurs ne pouvaient pas gâcher cette dernière séquence, c’était une mauvaise façon de mettre fin au jeu et les gens semblaient l’aimer..

Ouverture des portes

La sortie de Stabika a été un énorme pas en avant dans mon objectif de devenir développeur de jeux. J'avais utilisé avec succès mes connaissances en programmation, affiné ces connaissances et formé un tout nouveau partenariat menant à de nombreux jeux futurs, ce qui me donna considérablement plus d'expérience en tant que développeur..

Bien que nous ayons sorti Stabika 1 juste pour le plaisir, l'attention et les commentaires reçus ont conduit à notre premier partenariat avec CrazyMonkeyGames, ce qui nous a ouvert un nouveau monde d'opportunités..

Honnêtement, je ne peux pas dire assez de bonnes choses à propos de la sortie de mon premier jeu, et je vous exhorte vivement à travailler dans ce sens si cela vous intéresse. les résultats pourraient vous étonner.


Pensées finales

Quel que soit votre niveau, vous n'avez besoin que de passion pour créer des jeux..

Comme vous pouvez le constater, mes deux jeux varient beaucoup. Un jeu n’exigeait presque pas de code, et l’autre était plus avancé, nécessitait de la programmation et était beaucoup plus raffiné. Quelles que soient leurs différences, ils partagent un point commun: mon désir de créer des jeux est ce qui les a fait vivre..

Si vous en tirez quelque chose, j'aimerais que vous réalisiez que peu importe votre niveau de compétence actuel, tout ce dont vous avez besoin pour créer des jeux est une passion. Des jeux simples peuvent être créés avec pratiquement aucune connaissance technique, et des jeux plus compliqués vous attendent - si vous prenez le temps d'apprendre les compétences nécessaires. Si vous souhaitez réellement créer des jeux, je vous promets que vous en êtes capable; il suffit de s'y mettre.