Port gry Artist Colony z PC na iPhone. Kim jestem? Andrzej Koloska, Producent w Vivid Games Doświadczenie w tworzeniu projektów na: iPhone, iPad, j2me,

Slides:



Advertisements
Podobne prezentacje
Video DR-S Cyfrowy rejestrator wideo
Advertisements

„Przerwy w Sali informatycznej”
Squarer Natalia Berdys Programowanie Urządzeń Mobilnych
Filmy poklatkowe wykonane za pomocą programu SALSAJ
ZAGROŻENIA W PRODUKCJI GIER
SUKCES CYFROWEJ DYSTRYBUCJI
PROJEKTOWANIE GIER VS MOBILNA ROZRYWKA 2012 TURBO EDITION
Kim jest dzisiejszy gracz? wojtek ozimek one2tribe.
Wiktor Cegła Dawid vs Goliat – czym wygrywają sklepy internetowe?
Odśmiecanie Grzegorz Timoszuk
Projektowanie Aplikacji Komputerowych
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil
Analiza porównawcza wybranych metod sztucznej inteligencji w komputerowych grach strategicznych Comparative analysis of artificial iteligece methods applied.
SPECJALNOŚĆ: Interaktywna Grafika Trójwymiarowa
Oprogramowanie rejestratora pikosekundowych przebiegów elektrycznych
Techniki digitalizacji, organizowania oraz efektywnego wyszukiwania informacji z dokumentów tekstowych Remigiusz Baran, Andrzej Dziech, Paweł Fornalski,
Autor: Michał GAWRYLUK
Dalsze elementy metodologii projektowania. Naszym celem jest...
Codename: GJumper inż. Krzysztof Grześkowiak inż. Kamil Niezręcki.
Przegląd ważniejszych bibliotek używanych przy projekcie Quall.
PROJECT KULKA. Plan prezentacji Pomysł Realizacja Demonstracji prototypu.
Z A R Z Ą D Z A N I E F I R M Ą PRZYGOTOWANIE GRY DLA UCZNIÓW.
Wysokowydajne interfejsy do systemu PI Paweł Maćków.
Wstęp do programowania urządzeń z systemem. Windows Phone 7
Podstawy programowania II
* HTML5 i CSS3 w nowoczesnych serwisach internetowych
Jakub Grudziński Artifex Mundi
EDYTOR 3D OFERTA 1.Wybierz pamięć USB 2.Wybierz stronę pamięci USB na której chcesz umieścić nadruk 3.Wybierz kolor pamięci, ilość, pojemność oraz.
XNA na Windows Phone Od kodu do pubikacji
XIV Spotkania Ciepłowników,Zakopane 2007Copyright CAS © 2007 Optymalizacja produkcji i dystrybucji ciepła z wykorzystaniem innowacyjnej technologii CommServer.
Elementy Rachunku Prawdopodobieństwa i Statystyki
Damian Zawada
Microsoft Solution Framework
Modelowanie populacji i przepływu opinii pomiędzy aktorami sztucznej inteligencji za pomocą sieci społecznej Wojciech Toman.
HTML5 - czy przewróci do góry nogami rynek aplikacji?
Dwa ognie Katarzyna Walczyk.
Witold Bołt m.
Prezentacja raportów - uwagi
Logomocja Polska edycja Imagine.
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Grafika komputerowa Jest to dziedzina rozwijająca się niezwykle dynamicznie, a jednocześnie wymagająca znacznej mocy obliczeniowej. Łatwo możemy to zaobserwować,
Praktyka zarządzania portfelem projektów
Gra komputerowa na komputer Raspberry Pi
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil
ZASADY EFEKTYWNEGO PISANIA TESTÓW
Wnioski na temat: Jak jest?. 1.Samorząd nic nie robi. 2.Służy tylko do organizowania kiepskich technicznie apeli. 3.Losowanie szczęśliwego numerka. 4.Nie.
Animacja na stronie internetowej
Architektura współczesnych gier video Adam Sawicki asawicki.infoasawicki.info
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
MOBILIZACJA SKITTLES’ÓW Wykonała: Monika Zdanowska.
PIOTR SOBOLEWSKI – TK GAMES Jak rozłożyć grę na części? Part 1: Mobile games.
Walidacja danych alina suchomska.
Kim jesteśmy? Uczymy tworzyć gry Tworzymy gry.
Więcej z emisji reklam internetowych
Logical Framework Approach Metoda Macierzy Logicznej
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Rozwiązania mobilne wykorzystujące i aktualizujące informacje przestrzenne Poznań
ZAJĘCIA. Rozkład 6 prezentacji, każda z innego obszaru DiD Każda z prezentacji przygotowana przez 2 osobowy zespół Ostatnie zajęcia – termin rezerwowy,
WYSZUKIWANIE I OPTYMALIZACJA TRAS DLA URZĄDZEŃ MOBILNYCH ANDROID W OPARCIU O SIEĆ/GRAF DOSTĘPNYCH DRÓG Piotr Dąbrowski, Tomasz Pyśk, Piotr Wojciechowski.
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Od (web)aplikacji biznesowych po (web)game dev Testowanie i spełnianie oczekiwań.
GLOBE OBSERVER: CLOUD CHALLENGE. Międzynarodowy dzień centrów i muzeów nauki: Globalny eksperyment Jak nazywa się projekt? Wyzwanie chmur – Globe Observer.
Więcej z emisji reklam internetowych
Gildia Testowa Sposób na koordynację testów w „dużym scrumie”
gry dla przyszłych programistów
Scrum z perspektywy testera
System operacyjny cz.2 i ostatnia
Tworzenie stron WWW w programie Microsoft FrontPage
Witaj, jestem Iza. Przygotowałam dla Ciebie puzzle, które możesz wykorzystać w swojej prezentacji Udanego tworzenia :)
Zapis prezentacji:

Port gry Artist Colony z PC na iPhone

Kim jestem? Andrzej Koloska, Producent w Vivid Games Doświadczenie w tworzeniu projektów na: iPhone, iPad, j2me, WinMo, Android, BREW, PC, NDS, xbox360 Chciałby zacząć projekt na N3D i PSN Gracz q3 ;)

Kto pracował przy projekcie? Bartosz Piwkowski Łukasz Lewiński Jarosław Wojczakowski Remigiusz Kościelny Tomasz Strzelczyk Bartosz Biniecki Przemysław Tkaczyk Paweł Mikołajewski

O czym będę mówił: Podejściu do portu gry z PC -> iPhone Problemach technicznych podczas portu Problemach designu gry podczas portu Procesach jakie można napotkać przy portowaniu gier

Artist Colony PC

PC: Jaka to gra? Casual Sim/Strategia – AI – Rozbudowa budynków – Interakcja między lokacją – Game Flow

PC: Jaka to gra? Elementy RPG

PC: Jaka to gra? Bardzo duży background Mapa lokacji

PC: Jaka to gra? Obszerny i rozbudowany HUD

PC: Jaka to gra? Duża ilość animacji postaci Długi gameplay Zmiany pór roku ~700MB assetów zmieścić w 50MB ~ MB wykorzystanej pamięci zmieścić w 25MB Fakt czy mit: aplikacje iPhone mogą wykorzystywać ponad 40MB pamięci?

PC: Jaka to gra? Brak optymalizacji wyszukiwania drogi Brak optymalizacji animacji postaci Brak optymalizacji w teksturach Brak zarządzania pamięcią Bardzo dobrze zakomentowany kod

Wydawca Twardy i krótki termin wykonania portu :) Pierwsze dni pracy - problem z SVNem Typowo: Preprodukcja ASAP Typowo: First Playable ASAP Kontakt z Nikitova tylko w ostateczności

Milestone'y First Playable Alpha Beta RC Gold Lite, Demo Brakujące milestone'y

iPhone: Preprodukcja Design HUDa - Które elementy są najważniejsze - główny HUD - Jak zmieścić elementy na ekranie iPhone'a?

iPhone: Preprodukcja Design HUDa - Jak zoptymalizować Jorunal i ekrany rozwoju

iPhone: Preprodukcja Design HUDa - Jak zoptymalizować Jorunal i ekrany rozwoju

iPhone: Preprodukcja Jak przerobić Menu? - Animacje Menu - Facebook - iTunes - Get More Games / Adverts

iPhone: Preprodukcja Jak przerobić controlsy i sterowanie? - Poruszanie kamery (feedback od gry - rączka) - Poruszanie postaciami (zakrycie HUDa, postać nad palcem, strzałki interakcji, scroll lokacji) - Zoom in/out?

iPhone: Preprodukcja - Technicznie Jak zmieścić tyle assetów w 50MB? Jak zmieścić się w 25MB pamięci? Jak zoptymalizować grę by mieć 20-25FPSów?

Produkcja portu Przekompilowanie kodu PC pod Visualem - Analiza kodu (Nikitova rulez!) - Pierwsze problemy - kontakt z iPlay/Nikitova - Kod renderujący (DX, asm) oddzielony od logiki Stworzenie wersji PC z rozdzielczością iPhone'a - Pozbycie się hardcodowych rozdzielczości (budynki, elementy lokacji, pivoty, etc) - Problemy z siatką wyszukiwania drogi - Zeskalowanie wszystkich grafik do rozdzielczości iPhone'a - Testowanie gry przez testerów - Wersja PC w rozdzielczości iPhone gotowa, po co?

Produkcja portu: FP iPhone #1 SDK i kompilacja gry pod Xcode - Komentowanie klas które się nie kompilują (20k błędów) - Gra się kompiluje, ale nic nie widać. Część logiki tika ;) Pierwsze podejście skończone

Produkcja portu: FP iPhone#2 Zastępowanie zakomentowanych klas na te z SDK (input, sound, etc) Sporo rzeczy zakomentowanych dalej, duży związek z logiką gry Przepisanie renderera z DX na Ogl Propozycje HUDA i controlsów zaakceptowane, można implementować. Pierwsza wersja First Playable skończona - brak logiki (za dużo zależności) - słaby performance - crash co 10 sekund ;)

Produkcja HUDa Masterpieces z kodu Implementacja głównego HUDa Implementacja Journala Implementacja in-game menu Implementacja Menu Dodatkowe ficzery: Facebook, iTunes

25MB pamięci / 50 MB instalka.PVR - większość grafik wyglądała źle w tym formacie Optymalizacja animacji postaci - redukcja klatek - plugin układający grafiki na siatce wypluwając wielkość, przerwy, koordynaty. Optymalizacja reszty grafik - układanie ich na teksturach Background gry - Jedna grafika na warstwach podzielona na obszary * SDK zajmuje 13MB w pamięci! WTF!

25MB pamięci / 50 MB instalka Ustawianie pivotów grafik - większość grafik z wersji PC miała binarnie zapisane pivoty. - ręczne ustawianie pivotów Optymalizacja kodu - wyszukanie i wyeliminowanie tablic statycznych - zmiana intów na shorty (32->16) - zmiana longów na inty (64->32) Zmiana ilości postaci w grze - statyczny związek z logiką gry - ikonki postaci mają związek z ilością postaci Różne iPady a pamięć - 3gs nie jest sprzętem do testowania pamięci ;)

Produkcja portu - Performance Game Update - ponad 100 ticków logiki na klatkę - wywalenie tych, które spełniły swoje warunki - update sekwencyjny co ramkę 0-20, 20-40, Wyszukiwanie drogi - Optymalizacja obszaru wyszukującego drogę 3gs a najsłabszy iPad - różnice FPS

QA Portu Szybki port = features needs od wydawcy. Pracujcie wolniej! Poprawianie błędów z wersji PCtowej Ponad 800 zarejestrowanych błędów od fazy Beta Jeden błąd w grafice = budowanie paczki z grafikami Masa błędów w tekstach - MTF exportowany do gry - Zmiany w MTFie przez Designera wydawcy Zmiany w HUDzie - błędne koło Sales and Marketing guys, we hate them! Zewnętrzne testy

Gold In-App Purchase - SDK nie przygotowany Adverts - SDK nie przygotowany Programiści SDK nie chcą pomóc - walczymy Wersja Lite/Demo Guru Director - Nie lubimy takich ludzi, znów zmiany Gra gotowa!

Post Mortem - Zanim zaczniemy produkcje cisnąć providera SDK o featury których brakuje - Cisnąć providera SDK o dokumentacje i sample, których zawsze brakuje - Nie robić za szybko portu by nie zmieniać za dużo w grze ;) - MTF powinien być przetłumaczony raz a dobrze, zmiany w nim powinny być zrobione raz a dobrze. - Sales&Marketing guys powinni dostać grę znacznie wcześniej, starać się zmieniać strategię wydawcy - QA Wydawcy powinien zaznajomić się z wersją PCtową - Brak Feature Freeze powodem wielu zmian i poprawiania błędów z wersji PCtowej

Post Mortem - Lepszy support ze strony głownego programisty SDK, powinniśmy go dostać full time by nam pomagał - Code Branch by pokazać grę High Director bez sensu - Edytor resource'ów powinien być przepisany - Za krótki termin portu i sales&marketing guys powodował częsty crunch time przy projekcie - Kontakt z Nikitovą powinien być bardziej profesionalny, od samego początku

Końcowy efekt - Port wykonany na czas z tygodniową obsuwą wersji Lite - Bardzo szybko w app store pojawił się patch - Instalka gry zajmuje 47MB - Gra wykorzystuje ~27 maksymalnie pamięci - Gra chodzi przyzwoicie

Dziękuję za uwagę Kody promocyjne na gry Vivid Games do odbioru u osoby prowadzącej prelekcję Pytania?