-->

poniedziałek, 30 września 2013

Holo Compass bug fixing oraz Teeter Pro na WP

Na wstępie chciałbym napisać o Holo Compass, na niektórych telefonach (S4, HTC One, Infinity) występuje błąd z niewyświetlaniem się okręgu obrazującego obracanie się kompasu. Jest to wina najprawdopodobniej starej wersji cocos2D, która powoduje ten błąd. Dlatego w najbliższym czasie Holo Compass zostanie przepisany na libGDXa i myślę że ten problem zostanie zlikwidowany.

Co do Teetera Pro to prace ukończone są w 70%, do końca muszę przenieść 20 poziomów (na początek wersja WP będzie miała 30 poziomów), dorobić preferencje zapisujące postępy w grze oraz poprawić te błędy które wystąpią na rzeczywistym urządzeniu. Denerwujące są błędy z emulatora WP, który ma problemy z właściwym interpretowaniem dotyku, wydaje się że nie powinny one występować w rzeczywistości. Na plus emulatora jest to że działa akcelerometr i mogę swobodnie testować zachowanie fizyki co widać na poniższym zrzucie.



Czytaj dalej/Read more!

niedziela, 11 sierpnia 2013

Motocross Challenge

Prace nad moją nową grą idą w dobrym kierunku ;) Aktualnie do ukończenia są poziomy (na początek 15), preferencje, poprawna obsługa ekranów o ratio innym niż 1.6, UI dla ekranów < 1280x768 oraz jeżeli się uda to Google Play Game Service dla tablic wyników i osiągnięć. Niestety porzuciłem koncepcję prostej grafiki, docelowo każdy poziom miał być rysowany ręcznie a to jak się przekonałem wiązało by się z dużą wagą samej aplikacji. Na obecnym etapie jest zrobiony automat który sam rysuje "teren" poziomu. Na Adreno 200 gra osiąga około 30-40FPS ale są denerwujące zwolnienia, na szczęście większość telefonów ma przynajmniej Adreno 205 które jest około dwa razy szybsze niż poprzednik. Cały czas pracują nad lepszym zachowaniem się fizyki (gęstości różnych ciał, ich sprężystości), gra będzie oferowała sterowanie za pomocą akcelerometru oraz przycisków ekranowych. Jeżeli ktoś chciałby dowiedzieć się jak rozwiązałem różne rzeczy (UI, niezależne UI oraz projekcja rozgrywki, budowa levelu i jego rysowanie) może śmiało pytać ;] Motocross Challenge to nazwa na ten moment mojego projektu. Na koniec tego wpisu dwa screeny pierwszy pokazowy a drugi jak to wygląda od kuchni:





Czytaj dalej/Read more!

poniedziałek, 8 lipca 2013

Box2D w XNA


Pisząc aplikację na Android używam często silnika fizyki o nazwie Box2D. Jest to jeden z lepszych silników fizyki dostępnych dla grafiki dwuwymiarowej. Jest do niego mnóstwo przykładów i poradników. Dzięki niemu kulka w Teeter Pro uderza o ściany a ciężarówka w Parkin Truck może mieć kolizje. Wystarczy stworzyć świat, dodać do niego kształty i zacząć aktualizować co jakiś określony czas stworzony świat aby zobaczyć że wszystko działa.

W przypadku programowania w XNA możemy użyć box2D-XNA (nie aktualizowany od dawna) lub użyć autorskiej nakładki na Box2D o nazwie Farseer Physic. Autor zapowiedział że nie zrobi supportu dla WP8 a tym samym MonoGame, ale za niedługo spróbuję przystosować Farseera dla MonoGame (być może wystarczy podmienić przestrzenie nazw z XNA na Monogame). Na tą chwilę udało mi się uruchomić Farseera z WP7 i XNA 4. Całość zajęła mi bardzo dużo czasu, Farsser nie chciał się skompilować i wyprodukować pliku .dll, który później dołączamy do projektu. Dlatego też dodałem źródła Farseer'a do projektu i poprawiłem kilka drobnych błędów. Ma to swoje plusy o tyle, że możemy ingerować w pliki źródłowe i je poprawiać ;]. Kompletny projekt działający z VS Express 2012 , XNA 4.0 możecie znaleźć tutaj. Poniżej screen z ekranu jak to powinno w praktyce wyglądać :]




Czytaj dalej/Read more!

wtorek, 2 lipca 2013

XNA, MonoGame i Windows Phone 8...


Zaczęcie z pisaniem aplikacji na Windows Phone to trudna sprawa. Szczególnie jeżeli zabierasz się za pisanie gier. Jako że chciałem zacząć ćwiczyć pisanie na platformę Microsoftu, musiałem ściągnąć SDK, czyli zestaw narzędzi do tworzenia aplikacji. Przypomnę tylko że dla Androida sprawa jest bardzo prosta, ściągasz ADT Bundle czyli Eclipse z wtyczką ADT dla Androida i zaczynasz pisać.  

W Windows Phone jest inaczej, zanim ściągniesz SDK musisz zobaczyć czy spełniasz wymagania. Dla SDK WP8, musisz posiadać Windows 8 Pro w wersji 64 bitowej (!), kilka GB pamięci RAM oraz trochę GB dysku, zapomniałem o instrukcjach SLAT procesora (Intel Core i3/5/7) i karta grafiki z supportem dla DX10 i WDDM 1.1 żeby emulator mógł chodzić...

Jeżeli to wszystko spełniasz należy zainstalować SDK, licencjonować Visual Studio 2012 (free) no i zacząć pisać. 

Jest tylko problem w czym, tzn. w jakim frameworku... Po chwili poszukiwań znajdujesz że gry można pisać w XNA, biblioteka dla Windows Phona i Xboxa. Niestety porzucona przez Microsoft i już nie wspierana. Co prawda wszystko dobrze działa ale po co pisać w czymś co jest nie aktualizowane. Na szczęście istnieje wolny odpowiednik XNA 4 czyli MonoGame, które cały czas jest rozwijane. Jest także Cocos2D-XNA, który bazuje na MonoGame. 

Wystarczy wpisać MonoGame w wyszukiwarkę, ściągnąć instalator do VS2012 i szkielety aplikacji są gotowe! Wszystko? Niestety nie. W XNA istniało coś takiego jak "content pipeline", który pozwalał popularne formaty plików (png/jpg/wav/mp3) przetworzyć do plików .xnb i narysować lub otworzyć w Twojej grze. W Mono tego nie ma :X, trzeba utworzyć projekt XNA z WP7.x, wrzucić te assety i budować projekt, otrzymasz wtedy pliki .xnb i znów import do projektu z Mono i WP8. Trochę skomplikowane to wszystko jak na samo ogarnięcie środowiska.... Na chwilę obecną działa mi Mono z emulatorem, części z plikami gry nie przerabiałem. Emulator WP chodzi o niebo lepiej niż Androida, choć i tak nie idealnie. Najlepszym rozwiązaniem i tak jest fizyczne urządzenie. Miłym zaskoczeniem jest to iż oficjalnie do obsłużenia są jak na razie trzy rozdielczości :) A jeżeli chodzi o tutoriale to jest ich dość dużo do XNA. Można je przerabiać, ponieważ MonoGame ma nawet identyczne przestrzenie nazw jak XNA.



Czytaj dalej/Read more!

niedziela, 23 czerwca 2013

Ciąg dalszy game dev-u



Ostatnie miesiące nie pozwalały na chociażby zaczęcie czegoś nowego. Najpierw projekt Droid Painters na konkurs Samsunga, a ostatnie tygodnie to tylko i wyłącznie praca magisterska. Na szczęście ostatnie dni są już luźniejsze i można zacząć pisać coś nowego. Nie jest to żaden rewolucyjny pomysł, zresztą możecie zobaczyć na poniższych zrzutach przedstawiających wczesny prototyp. 








Dlaczego robię coś co już jest na markecie? Większość tego typu gier moim zdaniem ma złą fizykę. Motocykl albo klei się do podłoża, albo działa bardzo duża grawitacja lub jest ona stanowczo za słaba. Dodatkowo chciałbym aby grafika była "rysowana" ołówkiem, czyli była bardzo prosta ale jednocześnie wyróżniająca się z wielu gier. Na trasie powinno znaleźć się wiele ciał dynamicznych, to znaczy takich z którymi motocykl będzie miał interakcję (kłody, skrzynki, belki, kamienie, samochody itp.). Dodatkowo jest to świetne ćwiczenie i nauka Box2D w libGDXie. 

Co później? Na pewno zakup telefonu z Windows Phone i przeportowanie Teetera Pro oraz produkcji o której tutaj piszę na telefony z systemem Microsoftu. Im wcześniej tam jesteś tym lepiej, system ma potencjał i myślę że będzie umacniał pozycję wśród Androida i iOS.


Czytaj dalej/Read more!

niedziela, 16 czerwca 2013

Millenial Media, MobFox - crap!

Niekiedy deweloper chce zmonetyzować swoją wykonaną pracę przy aplikacji. Najłatwiejszym sposobem jest wyświetlenie reklamy w aplikacji. Jest wiele sieci reklamowych, które oferują bannery, appwalle itp. Każde kliknięcie przez użytkownika w banner dodaje nam określoną kwotę do konta w sieci reklamowej.

Jedną z najpopularniejszych sieci reklamowych na platformie Android jest obecnie AdMob. Właścicielem sieci jest Google. Panuje powszechna opinia że Admob słabo płaci za kliknięcia użytkownika. Z jednej strony słaba stawka za klik, z drugiej praktycznie w każdym kraju AdMob wyświetli reklamę, ponieważ backfilluje AdMoba kolejna sieć reklamowa czyli AdSense. Niestety, stawki dobre są od użytkowników zamieszkujących zachodnią Europę oraz USA. Im więcej użytkowników z innych rejonów świata tym gorzej dla zarobków. Praktycznie każdy zaczyna od AdMoba, w moim przypadku było identycznie. Po kilku miesiącach zacząłem rozglądać się za innymi sieciami reklamowymi.

W sieci popularne są tak zwane `succes story` czyli opowieści o tym jak deweloper osiągnął sukces, często te wpisy są wiązane razem z siecią reklamową, która pozwala dużo zarobić. Takie historie pisano między innymi o Mobfoxie i Millenial Media.

Zachęcony tymi recenzjami zaimplementowałem najpierw Mobfoxa a później Millenial Media. Obie sieci reklamowe okazały się dużo gorsze niż AdMob. W dodatku mają dłuższe okresy wypłaty zarobionych środków... Każda sieć obiecuje duże stawki reklamowe, rzeczywistość praktycznie zawsze jest inna. Wszelkie agresywne sieci reklamowe typu Airpush, Leadbolt pozwalają zarobić przynajmniej 3 razy więcej niż tradycyjne ale bardzo dużym kosztem oceny aplikacji na markecie i utrzymania użytkownika.

Jedyna sieć która płaciła praktycznie tyle ile obiecuje jest StartApp. Sieć ta płaci za instalację ale problemem jej jest to ze programy antywirusowe wykrywają jej SDK jako adware....

Dlatego jedynym pewnym wyjściem są albo płatności w aplikacji albo mieszanie różnych sieci reklamowych.


Czytaj dalej/Read more!

wtorek, 30 kwietnia 2013

Samsung App Cup - wyniki!



Miło mi poinformować że razem z moim kolegą ze studiów zajęliśmy 4 miejsce w ogólnopolskim konkursie organizowanym przez Samsunga na platformę Android! :) Konkurs trwał od listopada do marca, a dziś zostały ogłoszone wyniki. Jeżeli jeszcze nie spróbowaliście naszej produkcji to możecie znaleźć ją w sklepie Samsunga : Droid Painters. Takie wyniki motywują do dalszej pracy na rynku mobilnym, a szczególnie w sektorze aplikacji rozrywkowych jakimi są gry. Nadal nie jest za późno aby samemu spróbować sił i stworzyć aplikację szczególnie na system Android, gdzie codziennie dochodzi około 1.5 mln nowych użytkowników. Pamiętajcie że liczy się najpierw jakość i wykonanie a później pomysł, nawet ciekawa aplikacja bez dobrego wykonania zostanie niezauważona w markecie. Powodzenia!

Czytaj dalej/Read more!