Moja odpowiedź nie jest zgodna z metodologią wodospadu, której szukasz, ponieważ uważam, że będziesz musiał nauczyć się umiejętności programowania gier, zanim będziesz mógł planować, projektować, wdrażać i testować. Programowanie gier jest BARDZO różne od programowania biznesowego i całej innej dziedziny samej w sobie.
Z powodu braku doświadczenia w programowaniu gier, istnieje kilka koncepcji, których należy się nauczyć, zanim będzie można zaprogramować okres gry, nie wspominając już o telefonie iPhone.
Niektóre z tych rzeczy zależą od tego, czy programujesz grę 3D, czy wybierasz styl platformy 2D.
OpenGL ES Pierwszą rzeczą, którą musisz się nauczyć, jest OpenGL ES programming language. Jest to w zasadzie interfejs API 3D, który umożliwia rysowanie prymitywów 3D. Nadal będziesz musiał użyć tego, jeśli kodujesz grę 2D, ponieważ jest ona szybka z powodu użycia GPU do przyspieszania. Istnieje kilka dobrych tutoriali w Google, od których powinieneś zacząć.
wektorowa Math Jeśli robisz coś 3D, trzeba będzie dowiedzieć się o matematyce wektor 3d, wektory są wykorzystywane do gier, wszystko w kierunku wygląd aparatu, położenia znaków, szybkość wykrywania kolizji, etc. Wektory 2D (x, y) minus składowa z są nadal potrzebne do programowania gier 2D.
Wykrywanie kolizji Skąd wiadomo, kiedy moja piłka uderza w ścianę? Odpowiedzią jest wykrywanie kolizji. Istnieje wiele form wykrywania kolizji, takie jak sfery do sfery, AABB, OOBB, otoczka wypukła, siatki trójkątów itp
AI Jak mogę wróg atakować mój odtwarzacz charakter? Sztuczna inteligencja to kolejne duże pole niezbędne, aby NPC/Wrogowie mogli podejmować inteligentne decyzje. Sztuczna inteligencja może być prosta, jak na przykład instrukcje inne, ale zwykle wymaga skończonych maszyn stanów lub logiki rozmytej, aby były skuteczne.
Pathfinding Jeśli chcesz przenieść postać z punktu A do punktu B, unikając wrogów i ruchomych przeszkód, trzeba będzie użyć algorytmu pathfinding. Gwiazda (A *) jest jedną z najpopularniejszych.
Scene Graph Jeśli chcesz mieć 10-20 + wrogów na ekranie na raz, trzeba będzie kodować wykres sceny do zarządzania dynamicznego rysunku, logikę oraz tworzenie i usuwanie zasobów. Jeśli nie wiesz, czym jest polimorfizm, musisz go znać, ponieważ jest to niezbędne, aby twoje obiekty gry były zgodne z grafem sceny.
Fizyka pozycja, prędkość, przyspieszenie, Gravity i promienie są reprezentowane za pomocą wektorów i być może trzeba odświeżyć swojej fizyki matematyki, aby zakodować dowolną grę. Zacznij od drugiej zasady ruchu Newtona F = MA (siła = masa * przyspieszenie). Silnik fizyki open source, taki jak Bullet, ODE, Newton, Tokamak, ułatwi to działanie, co oznacza, że nie będziesz musiał sam pisać tych zasad fizyki.
Objective-C++ Jest to opcjonalne, choć zalecane. Jeśli nie znasz C++, jest to w zasadzie połączenie C++ i Objective-C. Mam tendencję do używania C++ do podstawowego mechanizmu gry i programowania ze względu na szybkość C++ i dostępność bibliotek stron trzecich w C++.
Dźwięk Jeśli chcesz brzmieć można po prostu iść do przodu i używać prostych struktur dźwiękowych, które dostarczają firmy Apple, jednak 3D pozycyjny dźwięk będzie wymagać czegoś lepszego. Polecam naukę zestawu FMOD SDK dla iPhone'a. Jak wspomniano w @Stowelly, FMOD wymaga licencji na komercyjną dystrybucję, ale są też inne, których można szukać za darmo.
Użyj silnik gry Istnieją silniki dostępne dla iPhone gry w momencie, który będzie o wiele łatwiej można dostać grę dzieje w twoim przypadku to będzie szybciej, mimo że nadal będzie muszę nauczyć się koncepcji, o których wspomniałem powyżej.
Oto niektóre silniki gry znam:
Unity3D To prawdopodobnie najbardziej popularny, że nie wiem. Unity to silnik do gier na PC/Mac, który pozwala pisać kod na Macu i kompilować w systemie Windows/Linux/Mac OS X. Wątpię, czy budynek iPhone'a jest kompatybilny bezpośrednio z innymi platformami, wyobrażam sobie, że byłbyś ograniczony do iPhone'a, jeśli rozpocząłeś nowy projekt. Ten silnik ma jednak komercyjny koszt wdrożenia od 199 do 399 USD.
Cocos2D Ta jedna jest open source 2D silnik gry, które mogą być przydatne dla wielu gier. Warto przyjrzeć się. Hostowane w kodzie Google.
Oto kilka innych, aby sprawdzić:
Ston3D for iPhone
OOlong Engine
SIO2Engine
iTGB for 2D Games
Proces przeglądu App Store –
Jeśli proszą o wskazówki, to powinien być Wiki? – Xetius