W czym pisane są gry na iPhone i iPada? Czy w czystym xCode - trochę trudno mi sobie to wyobrazić.
Ostatnio podszedłem do tematu kompilacji gierki z Flasha 5 i 5.5 do iPhona.
Program Adobe jest takim totalnym szmelcem że generuje całą masę błędów. Skompilowana ipa nie chce wysyłać się nawet do AppStore ponieważ nie przechodzi. Napisałem do Apple w tej sprawie, a kolesie jak tylko usłyszeli o tym że gra był napisana w AS3 i Flashu napisali mi że oni do tego już siły nie mają i należy kontaktować się z Adobe dlaczego wypuszczają program tak dziurawy że nawet nie jest w stanie porządnego kodu wygenerować.
Adobe wie o tych problemach i przez ponad rok nie naprawił błędu. Reklamuje jednak wersję 5.5 która jest cudowna - a tu klops. Wygenerować plik ipa można ale już nikt nie zaakceptuje go. Są podobno chińskie sposoby aby uzupełnić dziurawy kod Flasha, ale to jakaś droga przez mękę.
Jakie macie z tym doświadczenia?
Gry na ipada i iphone
Rozpoczęty przez
dariuszroman
, 17 cze 2011 17:29
3 odpowiedzi w tym temacie
#1
Napisano 17 czerwca 2011 - 17:29
#2
Napisano 17 czerwca 2011 - 20:36
Trochę mylisz pojęcia, napisać "w czystym XCode" to tak jakby napisać "w czystym Word".
XCode to tylko środowisko, edytor, IDE - jak wolisz.
Generalnie (nie bawię się w gamedev ale mam znajomych, którzy to robią) to najprostsze gry są pisane w faktycznie bezpośrednio w Cocoa Touch przy użyciu Quartz'a.
Są również specjalistyczne frameworki takie jak Cocos2d ułatwiające tworzenie takich gier.
Do bardziej zaawansowanych gier sięga się po OpenGL, zwłaszcza jeżeli ktoś programuje w C/C++ i myśli o grach wieloplatformowych (np. kolega kończy teraz własny silnik oparty o OpenGL, który docelowo będzie działał na iOS, W7 i może na Androidzie).
Myślę, że większość firm idzie tą drogą.
Flash to jednak (tak jak mówił Steve ) szajs, są oczywiście gry napisane przy użyciu CS5.5 (widziałem reklamy ), ale przyszłości wielkiej temu narzędziu nie wróżę.
#3
Napisano 18 czerwca 2011 - 08:20
W kwestii gier 2D najlepszy jest Cocos2D. Ma otwarty kod, wiec bez problemu można pisać na nim własne rozszerzenia w openGL. W dodatku potężne community na bieżąco implementuje wszelkie nowinki Apple.
Do 3D zaś polecam UDK lub Unity. Pisanie własnych silników moim zdaniem mija się z celem, no chyba ze mamy spore fundusze i będziemy rozwijać własny silnik latami na min. Kilku projektach, i na przestrzeni kilku lat...
Zreszta np. Cocos2D trudno nazwać silnikiem. To tylko framework ułatwiający tworzenie własnego silnika. Cocos2d zapewnia wysoko poziomowa warstwę w komunikacji z OpenGL, a także mechanizmy wydobywajace czas z systemu, czy zarzadzajace assetami będącymi w pamięci. Fizykę jak i cała resztę trzeba implementowac samemu.
W kwestii tworzenia aplikacji uniwersalnych, to nie jest to trudne, ale może być czasochłonne. Jak dla mnie najlepszym wyjściem byłoby, gdyby można było wysłać 2 rożne binarki do Apple, ale niestety jedyne co można zrobić to jedna uniwersalna binarka, albo dwa osobne programy.
Ja swoje projekty będę portowal na iPada wkrótce i np. Grę która wydam niebawem mam zamiar zmienić z trybu portrait(iPhone) na landscape(iPad). Problem w tym, ze mając dwie osobne binarki wersja na iPada różniłaby się kilkoma linijkami. Binarka uniwersalna zaś musiałaby mieć mnóstwo warunków sprawdzajacych jak rozmiescic grafikę na ekranie.
#4
Napisano 19 czerwca 2011 - 10:48
Wiekszosc gier na wszystkie platformy pisze sie w C++, pod iOS czesto w Objective-C, ale to porownywalny poziom abstrakcji. Mozna tak powiedziec ze jest to "czysty XCode" Edytory i rozne narzedzia oczywiscie sa, ale raczej po to by umozliwic wygodna prace nie-programistom, designerom poziomow, scenarzystom, grafikom. I to raczej w wiekszych grach, badz silnikach ktore preferuja ten sposob tworzenia z jakiegos powodu, tam programowania jest znacznie mniej. Szczerze ja jako programista totalnie sie gubie w takich edytorach - Unity albo UDK - zapewne znacznie szybciej stworzylbym gre piszac sam kod niz dlubiac i probujac sie nauczyc zupelnie innego podejscia w tych edytorach. Przynajmniej na poczatku.
Mniejsze gry powstaja przewaznie w calosci w srodowisku programistycznym. Gra nie rozni sie specjalnie od zwyklej aplikacji - oprocz tego ze tworzenie jej daje wieksza frajde Sam proces tez nieco sie rozni - np. nie ma praktycznie automatycznych testow jednostkowych ( nie da sie automatycznie przetestowac gameplayu ), a aplikacja musi miec nieuchwytne "to cos", wiec przydaja sie masowe beta-testy, np. wsrod znajomych Oczywiscie trzeba tez stworzyc grafike - tutaj uzywa sie dowolnego edytora grafiki.
Niewiele gier pod iOS korzysta z samego Cocoa - oczywiscie jakies szachy, karcianki czy czesc prostych gier logicznych mozna wygodnie w ten sposob tworzyc, ale przewaznie wykorzystuje sie OpenGL - niskopoziomowa biblioteka gdzie programista sam ustala jak rysowac kazdy trojkat Daje to najwieksze mozliwosci i w zasadzie jedynie wyobraznia i limit mocy obliczeniowej urzadzenia jest limitem.
Tak jak napisal @ishadow bardzo popularny pod iOS jest Cocos2d - bardzo wygodny framework napisany w Obj-C, ktory ma baaardzo duzo elementow ulatwiajacych pisanie gier 2D. Ale same gry tutaj tez sie po prostu "pisze" bardziej niz "rysuje" Sam Cocos2D ma API nieco podobne do Flasha ( z poziomu ActionScriptu ofc ).
Co do Flasha - sam nie uzywam, ale wiem ze gry we Flashu takze pisze sie w zasadzie wylacznie w czystym ActionScripcie - czesto nawet Adobe Flash'a sie nie uzywa - a srodowiska programistycznego jakim jest np. FlashDevelop. Wowczas wyglada to podobnie jak tworzenie gier na inne platformy.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych