2010 02 Xcode [Programowanie Gier]

background image

02/2010

60

Programowanie gier

Xcode

www.sdjournal.org

61

D

o napisania gry wymagany jest
komputer Mac, co może wiązać
się z wydatkiem zaczynającym się

w okolicach dwóch tysięcy złotych. Do testo-
wania dzieła na pewno też dobrze mieć do-
celowe urządzenie – iPhone’a lub iPoda To-
uch. Gdy już te absolutnie podstawowe wa-
runki zostają spełnione, nic (lub prawie nic)
nie stoi na przeszkodzie, by rozpocząć pracę
nad grą marzeń. Z tym, co stanąć może, po-
staramy się rozprawić w poniższym artykule.
Zapraszamy do lektury.

Krok pierwszy

– rejestracja na portalu

Czas zacząć. Zdecydowanie pierwszym kro-
kiem powinno być zarejestrowanie na oficjal-
nym portalu developerskim Apple dostęp-
nym pod adresem:
http://developer.apple.com/iphone/

Dzięki temu developer będzie mógł korzy-

stać ze wszystkich zasobów i informacji poma-
gających w programowaniu na iPhone OS. Sa-
ma rejestracja podzielona jest na dwie części.
Pierwsza darmowa umożliwia ściąganie SDK
i uruchamianie aplikacji na symulatorze. Dru-

ga płatna w wysokości $99 (lub 299 dla du-
żych firm) pozwala na uruchamianie aplikacji
na sprzęcie i późniejszą dystrybucję aplikacji
na App Store. Prócz tego płatna rejestracja da-
je większy dostęp do bazy wiedzy i przykładów
przygotowanych przez Apple. Niezbędne będą
takie dane, jak numery konta, informacje o ban-
ku. Należy przy tym pamiętać, że wszelkie przy-
chody z App Store należy rozliczyć z Urzędem
Skarbowym. Tak głosi prawo.

Krok drugi

– ściągnięcie i zainstalowanie

odpowiednich materiałów

Po pomyślnej rejestracji na portalu pracę czas
zacząć! W zależności od zainstalowanego OS-u
na Macu należy ściągnąć i zainstalować SDK
w wersji Leopard bądź Snow Leopard. SDK
zawiera:

Xcode – środowisko pozwalające

na

programowanie/kompilowanie/

uruchamianie stworzonej aplikacji,

iPhone simulator – symulator iPhone po-

zwalający na uruchomienie stworzonej
aplikacji, jej testowanie i debugowanie,

Tools – zestaw dodatkowych narzędzi

pozwalających na łatwiejsze i sprawniej-
sze programowanie i tworzenie aplika-
cji. Jednym z ciekawszych narzędzi jest
Instruments pozwalający na dokładne i

Xcode

iPhone i App Store to światowy fenomen. Firma Apple dokonała

niemożliwego i uwolniła wielką siłę niezależnych developerów mogących

od teraz spełniać swoje wizje i tworzyć gry jak dawniej, w pojedynkę lub

w małych zespołach, siedząc nad nimi po pracy, w garażach.

Dowiesz się:

• Co potrzebne jest do programowania gier

na iPhone’a;

• Jak zacząć pracę nad grą i jakie są etapy jej

produkcji;

• Jak warto zorganizować sobie strukturę pro-

jektu.

Powinieneś wiedzieć:

• Podstawy obsługi Xcode;
• Znać podstawy C++ i Objective-C;
• Przeczytać artykuł dotyczący programowa-

nia na iPhone;

• Podstawowe informacje na temat develop-

mentu gier.

Poziom

trudności

Xcode – oto czytelnik. Czytelniku – oto Xcode. Poznajcie się.

Wprowadzenie do programowania najpopularniejszego

urządzenia mobilnego na świecie.

Rysunek 1. Ekran powitalny Xcode IDE

background image

02/2010

60

Programowanie gier

Xcode

www.sdjournal.org

61

szybkie namierzenie problemów związa-
nych z zarządzaniem pamięcią.

Krok trzeci

– odpalenie środowiska i stwo-

rzenie przykładowej aplikacji

Do tego celu służy środowisko Xcode. Jest to
główne narzędzie SDK pozwalające na tworze-
nie aplikacji, testowanie, uruchamianie i przy-
gotowywanie wersji na urządzenie. Sercem ze-
stawu narzędzi Xcode jest Xcode IDE – graficz-
ny kombajn zawierający profesjonalny text editor,
system tworzenia aplikacji, debugger oraz kom-
pilator. Więcej o Xcode można przeczytać pod
adresem: http://developer.apple.com/tools/Xcode/.

Stwórzmy grę!

Wiele gier powstaje, bazując na już istnieją-
cych produktach. Warto jednak sięgnąć po
własny produkt, którym zawojujemy rynek.

Pomysł – skąd go wziąć?
• burza mózgów.

Twórcze głowy zasiadają do stołu (na łące,
w pubie itd.) i snują pomysły, dzieląc się swo-
imi przemyśleniami. Wyznaczona osoba no-
tuje. Zakaz krytykowania i wyśmiewania
pod groźbą stawiania kolejki.

• analiza rynku (co na rynku robi konku-

rencja, na co jest popyt, czego brakuje?);

• przypadkowe olśnienie. Czasami uderza

znienacka, czasami pod wpływem jakiejś
innej gry. App Store pełen jest takich gier,
wiele z nich odnosi sukces właśnie dzięki
nieprzewidywalności i oryginalności.

Strona organizacyjna produkcji gry
Czasy, w których każda gra powstawała w zaci-
szu domowym i była tworzona przez jedną lub
dwie osoby, dawno odeszły do lamusa. Aktual-
nie w tworzenie gry bardzo często zaangażowa-
nych jest wiele osób. W zależności od wielkości
projektu może to być 4 lub nawet 400 osób.
Aby poprawnie zarządzać taką ekipą, trzeba

nie lada doświadczenia i wiedzy. Profesjonalne
i zdroworozsądkowe podejście do sprawy wy-
maga stworzenia planu produkcji gry. Dzieje się
to w pierwszym etapie zwanym zazwyczaj pre-
produkcją. Podczas tego etapu liderzy projektu
wraz z producentem, bazując na GDD i TDD,
gry przygotowują zadania dla poszczególnych
członków zespołu.

Niezbędne narzędzia
w procesie developmentu gry
Do sprawnej organizacji całego przedsięwzię-
cia przydadzą się różne narzędzia. Pozwolą
one na łatwiejszą, sprawniejszą i szybszą pra-
cę całego zespołu. W dzisiejszych dniach two-
rzenie gry wymaga takich narzędzi jak:

Managing tools – pozwalają na stworze-

nie planu, przydzielenia zadań członkom
zespołu i koordynację całego procesu pro-
dukcji. Najbardziej znanym komercyjnym
rozwązaniem jest Microsoft Project. Ist-
nieją także alternatywne darmowe roz-
wiązania takie jak np. dotProject.;

Bugtracking – dzięki niemu zarządzanie

błędami, które mogą wystąpić w trakcie
trwania projektu staje się dużo prostsze,
przejrzystsze i szybsze. Do najpopular-
niejszych bugtrackerów należą: Mantis,
Bugzilla czy Track Studio;

Rysunek 2. Ekran powitalny symulatora iPhone

Rysunek 3. Boozle – gra firmy Vivid Games

inspirowana pomysłami z firmowej imprezy

Na Skróty

• SDK (ang. Software Development Kit) – Zestaw narzędzi dla programistów niezbędny do stworzenia aplikacji korzystającej z określonych

funkcji pod określonym systemem operacyjnym.

• App Store – Sklep online firmy Apple pozwalający na zakup cyfrowych produktów, między innymi gier na iPhone’a.

• GDD (ang. Game Design Document) – Dokument zawierający wszystkie wymagane informacje pozwalające na stworzenie gry. Tworzony jest

przez “Game Designera”

• TDD (ang. Technical Design Document) – Techniczna wersja GDD opisująca wszelkie zagadnienia dotyczące gry od strony technicznej.

• API (ang. Application Programming Interface) – Interfejs programowania aplikacji umożliwiający komunikację z systemem operacyjnym, bi-

blioteką bądź innym zewnętrznym systemem.

• Cocoa – Jedno z pięciu głównych API systemu operacyjnego Mac OS X firmy Apple,

• Xcode – Zintegrowane środowisko programistyczne firmy Apple. Służy do tworzenia aplikacji i innego oprogramowania przeznaczonego

m. in. na system Mac OS X.

• UML (ang. Unified Modeling Language) – Zunifikowany Język Modelowania służący do opisu świata obiektów w analizie obiektowej oraz

programowaniu obiektowym.

Rysunek 4. Przykładowy szkielet głównej klasy w grze zaprojektowany za pomocą UML

����

����������
�����������������
�����������
����������������
�����������������

��������������
������������������������������
����������������������������
�������������������������
��������������������������������������������������������������������
������������������������������
���������������������������
����������������������������������

background image

02/2010

62

Programowanie gier

Xcode

www.sdjournal.org

63

Time manager – zestaw narzędzi pozwa-

lający na organizację czasu pracowni-
ków, ich czasu pracy przy projekcie. Bar-

dzo często zintegrowany jest on bezpo-
średnio z narzędziami służącymi do za-
rządzania projektem.

Tworzenie gry krok po kroku
Etapy produkcji gry dzieli się na następujące
fazy produkcji:

Preproduction – Etap planowania gry.

W trakcie jego trwania powstaje cały
plan produkcji i lista zadań do wyko-
nania przez poszczególnych członków
zespołu.

First playable – wynikiem tego etapu

jest pierwsza wersja gry pozwalająca
na sprawdzenie, czy założenia dotyczą-
ce grywalności ustalone w czasie pre-
produkcji sprawdzają się w rzeczywi-
stości.

Alpha – Na zakończenie tej części pro-

jektu powstaje pełna wersja gry, mo-
że jednak ona zawierać różnego rodzaju
błędy w funkcjonalności. Według najpo-
pularniejszych metod prowadzenia pro-
jektów, wersja Alpha powinna jednak
być już całkowicie wyposażona w tryby
gry, teksty, grafiki itd.

Beta – Etap projektu, w którym głów-

ną uwagę spędza się na naprawianiu błę-
dów i szlifowaniu finalnego produktu.

Release Candidate – Po zakończeniu te-

go etapu powstaje pierwsza wersja będąca
kandydatem do wydania gry. Jest to w peł-
ni stabilna, niezawierająca błędów gra.

Gold Master – Powstający w tym czasie

produkt jest finalną wersją gry, która do-
stępna jest dla graczy.

Localization – Etap, w którym gra jest lo-

kalizowana na różne języki. W tym cza-
sie powstają alternatywne wersje języko-
we gry bądź jedna wersja z możliwością
wyboru języków.

Marketing – Po zakończonych etapach

ukończony produkt jest gotowy do wyda-
nia, aby jednak osiągnął sukces, muszą po-
wstać odpowiednie materiały marketin-
gowe służące do reklamowania i promocji
gry. Bardzo często zdarza się, że materia-
ły marketingowe powstają dużo wcześniej
lub równolegle z procesem produkcyjnym
gry. Kontakt z mediami i fanami powinien
zostać zawiązany znacznie wcześniej, by
o grze było wiadomo cokolwiek, zanim po-
jawi się ona na rynku.

Etapy tworzenia kodu gry

Podział prac pomiędzy programistami
Lider programistów wraz z project manage-
rem w czasie planowania projektu rozdzie-
lają poszczególnym członkom zespołu za-
dania. Dobry podział zadań to połowa suk-
cesu. Ważne jest to, aby każdy z programi-
stów miał swoje pole działania, a współpra-
ca pomiędzy kodem poszczególnych progra-
mistów odbywała się za pomocą określone-
go interfejsu.

Rysunek 5. Przykładowy szkielet głównej klasy w grze w języku Java

Debugowanie i naprawianie błędów

Pakiet Xcode zawiera w swoim zestawie bardzo ciekawą i pomocną aplikację o nazwie In-

struments. Dzięki niej jesteśmy w stanie podglądać wiele rzeczy podczas pracy aplikacji na

symulatorze bądź na iPhonie. Program ten pozwala między innymi na:

przeglądanie stanu pamięci

Możesz śledzić zmiany alokacji pamięci dla wybranej aplikacji. Dzięki temu łatwo i przyjemnie

można namierzyć największe „pochłaniacze” pamięci. Jest to dość istotne, gdyż należy pamię-

tać, że iPhone to tylko telefon i jego zasoby są ograniczone. Najbezpieczniejszą granicą, której

nie warto przekraczać, to zużycie 30MB realnej pamięci.

znajdowanie wycieków pamięci

Opcja bardzo przydatna dla mniej wprawionych programistów. Bardzo często zapomina się o

tak ważnej rzeczy jak zwalnianie zaalokowanej pamięci. Szczególnie zarażeni są tym progra-

miści Java przesiadający się na C++. W Javie menadżer pamięci czyści ją za nich, tutaj trzeba

pamiętać o tym samemu. Skutkiem tego bardzo często zdarzają się wycieki pamięci, które w

większych projektach jest bardzo ciężko namierzyć. Tutaj z pomocą przychodzi nam opcja Ac-

tivity Monitora. Dzięki niej dokładnie możemy zlokalizować wyciek cennych bajtów. Program

wskaże nam dokładną linijkę w kodzie, gdzie wyciek nastąpił. Co ciekawe, wycieki pamięci

zdarzają się też w samym OS-ie.

analizę zużycia czasu procesora

Jest to narzędzie podobne do Task Managera znanego z Windowsa. Dzięki niemu może-

my sprawdzić poziom zużycia pamięci realnej i wirtualnej, a także czas zużycia procesora dla

wszystkich aplikacji uruchomionych na iPhonie.

obserwowanie file systemu i dostępu do plików

Pozwala na przejrzenie wszystkich operacji dyskowych/plikowych, jakie występują od urucho-

mienia aplikacji na iPhonie. Jest to rzadziej używana opcja, jednakże pozwala ona programi-

ście na obserwację zachodzących procesów związanych z plikami.

background image

02/2010

62

Programowanie gier

Xcode

www.sdjournal.org

63

Tworzenie szkieletu klas w UML
bazując na TDD przez programistów
Najwygodniejszym i najszybszym sposo-
bem na sprawne zaplanowanie rozłożenia
klas pomiędzy programistami jest stwo-
rzenie szkieletu całego projektu. Czy wy-
obrażacie sobie tworzenie go bezpośrednio
w kodzie? Byłoby to bardzo czasochłonne i
trudne. W tym momencie z pomocą przy-
chodzi nam UML. Dzięki niemu tworzenie
zarysu kodu staje się dużo wygodniejsze, a
dowolną zmianę można zrobić dosłownie
w chwilę.

Recenzja, ewentualne zmiany
i finalizowanie klas w UML przez lidera
W tworzeniu kodu uczestniczą wszyscy pro-
gramiści. Po podzieleniu poszczególnych za-
dań przez lidera każdy z nich tworzy szkie-

let klas mu przydzielonych. Na końcu ca-
łość zostaje złożona i dopracowania pod ką-
tem interfejsów i komunikacji. Bazując na do-
kumentacji programiści są w stanie szybko
wprowadzić zmiany w kodzie, tak aby speł-
niał on wymagania projektu. Na tym pozio-
mie projektowania powstają także komen-
tarze do klas, metod i argumentów, które w
późniejszej produkcji znacznie usprawnią
pracę z kodem.

Generowanie kodu
wraz z komentarzami z UML
Dodatkową zaletą UML-a jest możliwość wyge-
nerowania kodu w prawie dowolnym języku pro-
gramowania. Dzięki temu po fazie projektowej
programiści mają gotowy kod, który muszą tylko
uzupełnić. Wszelkie hierarchie, interfejsy itp. są
już określone i praca jest dużo wygodniejsza.

Programowanie
poszczególnych metod i funkcji
Bazując na specyfikacji przygotowanej podczas
preprodukcji oraz na strukturze kodu zapro-
jektowanej w UML, dalsza praca to już „buł-
ka z masłem”. Niestety, jednak podczas two-
rzenia gry bardzo często zmieniają się części
projektu, wprowadzane są udoskonalenia i po-
prawiona zostaje grywalność. Dlatego właśnie
pierwszym ważnym etapem programowania
jest przygotowanie grywalnej wersji gry. To ona
pozwoli ocenić całemu zespołowi, czy gra jest
fajna, czy może coś będzie trzeba zmieniać i
dopracowywać. To w tym etapie programista
powinien jak najwięcej czasu poświęcić na gry-
walność, a mniej przejmować się błędami.

Gdy okaże się, że pierwsza wersja to praw-

dziwy hit, pozostaje nic innego, jak zakasać
rękawy i przejść do programowania. Tutaj
praca jest już bardziej nudna. Bazując na spe-
cyfikacji, należy przygotować wszystkie me-
chanizmy pozwalające obsłużyć całą grę.

Warto pomyśleć także o nowinkach do gry,

które popularne są na iPhonie. Są to między
innymi:

• Facebook – obsługa konta facebook, ofi-

cjalna strona, zapisywanie wyników na
facebook itp.,

• iTunes library – funkcjonalność w aplikacji

pozwalająca na słuchanie plików muzycz-
nych zapisanych na swoim iPhone podczas
gry (zamiast oryginalnej muzyki z gry),

• More games – opcja pozwalająca graczowi

na zapoznanie się z ofertą gier producenta.

Zakończenie

• Testy i polishing gry.
• Stworzenie finalnej wersji gry.
• Wydanie gry na AppStore.

Bez wątpienia tworzenie gier na iPhone’a to do-
skonała zabawa, przygoda i szansa dla nieza-
leżnych developerów. Dziesiątki tysięcy (dane
wskazują, że już ponad 100!) aplikacji nie wzię-
ły się znikąd. Każdy szuka swojej niszy i prze-
błysku geniuszu. Powodzenia z projektami i do
zobaczenia na szczycie listy Top 10!

PATRYK BUKOWIECKI

Specjalista ds. PR i marketingu, manager, czujny
obserwator branży gier video, socjolog, redaktor
i wieloletni współpracownik Neo Plus, gracz, pił-
karz. W Vivid Games na stanowiskach producent
i PR and Marketing Manager.

JAROSŁAW WOJCZAKOWSKI

CTO w firmie Vivid Games, programista/project
manager z kilkunastoletnim doświadczeniem,
współwłaściciel firmy Vivid Games, wesoły i po-
godny człowiek, otwarty na nowe rozwiązania.

Rysunek 6. Ekran powitalny aplikacji Instruments

Rysunek 7. Przykładowy wyciek pamięci w OS


Wyszukiwarka

Podobne podstrony:
2010 02 Fabryki obiektów [Programowanie C C ]
MB ćwiczenia 24 04 2010 (02)
Prawo cywilne wyk.13 2010-02-16, Prawo Cywilne
2010 02 05 09;33;36
GG 2010 3 02
Angora 2010 02 21
MB ćwiczenia 29 05 2010 (02)
SERWIS 2010.02.15
2010 02 24
Śmierć Grzegorza Michniewicza, Katyń - Smoleńsk 2010, Katyń 2010 - 02, Publicystyka
2010 02 15
2010 02 05 09;35;57
2010 02 23
2010 02 24
SIMR-AN1-EGZ-2010-02-08-rozw
perełki programowania gier vademecum profesjonalisty tom i (fragment) wykrywanie zdarzeń w trójwymi
2010 02 10
2010 02 10 rozwiazaniaid 27110

więcej podobnych podstron