Domanda

Am utilizzato per lo sviluppo di applicazioni di business e di riferimento. Ora devo fare un gioco di iPhone. Quali consigli puoi condividere di aiutarmi con:

  1. comprendere la portata del progetto
  2. definire i risultati finali
  3. specificando il gioco e gli altri parametri
  4. stimare lo sforzo di sviluppo
  5. testare il gioco

Una grande domanda, lo so. Grazie!

È stato utile?

Soluzione

La differenza principale tra applicazioni e giochi d'affari, in particolare su dispositivi mobili, è l'importanza di prestazioni. Un app che mette su una forma e attende l'input dell'utente, probabilmente non sta facendo nulla nel frattempo. Un ciclo di gioco, d'altra parte sta andando tutto il tempo e probabilmente facendo un sacco. programmatori commerciali non sono abituati a pensare in questi termini, ma i giochi draw down carica della batteria e, che ci crediate o no, come si implementare il vostro gioco avrà un grande effetto su quanto velocemente che la batteria è tratto verso il basso.

Quindi, una domanda è, che cosa è questo gioco che si "deve" svilupparsi? Se si tratta di sudoku, nessuna preoccupazione. Se si tratta di una battaglia spaziale in 3D in tempo reale, questa è un'altra storia.

Se le tue applicazioni aziendali erano su iPhone, allora probabilmente utilizzato al 100% Objective-C. (Se stavi facendo C # o Java applicazioni su desktop, quindi non esitare a gestire il proprio ricordo.) Ci sono quelli che vi dirà che la gestione tipo di runtime di Objective-C è troppo lento per i giochi complessi. La gente certamente fanno giochi OK utilizzarlo con Cocos2d e altri motori, ma ancora una volta dipende dal gioco. Ci sono sviluppatori professionisti che lavoreranno solo con il C ++ o anche direttamente C.

Altri suggerimenti

La mia risposta non sta seguendo la metodologia di risposta cascata che stavi cercando perché penso che hai bisogno di imparare l'abilità di programmazione del gioco prima di poter pianificare, progettare, implementare e testarlo. programmazione gioco è molto diverso alla programmazione aziendale e tutto un altro campo in sé e per sé.

A causa della vostra mancanza di esperienza nei giochi di programmazione ci sono alcuni concetti che hai bisogno di imparare prima di poter programmare un periodo di gioco, per non parlare di uno su iPhone.

Alcune di queste cose dipenderà dal fatto che si sta programmando un gioco 3D o andare per lo stile di piattaforma in 2D.

OpenGL ES La prima cosa che dovrete imparare è la OpenGL ES linguaggio di programmazione . Questo è fondamentalmente un API 3D che consente di fare il disegno di primitive 3D. Sarà comunque necessario utilizzare questo se si esegue la codifica di un gioco in 2D in quanto è veloce a causa di utilizzare la GPU per l'accelerazione. Ci sono alcuni buoni tutorial su Google che si dovrebbe cominciare.

Vector Math 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 vettori 2D (X, Y) meno il componente z sono ancora necessari per la programmazione giochi 2D.

Collision Detection Come faccio a sapere quando il mio palla colpisce il muro? La risposta è 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 PNG / nemici la capacità di prendere decisioni intelligenti. AI può essere semplice come se else ma di solito richiede macchine a stati finiti o logica Fuzzy per essere efficace.

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. A Star (A *) è uno dei 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 si sa cosa il polimorfismo è che sarà necessario sapere come è essenziale per i vostri oggetti di gioco di aderire e si lega con il grafico 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 seconda legge del moto F = ma (Forza = massa * accelerazione) di Newton. Un motore fisico open source come il proiettile, ODE, Newton, Tokamak renderà le cose più facili, il che significa che non sarà necessario scrivere queste fisica governa da soli.

Objective-C ++ Questo è opzionale, anche se raccomandato. Se non si conosce C ++ si tratta essenzialmente di una miscela di C ++ e Objective-C. Io tendo ad usare C ++ per il motore di gioco di base e la programmazione a causa della velocità di C ++ e la disponibilità di librerie di terze parti in C ++.

Audio 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. Mi sento di raccomandare l'apprendimento della SDK FMOD per iPhone. Come accennato @Stowelly, FMOD richiede una licenza per la distribuzione commerciale, ma ce ne sono altri che si possono cercare per i quali sono royalty free.


utilizzare un motore di gioco Ci sono motori di gioco disponibili per l'iPhone in questo momentoche renderà molto più facile per voi per ottenere un gioco in corso, nel tuo caso questo sarà più veloce, anche se sarà ancora bisogno di imparare i concetti che ho citato sopra.

Ecco alcuni motori di gioco che conosco di:

Unity3D Questo probabilmente il più popolare, che io sappia. L'unità è un motore di gioco PC / Mac che permette di scrivere il codice su Mac e compilare per Windows / Linux / Mac OS X. Dubito l'edificio iPhone è compatibile direttamente con altre piattaforme, immagino si sarebbe limitato a iPhone se è stato avviato un nuovo progetto. Questo motore ha tuttavia un costo distribuzione commerciale di $ 199- $ 399 della Costituzione.

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 Google Code.

Ecco alcuni altri di check out:

Ston3D per iPhone

Oolong motore

SIO2Engine

iTGB per i giochi 2D

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top