Autor Wątek: Podstawy Portowania Gier  (Przeczytany 54439 razy)

Offline intoxicate

  • Moderator
    • Jak zrobic gre FPP

# Luty 18, 2011, 12:36:49
http://andrzejkoloska.wordpress.com/2011/02/18/trudnosci-zwiazane-z-portowaniem-podstawy/

Skończyłem pisać szybki art na temat portowania, może kogoś zainteresuje i wywołamy jakąś dyskusję.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

bs.mechanik

  • Gość
# Luty 18, 2011, 13:15:57
Fajnie ze piszesz i dzielisz się wiedza i doświadczeniem w takich sprawach.
Dodaj jeszcze do bloga fejsowe "lubie to", by być z tekstami na bieżąco ;)

Offline intoxicate

  • Moderator
    • Jak zrobic gre FPP

# Luty 18, 2011, 14:14:23
Cytuj
Dodaj jeszcze do bloga fejsowe "lubie to", by być z tekstami na bieżąco ;)
Nie kumam :)

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Luty 18, 2011, 15:44:42
intoxicate: Ciekawy tekst. Ale piszesz o portowaniu ogólnie, a moim zdaniem przydałoby się jasno powiedzieć, że przygotowanie gry na kilka platform (albo portowanie na inne platformy) mniej więcej równoważne generacją, funkcjami i mocą obliczeniową (czyli np. PC, X360 i PS3 albo różne systemy operacyjne na komórki), to nie to samo, co zrobienie gry pod tym samym szyldem, ale na kompletnie inny sprzęt - np. PC, smartfon i Facebook. Od strony designera czy project managera pewnie jest dużo cech wspólnych, ale technicznie to jest - jak sądzę - zupełnie inna bajka.

Dodaj jeszcze do bloga fejsowe "lubie to", by być z tekstami na bieżąco ;)
Do bycia na bieżąco z newsami to raczej jest RSS :)
« Ostatnia zmiana: Luty 18, 2011, 15:50:17 wysłana przez Reg »

Offline intoxicate

  • Moderator
    • Jak zrobic gre FPP

# Luty 18, 2011, 15:51:40
schodzimy z tematu ;)

Swoja droga ktoś z Was przeprowadzał porty gry PC<->Xbox<->PS3 bez użycia gotowej technologii?

Edit:
Cytuj
Ale piszesz o portowaniu ogólnie,
Tak, to sa podstawy. Jak bym miał opisywać wszystkie etapy/problemy/podejścia dla każdej z platform - pisał bym to tydzień i była by to praca pełno etatowa.

Cytuj
że przygotowanie gry na kilka platform (albo portowanie na inne platformy) mniej więcej równoważne generacją, funkcjami i mocą obliczeniową (czyli np. PC, X360 i PS3 albo różne systemy operacyjne na komórki), to nie to samo, co zrobienie gry pod tym samym szyldem, ale na kompletnie inny sprzęt
Najprostrzy przykład portowania to iPhone->iPhone4->iPad.

Co do PC/X360/PS3 to jednak są to całkiem inne baje - może moc obliczeniową mają podobną ale różnią się znacznie SDK i to jest tu problem.

Tak naprawdę nie do końca Cię rozumiem - co chciałbyś się dowiedzieć? :)
« Ostatnia zmiana: Luty 18, 2011, 16:13:43 wysłana przez intoxicate »

Offline yarpen

  • Użytkownik

# Luty 18, 2011, 16:29:00
schodzimy z tematu ;)

Swoja droga ktoś z Was przeprowadzał porty gry PC<->Xbox<->PS3 bez użycia gotowej technologii?
CDP to robilo przez kilka lat (pozniej jako Porting House).

Offline intoxicate

  • Moderator
    • Jak zrobic gre FPP

# Luty 18, 2011, 16:36:42
Yarpen - mi bardziej chodzilo o podzielenie się doświadczeniem jeśli już ktoś takie ma konkretnie ;)

Offline yarpen

  • Użytkownik

# Luty 18, 2011, 16:46:17
Esidar tam pracowal, wiec pewnie ma :)

Offline Dab

  • Redaktor
    • blog

# Luty 19, 2011, 00:38:43
Swoją drogą, nazywanie iPhone -> iPhone4 portem to IMO trochę przesada :) Fakt, jest parę drobnych niuansów ale chyba tylko obsługa żyroskopu to zadanie na więcej niż godzinę.

Z innej beczki: naprawdę się jeszcze pisze cokolwiek na J2ME? Nie wyobrażam sobie portowania jakiejś bardziej skomplikowanej iPhonowej gry na J2ME :) Ile wynosi przeciętny drop feature, 90%? ;)

Offline Snejk47

  • Użytkownik

# Luty 19, 2011, 12:46:25
Dalej piszę się gry na J2ME i wychodzą one świetnie, czego dowodem mogą być nowe skoki narciarskie od Vivid Games :) Szybko przy tym czas w szkole leci, gdy gra się z kolegami turniej ;)

Offline intoxicate

  • Moderator
    • Jak zrobic gre FPP

# Luty 19, 2011, 20:25:49
Cytuj
Swoją drogą, nazywanie iPhone -> iPhone4 portem to IMO trochę przesada :) Fakt, jest parę drobnych niuansów ale chyba tylko obsługa żyroskopu to zadanie na więcej niż godzinę.
Iphone4 ma inna rozdzielczosc Dab.

Cytuj
naprawdę się jeszcze pisze cokolwiek na J2ME? Nie wyobrażam sobie portowania jakiejś bardziej skomplikowanej iPhonowej gry na J2ME :) Ile wynosi przeciętny drop feature, 90%? ;)
wydawcy chca obslugiwac jak najwiecej device'ow wiec J2ME to norma jest jeszcze.

Widzę, że dyskusji nie wywołam :P
« Ostatnia zmiana: Luty 21, 2011, 13:27:25 wysłana przez intoxicate »

Offline rzuf

  • Użytkownik

# Luty 22, 2011, 18:04:01
Z rozdzielczością iPhonów, iPadów i Androidów problem nie jest taki duży, jak się od zrazu naskrobie odpowiednią funkcjonalność, dajmy na to SetFakeScreenSize(jakas_rozdzielczosc) i zadbać o to, by na jakimkolwiek sprzęcie gra by nie była uruchamiana, będzie się jej wydawało że jego rozdzielczość jest taka, jak podana w tejże funkcji. Program zeskaluje sobie wszystkie współrzędne i jest cacy. Z aspect ratio też nie ma problemu, bo różnica nie jest jakaś znacząca, szczególnie jak skaluje się 'w dół'.

Jak framework jest zmyślnie napisany to nawet niespecjalnie jest co portować pomiędzy iOSami. :)

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Luty 22, 2011, 21:52:39
Swoją drogą, nazywanie iPhone -> iPhone4 portem to IMO trochę przesada :) Fakt, jest parę drobnych niuansów ale chyba tylko obsługa żyroskopu to zadanie na więcej niż godzinę.

Różnica rozdzielczości: iPhone2G/3G/3GS, iPod1/2/3 ma 320x480, a iPhone4, iPod4 ma 640x960. No i iPod ma 1024x768. Poza tym iPhone3GS/4, iPad, iPod3/4 ma shadery, a iPhone2G/3G, iPod1/2, a to jest bardzo duża różnica. Jest jeszcze sprawa rozdzielczości ekranu w stosunku do rozmiaru ekranu. 1024x768 iPada jest niby bardzo podobne do 960x640 iPhone4/iPod4. Ale w niektórych projektach nie można zupełnie tego podobnie traktować. Zwłaszcza jeżeli chodzi o robienie interface użytkownika (przyciski, koła, dotykowe joysticki). Gdyby były takie same na iPhone4 i iPad to albo na tym pierwszym byłyby za małe albo na tym drugim za duże. Trzeba brać pod uwagę współczynnik, który wszędzie jest 1.0, a na iPhone4/iPod4 jest 2.0. Poza tym warto wspomnieć o wielkim ułatwieniu jakie wsprowadziło Apple dzięki któremu pomimo zwiększenia rozdzielczości iPhone4/iPod4 wszystko co było robione na iPhone2/3G/3GS i iPod 1/2/3 wygląda i działa zupełnie normalnie na iPhone4/iPod4. Rozdzielczość niby nadal jest 320x480 ale są połówki (widać to fajnie w wartościach zwracanych przez funkcje wykrywające dotyk). No i pozostaje jeszcze sprawa prędkości. Róznica między najstarszymi urządzeniami z iOS a najnowszymi jest kolosalna.


Jak framework jest zmyślnie napisany to nawet niespecjalnie jest co portować pomiędzy iOSami. :)

W pełni się zgadzam. Jednak właśnie podczas tworzenia tego zmyślnego framworku warto znać różnice między poszczególnymi platformami i przygotować się na nie żeby w przyszłości się nie męczyć. :)
« Ostatnia zmiana: Luty 22, 2011, 21:56:25 wysłana przez MDW »

Offline Dab

  • Redaktor
    • blog

# Luty 22, 2011, 22:17:00
Cytuj
Iphone4 ma inna rozdzielczosc Dab.

Sure, ale to jest kosmetyka (wyższa rozdziałka assetów). Dla mnie z punktu widzenia programisty portowanie to jednak bardziej złożony proces ;) typu zmiana architektury czy chociażby systemu na którym gra ma działać. Innymi słowy długi proces w którym na początku nic nie działa :) A przejście z iPhone 4 na niższe to raptem zeskalowanie grafik.

iPad to już inna kwestia. Tutaj z punktu widzenia programisty różnice dalej są minimalne ale cały wygląd gry/sterowanie jest do wymiany ze względu na inny rozmiar wyświetlacza i sposób trzymania urządzenia. Aplikacje czy gry przeniesione "na chama" z iPhone na iPada zwykle wyglądają kiepsko...

Tak swoją drogą, doświadczenia z portowaniem mam na razie niewielkie ale mam jedną radę dla początkujących w tym temacie: zróbcie obsługę "wirtualnych" urządzeń na tym urządzeniu/systemie/IDE które znacie najlepiej. Ja sobie ostatnio dłubię taki mały crossplatform silniczek Win/Linux/MacOS/iOS i większość developmentu robię w Visual Studio na Windows gdzie mam do dyspozycji najlepsze narzędzia i debugger. Ale dzięki fladze mogę sobie ustawić że będę testował wersję iPhone-like czyli w odpowiedniej rozdzielczości i ze sterowaniem dotykowym (nie ma to jak tablet multitouch ;)). Jak ktoś lubi takie rzeczy to może sobie nawet w tło wrzucić obrazek z ajfonem i mieć własny symulator :)

Cytuj
Widzę, że dyskusji nie wywołam :P

Mało kontrowersyjny temat, za dużo faktów ;)

Cytuj
Róznica między najstarszymi urządzeniami z iOS a najnowszymi jest kolosalna.

Tutaj Apple idzie developerom "na rękę" i stopniowo wypina się na posiadaczy starszych ajdewajsów. Oryginalny iPhone nie jest już wspierany a i 3G niedługo odejdzie do lamusa (więc zostaną tylko urządzenia z OpenGL ES 2.0).
« Ostatnia zmiana: Luty 22, 2011, 22:18:57 wysłana przez Dab »