Frage

Am verwendeten Geschäfts- und Referenz-Anwendungen zu entwickeln. Jetzt habe ich ein iPhone-Spiel zu tun. Welche Tipps können Sie mir helfen, teilen mit:

  1. das Verständnis des Umfangs des Projektes
  2. Festlegung der zu erbringenden Leistungen
  3. Angabe des Spiels und andere Parameter
  4. Abschätzung der Entwicklungsaufwand
  5. Testen Sie das Spiel

Eine große Frage, die ich kenne. Dank!

War es hilfreich?

Lösung

Der wesentliche Unterschied zwischen Business-Anwendungen und Spiele, vor allem auf mobilen Geräten, ist die Bedeutung der Leistung. Eine App, die wahrscheinlich eine Form und wartet auf Benutzereingaben erträgt nicht alles in der Zwischenzeit tun. Ein Spielschleife, auf der anderen Seite wird die ganze Zeit und wahrscheinlich eine Menge zu tun. Business-Programmierer zu denken in diesen Bedingungen nicht verwendet, aber Spiele Batterieleistung abzog und ob Sie es glauben oder nicht, wie Sie Ihr Spiel umsetzen wird eine große Wirkung haben, wie schnell die Batterie nach unten gezogen wird.

, also eine Frage ist, was ist das Spiel, das Sie „müssen“ entwickeln? Wenn es sudoku, keine Sorgen. Wenn es sich um eine Echtzeit-3D-Raum Schlacht ist, das ist eine andere Geschichte.

Wenn Sie Ihre Business-Anwendungen auf dem iPhone waren, dann verwendet man wahrscheinlich 100% Objective-C. (Wenn Sie wurden C # oder Java-Anwendungen auf Desktop-Computern zu tun, dann willkommen zu Ihrer eigenen Speicher zu verwalten.) Es sind diejenigen, die Ihnen sagen, dass die Laufzeittyp Management von Objective-C ist zu langsam für komplexe Spiele. Menschen sicherlich OK Spiele machen es mit Cocos2D und anderen Motoren verwenden, aber auch hier kommt es auf dem Spiel. Es gibt professionelle Entwickler, die nur mit C ++ arbeiten oder sogar gerade C.

Andere Tipps

Meine Antwort folgt nicht den Wasserfall Methodik Antwort, die Sie gesucht haben, weil ich denke, benötigen Sie die Fähigkeit der Spiele-Programmierung zu lernen, bevor Sie planen, entwerfen, implementieren und testen. Spiele-Programmierung ist sehr unterschiedlich zu dem Business-Programmierung und ein ganz anderen Feld an und für sich.

Durch Ihren Mangel an Erfahrung in der Programmierung von Spielen gibt es ein paar Konzepte, die Sie benötigen, um zu lernen, bevor Sie eine Spielperiode programmieren können, geschweige denn eine auf dem iPhone.

Einige dieser Dinge werden davon abhängen, ob Sie ein 3D-Spiel programmieren oder gehen für den 2D-Plattform-Stil.

OpenGL ES Das erste, was müssen Sie lernen, ist die OpenGL ES Programmiersprache . Dies ist im Grunde ein 3D-API, die Sie Zeichnung von 3D-Primitiven tun ermöglicht. Sie werden immer noch diese verwenden müssen, wenn Sie ein 2D-Spiel codieren, wie es aufgrund der Verwendung der GPU zur Beschleunigung schnell ist. Es gibt einige gute Tutorials auf der Google, dass Sie beginnen sollen.

Vector Math Wenn Sie etwas 3D tun, müssen Sie über 3D-Vektor-Mathematik lernen, Vektoren sind grundsätzlich für alles, was in den Spielen, Kamerablickrichtung, Position der Zeichen, Geschwindigkeit, Kollisionserkennung, usw. 2D-Vektoren (x, y) abzüglich der verwendeten z-Komponente wird noch benötigt für 2D-Spiele-Programmierung.

Kollisionserkennung Wie kann ich wissen, wenn mein Ball auf die Wand trifft? Die Antwort ist die Kollisionserkennung. Es gibt viele Formen von Kollisionserkennung wie Sphere Sphere, AABB , OOBB , Convex Rümpfe, Dreiecksnetz, etc.

AI Wie erhalte ich den Feind meine Spielerfigur angreifen? Künstliche Intelligenz ist ein weiteres großes Feld wesentliche NPCs / Gegner die Fähigkeit zu machen intelligente Entscheidungen zu geben. AI kann einfach sein wie wenn else-Anweisungen, aber in der Regel erfordert Finite State Machines oder Fuzzy-Logik wirksam zu sein.

Pathfinding Wenn Sie ein Zeichen von Punkt A bewegen wollen nach Punkt B unter Vermeidung Feinde und bewegliche Hindernisse, benötigen Sie einen Wegfindung Algorithmus zu verwenden. Ein Stern (A *) ist einer der beliebtesten.

Scene Graph Wenn Sie zu einem Zeitpunkt, 10-20 + Feinde auf dem Bildschirm haben wollen, müssen Sie einen Szenengraph codieren, die dynamische Zeichnung, Logik und Erstellen und Löschen von Ressourcen zu verwalten. Wenn Sie nicht wissen, was Polymorphismus ist, müssen Sie es wissen, wie es wichtig ist für Ihre Objekte im Spiel zu halten und es knüpft an den Szenengraph.

Physik Position, Geschwindigkeit, Beschleunigung, Schwerkraft und Strahlen sind alle mit Vektoren dargestellt und Sie können auf Ihrer Physik Mathematik, um auffrischen müssen jedes Spiel zu codieren. Beginnen Sie mit Newtons zweites Bewegungsgesetz F = MA (Kraft = Masse * Beschleunigung). Physik-Engine Ein Open-Source wie Kugel, ODE, Newton, Tokamak werden die Dinge einfacher machen, das heißt, Sie werden nicht diese Physik schreiben müssen Regeln selbst.

Objective-C ++ Dies ist optional, obwohl empfohlen. Wenn Sie nicht wissen, C ++ ist dies im Wesentlichen ein Gemisch aus C ++ und Objective-C. Ich neige dazu, wegen der Geschwindigkeit von C C ++ für die Kern-Game-Engine und Programmierung ++ zu verwenden und die Verfügbarkeit von Drittanbieter-Bibliotheken in C ++.

Sound Wenn Sie klingen möchten, können Sie einfach weitermachen und das einfache Audio-Frameworks verwenden, die von Apple zur Verfügung stellen, aber 3D-Audio wird besser, etwas zu verlangen. Ich würde empfehlen, das BMVg SDK für das iPhone zu lernen. Wie @Stowelly erwähnt, erfordert FMOD eine Lizenz für den kommerziellen Vertrieb, aber es gibt andere, die Sie für die lizenzfrei sind aussehen kann.


Verwenden Sie eine Game Engine Es gibt Spiele-Engines für das iPhone zur Zeitdas wird es viel einfacher für Sie, ein Spiel geht, in Ihrem Fall zu bekommen dies wird schneller sein, obwohl Sie noch die Konzepte lernen müssen, werden auf die ich oben erwähnt.

Hier sind einige Spiele-Engines Ich kenne:

Unity3D Dies ist wahrscheinlich der bekannteste, die ich kenne. Unity ist ein PC / Mac-Game-Engine, die Sie auf dem Mac Code schreiben können und kompilieren für Windows / Linux / Mac OS X. Ich bezweifle das iPhone Gebäude kompatibel ist direkt mit anderen Plattformen, ich könnte mir vorstellen, Sie auf das iPhone beschränkt werden würde, wenn Sie begann ein neues Projekt. Dieser Motor hat jedoch einen kommerziellen Einsatz Kosten von 199- $ 399 $.

Cocos2D Dies ist ein Open-Source-2D-Spiele-Engine, die für eine Menge von Spielen nützlich sein könnte. Worth auf einen Blick. Hosted auf Google Code.

Hier sind einige andere heraus zu überprüfen:

Ston3D für iPhone

Oolong Motor

SIO2Engine

iTGB für 2D-Spiele

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top