Question

Am utilisé pour le développement d'applications d'affaires et de référence. Maintenant, je dois faire un jeu iPhone. Quels conseils pouvez-vous me aider avec:

  1. comprendre la portée du projet
  2. définir les produits livrables
  3. spécifiant le jeu et d'autres paramètres
  4. estimer l'effort de développement
  5. tester le jeu

Une grande question, je sais. Merci!

Était-ce utile?

La solution

La principale différence entre les applications d'entreprise et des jeux, en particulier sur les appareils mobiles, est l'importance de la performance. Une application qui met en place une forme et attend l'entrée utilisateur est probablement pas fait quoi que ce soit dans l'intervalle. Une boucle de jeu, d'autre part va tout le temps et probablement faire beaucoup. programmeurs d'affaires ne sont pas habitués à penser en ces termes, mais les jeux tirent vers le bas la puissance de la batterie et, croyez-le ou non, comment vous mettre en œuvre votre jeu aura un grand effet sur la rapidité avec laquelle la batterie est tirée vers le bas.

Alors, une question est, quel est ce jeu que vous « devez » développer? Si elle est firefighters, pas de soucis. Si c'est un temps réel bataille spatiale 3D, c'est une autre histoire.

Si vos applications d'affaires étaient sur l'iPhone, alors vous avez probablement utilisé 100% Objective-C. (Si vous faisiez C # ou Java applications sur les postes de travail, alors bienvenue à la gestion de votre propre mémoire.) Il y a ceux qui vous diront que la gestion du type d'exécution d'Objective-C est trop lent pour les jeux complexes. Les gens font certainement des jeux OK en utilisant avec Cocos2D et d'autres moteurs, mais encore une fois cela dépend du jeu. Il y a des développeurs professionnels qui ne fonctionnent qu'avec C ++ ou même C droit.

Autres conseils

Ma réponse ne suit pas la réponse de la méthodologie de chute d'eau que vous recherchez parce que je pense que vous aurez besoin d'apprendre la compétence de la programmation du jeu avant de pouvoir planifier, concevoir, mettre en œuvre et de le tester. la programmation du jeu est très différent de la programmation d'affaires et un domaine tout autre en soi.

En raison il y a quelques concepts que vous aurez besoin d'apprendre votre manque d'expérience dans les jeux de programmation avant de pouvoir programmer une période de jeu, et encore moins un sur l'iPhone.

Certaines de ces choses dépendra si vous programmez un jeu en 3D ou d'aller pour le style de plate-forme 2D.

OpenGL ES La première chose que vous aurez besoin d'apprendre est le OpenGL ES langage de programmation . Ceci est essentiellement une API 3D qui vous permet de faire le dessin des primitives 3D. Vous aurez toujours besoin d'utiliser si vous codez un jeu en 2D comme il est rapide grâce à l'utilisation du GPU pour l'accélération. Il y a quelques bons tutoriels sur le Google que vous devriez commencer.

Math Vector Si vous faites quoi que ce soit en 3D, vous devez en apprendre davantage sur les mathématiques de vecteur 3D, des vecteurs sont essentiellement utilisés pour tout dans les jeux, la direction du regard de la caméra, la position de caractères, la vitesse, la détection de collision, etc. vecteurs 2D (x, y) moins la composante z sont encore nécessaires pour la programmation des jeux 2D.

Détection de collision Comment puis-je savoir quand ma balle frappe le mur? La réponse est la détection de collision. Il existe de nombreuses formes de détection de collision telles que Sphère à Sphère, AABB , OOBB , Convex Hulls, Triangle Mesh, etc.

AI Comment puis-je obtenir l'ennemi d'attaquer mon personnage de joueur? L'intelligence artificielle est un autre grand domaine essentiel pour donner NPCs / ennemis la possibilité de prendre des décisions intelligentes. AI peut être simple comme l'instruction if else mais nécessite généralement des automates finis ou logique floue pour être efficace.

Pathfinding Si vous souhaitez déplacer un personnage du point A au point B, tout en évitant les ennemis et les obstacles en mouvement, vous devez utiliser un algorithme de pathfinding. Une étoile (A *) est l'un des plus populaires.

Scene Graph Si vous souhaitez avoir 10-20 + ennemis à l'écran à la fois, vous aurez besoin de coder un graphe de scène pour gérer le dessin dynamique, la logique et la création et la suppression des ressources. Si vous ne savez pas ce que le polymorphisme vous devez savoir comme il est essentiel pour vos objets de jeu à adhérer et il lie avec le graphique de la scène.

Physique Position, vitesse, accélération, la gravité et les rayons sont tous représentés en utilisant des vecteurs et vous devrez peut-être rafraîchir vos calculs de physique pour coder un jeu. Commencez par la deuxième loi du mouvement de Newton F = MA (Force = masse * Accélération). Un moteur physique open source tels que Bullet, ODE, Newton, Tokamak va rendre les choses plus faciles, ce qui signifie que vous ne aurez pas besoin d'écrire ces physique vous règles.

Objective-C ++ Cette option est facultative, bien que recommandé. Si vous ne connaissez pas C ++ c'est essentiellement un mélange de C ++ et Objective-C. J'ai tendance à utiliser C ++ pour le moteur et la programmation du jeu de base en raison de la vitesse de C ++ et la disponibilité des bibliothèques tiers en C ++.

Son Si vous avez besoin le son que vous pouvez simplement aller de l'avant et d'utiliser les simples cadres audio qui fournissent Apple, mais son positionnel 3D va exiger quelque chose de mieux. Je recommande l'apprentissage du SDK FMOD pour iPhone. Comme mentionné @Stowelly, FMOD nécessite une licence pour la distribution commerciale, mais il y a d'autres que vous pouvez rechercher qui sont libres de droits.


Utilisez un moteur de jeu Il existe des moteurs jeu disponibles pour l'iPhone au momentce qui rendra beaucoup plus facile pour vous d'obtenir un jeu va, dans votre cas ce sera plus rapide mais vous aurez toujours besoin d'apprendre les concepts que j'ai mentionnés ci-dessus.

Voici quelques moteurs de jeu que je connais:

Unity3D Ce probablement le plus populaire que je connaisse. L'unité est un PC / moteur de jeu Mac qui vous permet d'écrire du code sur le Mac et compilez pour Windows / Linux / Mac OS X. Je doute que le bâtiment iPhone est compatible directement avec d'autres plates-formes, je vous imagine seriez limité à l'iPhone si vous avez commencé un nouveau projet. Ce moteur a cependant un coût de déploiement commercial de 199- $ 399 $.

Cocos2D Celui-ci est un moteur de jeu 2D open source qui pourrait être utile pour beaucoup de jeux. Vaut jeter un oeil à. Hébergé sur le code Google.

Voici quelques autres à consulter:

Ston3D pour iPhone

Oolong moteur

SIO2Engine

iTGB pour les jeux 2D

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top