Théorie de conception de jeu OOP
J'ai tenté de développer un jeu en 2D avec C++ dans le passé à l'aide de simples objets, cependant, dans le processus de conception, je ne sais pas comment et à quelles parties du moteur, je devrais diviser en plus petits objets, exactement ce qu'ils doivent faire et comment les faire interagir les uns avec les autres correctement. Je suis à la recherche pour les livres, tutoriels, journaux, tout ce qui explique le moteur de jeu de conception en détail. Merci.
source d'informationauteur TheMagician
Vous devez vous connecter pour publier un commentaire.
Lecture obligatoire: http://scientificninja.com/advice/write-games-not-engines
Pourquoi pensez-vous que vous avez besoin d'un moteur de jeu? Écrire le code dont vous avez besoin pour mettre en œuvre votre jeu. Modifier le long du chemin que les besoins changent. Et quand vous avez un jeu complet, de prendre du recul et de regarder ce que le résultat ressemble.
Vous ne pouvez pas, et ne devrait pas, de jeter un diagramme de classe au début. L'esquisse d'une idée approximative de ce que le général de composants que vous voulez, et quelles sont leurs responsabilités devraient être, et puis essayer de code. Commencez avec les classes, vous êtes sûr de. Tôt ou tard, certains d'entre eux de devenir gros et lourd, de sorte que vous de le diviser en plusieurs plus petits. Parfois, vous pouvez constater que plusieurs classes sont essentiellement faire la même chose, de sorte que vous fusionner ensemble. J'espère que, tôt ou tard, vous vous retrouverez avec un design qui œuvresce qui est plus que ce que vous obtiendriez si vous avez essayé de concevoir un moteur de jeu à l'avant.
Si vous n'avez pas fait un jeu avant, comment pouvez-vous faire un moteur? Il y a des tonnes de moteurs gratuits, ou vous serez passé 20 ans à essayer de faire quelque chose, parce que vous serez réécrire encore et encore.
Il y a deux types d'objets dans un jeu. Il y a des objets qui contiennent des processus, et il y a des objets qui interagissent avec l'environnement et l'utilisateur.
Pour ces objets que d'exécuter un processus tel que la modification de l'opacité des objets que vous voudrez leur permet d'être indépendant de tout niveau de la classe de variables. Ils devraient simplement prendre de la valeur(s) et valeur de retour(s). Si vous avez un processus de calculer la gravité, le processus devrait prendre de l'objet qui lui gravité est calculé, et le retour le montant de la gravité, l'objet est d'expérimenter, et de la direction de la gravité si le jeu prend place dans l'espace.
Le deuxième plus important de types d'objets sont ceux qui interagissent avec l'utilisateur et l'environnement. Ces objets doivent tous inheret de la même classe de base. La classe de base nécessitera une image, et de la position x et y, et peut avoir des variables qui remplissent des processus tels que la modification de la vitesse ou de la direction de la variable.
Avec cette classe de base en place, vous pouvez alors effectuer des proccesses comme la gravité proccess mentionné précédemment, en utilisant tous les objets "built-in", des variables comme la vitesse, la direction et la position x et y.
Vous voudrez aussi de configurer vos objets à l'exécution de morceaux de code sous certaines conditions. Il peut être une bonne idée d'avoir votre classe de base de fournir des fonctions get exécuter lorsque l'une de ces conditions sont remplies. Certaines fonctions conditionnelles sont conditionnelle fonction pour aller de quand un objet est créé et lorsqu'il est détruit. Un conditionnelle fonction pour aller d'après une minuterie est réglée. Une condition fonctionnelle pour aller de permanence où vous pouvez placer le code pour dessiner des images sur l'écran. Un conditionnelle fonction pour qu'elle se déclenche Lorsqu'un clavier ou un bouton de la souris est enfoncé. Un conditionnelle fonction pour aller éteindre un certain nombre de fois par seconde pour calculer des choses comme la gravité sur un objet.
Ce cadre a très bien fonctionné pour moi lors de la création de jeux. Il fonctionne pour tout type de jeu, et travaille horriblement pour d'autres types de programmes. Désolé si mon writin est pas clair, je suis en tapant sur mon iPod et Il serait difficile pour moi de revenir en arrière et modifier des choses sur ici.
Eberly de Moteur de Jeu 3D de l'Architecture et Moteur de Jeu 3D de Conception sont plutôt lourds sur la théorie, mais aussi de couvrir toutes les bases assez bien.
http://fivedots.coe.psu.ac.th/~ad/jg/
Ce mec dispose d'une bonne programmation orientée objet, le style et, à travers ce livre vous aide à construire un moteur de cadre. C'est un spot sur les bonnes choses.