La mia risposta non sta seguendo la risposta metodologica cascata che stavi cercando perché penso che sarà necessario imparare l'abilità della programmazione del gioco prima di poter pianificare, progettare, implementare e testarlo. La programmazione del gioco è MOLTO diversa dalla programmazione aziendale e da un altro campo in sé e per sé.
A causa della tua mancanza di esperienza nella programmazione di giochi, ci sono alcuni concetti che dovrai imparare prima di poter programmare un periodo di gioco, figuriamoci uno su iPhone.
Alcune di queste cose dipenderanno dalla programmazione di un gioco 3D o dallo stile di piattaforma 2D.
OpenGL ES La prima cosa che dovrete imparare è il OpenGL ES programming language. Questa è fondamentalmente un'API 3D che ti consente di disegnare primitive 3D. Dovrai comunque usarlo se stai codificando un gioco 2D in quanto è veloce grazie all'utilizzo della GPU per l'accelerazione. Ci sono alcuni buoni tutorial su Google da cui iniziare.
matematica vettoriale Se stai facendo qualcosa di 3D, è necessario conoscere matematica vettoriale 3D, i vettori sono essenzialmente utilizzati per tutto, nei giochi, direzione della telecamera aspetto, posizione dei caratteri, la velocità, il rilevamento delle collisioni, ecc I vettori 2D (x, y) meno il componente z sono ancora necessari per la programmazione di giochi 2D.
Rilevazione collisione Come faccio a sapere quando la mia palla colpisce il muro? La risposta è il rilevamento delle collisioni. Ci sono molte forme di rilevamento delle collisioni, come sfera in sfera, AABB, OOBB, convesso Carene, Triangolo Mesh, ecc
AI Come faccio ad avere il nemico ad attaccare il mio personaggio? L'intelligenza artificiale è un altro grande campo essenziale per dare a NPC/Nemici la capacità di prendere decisioni intelligenti. L'intelligenza artificiale può essere semplice, ad esempio se altre affermazioni, ma in genere richiede che le macchine a stati finiti o la logica fuzzy siano efficaci.
Pathfinding Se si desidera spostare un personaggio dal punto A al punto B, evitando i nemici e gli ostacoli in movimento, è necessario utilizzare un algoritmo di pathfinding. Una stella (A *) è una delle più popolari.
Scene Graph Se si desidera avere 10-20 + nemici sullo schermo in un momento, è necessario codificare un grafico scena per la gestione del disegno dinamico, la logica e la creazione e la cancellazione delle risorse. Se non sai quale polimorfismo devi conoscere, è essenziale che i tuoi oggetti di gioco aderiscano e si integri con il grafico della scena.
Fisica posizione, velocità, accelerazione, Gravità e Raggi sono tutti rappresentati usando vettori e potrebbe essere necessario rispolverare il tuo matematica fisica al fine di codificare qualsiasi gioco. Inizia con la seconda legge del moto di Newton F = MA (Force = Mass * Acceleration). Un motore fisico open source come Bullet, ODE, Newton, Tokamak renderà le cose più facili, il che significa che non avrai bisogno di scrivere queste regole fisiche da solo.
Objective-C++ Questo è opzionale sebbene consigliato. Se non conosci C++, questo è essenzialmente un misto di C++ e Objective-C. Tendo ad usare C++ per il motore di gioco di base e la programmazione a causa della velocità del C++ e della disponibilità di librerie di terze parti in C++.
suono Se avete bisogno di suono si può solo andare avanti e usare le semplici framework audio che Apple forniscono, tuttavia l'audio posizionale 3D sta per richiedere qualcosa di meglio. Consiglierei di imparare l'SDK FMOD per iPhone. Come menzionato da @Stowelly, FMOD richiede una licenza per la distribuzione commerciale, ma ci sono altri che puoi cercare e che sono esenti da royalty.
Usare un motore di gioco Ci sono motori di gioco disponibili per l'iPhone in questo momento che renderanno molto più facile per voi per ottenere una partita in corso, nel tuo caso questo sarà più veloce, anche se sarà comunque bisogno di imparare i concetti che ho citato sopra.
Ecco alcuni motori di gioco che conosco:
Unity3D Questo probabilmente il più popolare quella che io sappia. Unity è un motore di gioco per PC/Mac che ti permette di scrivere codice su Mac e compilare per Windows/Linux/Mac OS X. Dubito che l'edificio per iPhone sia compatibile direttamente con altre piattaforme, immagino che verrai limitato all'iPhone se hai iniziato un nuovo progetto. Questo motore ha tuttavia un costo di implementazione commerciale di $ 199- $ 399.
Cocos2D Questo è un motore di gioco 2D fonte aperta che potrebbe essere utile per un sacco di giochi. Vale la pena dare un'occhiata a Ospitato su codice Google.
Ecco alcuni altri di controllare:
Ston3D for iPhone
OOlong Engine
SIO2Engine
iTGB for 2D Games
Il processo di revisione dell'App Store –
Se stai chiedendo suggerimenti e suggerimenti, questo dovrebbe essere Wiki di comunità? – Xetius