Je suis en charge d'un club de développement de jeux dans mon école et j'aimerais travailler sur un projet cet été que je pourrais utiliser comme tutoriel le semestre prochain. Je n'ai jamais rien fait de tel, alors je me demandais si quelqu'un avait des lignes directrices ou des idées.
Ce que je veux faire, c'est faire un jeu très simple. Quelque chose comme un tireur de haut en bas où les ennemis se précipitent pour que vous les tuiez et ramassiez du butin. Cependant, je veux que tout soit très facilement modifié. Les gens du club ont peu d'expérience en développement de jeux, donc si je pouvais configurer mon jeu de telle manière que les gens puissent modifier et ajouter des fonctionnalités facilement, ce serait génial pour eux.
Des trucs comme avoir une classe ennemie où le comportement est facile à jouer, ou faire tirer des armes différemment / ajouter de nouvelles armes et de nouveaux butins. Même en ajoutant de nouveaux éléments au jeu. Quelle serait la meilleure façon de construire le jeu pour permettre ce genre de malléabilité?
la source
Réponses:
Une manière traditionnelle d'atteindre cet objectif dans le développement de jeux consiste à utiliser une architecture basée sur les données pour les systèmes de jeux.
En substance, cela signifie que le code n'implémente pas un type particulier d'arme (un pistolet) avec des valeurs explicitement définies pour sa portée / dégâts / pénétration, mais qu'il remplit les concepts génériques d'une arme à distance (portée / dommages / pénétration ...) à partir d'une source de données externe (au code). Cette source externe peut varier de fichiers analysables (peut-être XML) lus depuis le disque, à des fichiers binaires ou des éléments de base de données générés via des outils internes ou externes au moteur de jeu lui-même.
Définissant quelque chose comme un ennemi, le système d'IA peut être conçu pour prendre en charge un certain nombre de comportements génériques (agressifs, défensifs, de soutien, lâches) qui sont ensuite peaufinés par des éléments pilotés par les données.
My New Enemy, commence par le comportement agressif de l'IA de base avec des valeurs basées sur les données pour: -ignorer les joueurs> mon niveau + X -poursuivre les joueurs jusqu'à X unités au-delà du point d'apparition -fuir quand la santé <X -les priorités des capacités rangées -les priorités des capacités de mêlée (pour les joueurs trop proches)
Un schéma basé sur des données plus compliqué pourrait permettre la définition de points de données spécifiques (événements) où un état AI passe (machine à états finis) à un autre état (ou même une chance de passer à l'un des N autres états) permettant à vos utilisateurs de définir un hiérarchie compliquée des comportements.
Tout cela est bien sûr plus de travail que le simple codage explicite d'un comportement, mais c'est un défi amusant pour permettre aux utilisateurs de produire du contenu sans modification de la source.
Il y a des points bonus à atteindre:
Pour un jeu de didacticiel ciblé comme une foule plus technique, la plupart du travail se fait à la place dans des classes / objets conçus qui exposent des interfaces propres pour les utilisateurs à étendre, qui à leur tour peuvent également être basées sur les données.
la source
Si vous cherchez quelques idées sur la façon de démarrer votre projet et de le construire étape par étape afin qu'il puisse être converti en tutoriel, jetez un œil à XNA Game Programming Adventures . L'auteur a mis en place plusieurs tutoriels, avec explication et code source qui incrémente étape par étape.
la source
Je suggérerais de regarder le tutoriel de développement de jeux Java sur www.thenewboston.com
Ce n'est peut-être pas exactement ce que vous recherchez en termes de types avec des armes et tout ce jazz, mais cela donne une belle ventilation étape par étape d'un certain nombre de facteurs clés dans le développement de jeux. Le présentateur "Bucky" a également un style d'enseignement relaxant, juste pour le plaisir. Prendre plaisir.
la source