Polacy nie gęsi, swoje gry na Androida mają... czy jakoś tak ;)
Chciałbym Wam dzisiaj pokazać coś, przy czym spędziłem olbrzymią ilość czasu, wypiłem hektolitry kawy i przytyłem o kilka((naście)dziesiąt) pizz, czyli efekt mojej ponad rocznej pracy - darmową grę
Motocross Rider na Androida, którą w większości stworzyłem samodzielnie.
Gra jest silnie inspirowana Elastomanią (bardziej) i Hill Climb Racing (mniej), co na pewno widać ;)
Co wykonałem w 100% samodzielnie, to kod (nie licząc silnika).
Co zrobiłem nie ja, to:
- udźwiękowienie - większość dźwięków pochodzi z freesound.org, muzykę natomiast, do zastosowań komercyjnych, kupiłem na productiontrax.com
- grafika - część jest kupiona na istockphoto.com, część pochodzi z openclipart.org, ale największą część wykonała moja dziewczyna
- silnik - użyłem darmowego AndEngine
Jeśli chodzi o narzędzia, to prezentuje się to tak:
- komputer - Mac Mini 2011
- IDE - Eclipse z wtyczką ADT od Google
- PhysicsEditor - do łatwego tworzenia brył fizycznych
- TexturePacker - do pakowania tekstur
- Tiled - do tworzenia map tmx (ogólnie można powiedzieć, że do tworzenia leveli)
- Pixelmator i iDraw - do grafik
- Audacity - do przekonwertowania dźwięków do słabszej jakości ;)
Gra jest oczywiście dostępna ZA DARMO, nie ma w niej bannerów reklamowych, za to co jakiś czas w grze wyświetla się reklama z darmową aplikacją do ściągnięcia, za co dostaje się wirtualne monety do wykorzystania w grze (na razie 2 motory i 2 światy, niedługo na pewno dodam coś więcej). Przyznaję, że gra nie jest jeszcze zbyt dobrze zoptymalizowana i na pewno wystąpią w niej jakieś błędy, ale nie jestem w stanie tego sprawdzić w inny sposób, niż wypuścić ją w świat.
Link do ściągnięcia Motocross Rider w Google Play
Jestem jak najbardziej otwarty do dyskusji i hejtów wszelakich, pytajcie o co chcecie, chętnie pomogę ;)
Jeśli ktoś z Was chce być w miarę na bieżąco z tym, co robię, to postęp swoich prac pokazuję zazwyczaj na
fanpage'u na Facebooku - zapraszam.
Wykopującym dziękuję za wsparcie - to jest NAPRAWDĘ ważne we wszelakich projektach niezależnych!
Parę grafik na koniec:
Struktura mojego spaghetti code
PhysicsEditor
TexturePacker
Tiled
No i miłego grania ;) Zimy nikt nie przejdzie, jest za trudna :P
Komentarze (238)
najlepsze
Samsung Galaxy S+ , 2.3.3, wywala przy wybraniu czegokolwiek z menu :(
Przy takich grach wirtualne przyciski nie są za wygodne. W dodatku ciut ich stylistyka mało przyjemna. Dużo lepiej było by zrobić sterowanie np. prawa strona ekranu prawo, lewa to lewo, i gesty zamiast funkcyjnych np. swapnięcie w górę i w dół lub w bok. Gra wygląda wtedy o wile estetyczniej na dotykowych ekranach oraz przyjemnie się gra.
Trzymam kciuki za kolejne
TWOJA LOKALIZACJA
PRZYBLIŻONA LOKALIZACJA (NA PODSTAWIE SIECI)
Pozwala aplikacji na określenie przybliżonej lokalizacji. Jest ona odczytywana z usług lokalizacyjnych wykorzystujących źródła lokalizacji sieciowej, takie jak wieże sieci komórkowych i sieci Wi-Fi. Te usługi lokalizacyjne muszą być włączone i dostępne na urządzeniu, by aplikacja mogła z nich korzystać. Gdy to uprawnienie jest aktywne, aplikacje mogą określać Twoje przybliżone położenie.
POŁĄCZENIA TELEFONICZNE
ODCZYTYWANIE STANU I INFORMACJI O TELEFONIE
Pozwala aplikacji
- lokalizacja i odczytywanie stanu telefonu do Flurry - programu do statysyk różnorakich (czas gry, ile razy odpalana, jaki sprzęt, jaka wersja systemu, jaki kraj, raporty błędów)
- połączenia sieciowe - dostęp do Internetu (osiągnięcia, tabele wyników online, reklamy)
Połączenia telefoniczne? Chyba jakoś nie do końca dobrze przetłumaczone w polskiej wersji Androida, nie używam czegoś takiego, mam tylko włączone te:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READPHONESTATE"/>
<uses-permission android:name="android.permission.ACCESSCOARSE
A tak serio myślałeś o przeportowaniu tego na Objective-C i Cocoa Touch? To może być fajne wyzwanie dla kogoś kto jest uwięziony w okowach obiektowości w stylu Simuli. :)
A więc zapytam: Ile zarabiasz na tworzeniu apek na androida?
@Musiek_:
Motocykl nie ma stałego napędu 2x2, tył dołącza się tylko gdy komputer wykryje poślizg lub coś podobnego.
@Musiek_:
No bo wiecie, to porządny symulator ;)
1. Jak długo już programujesz?
2. W jakim języku piszesz gry?
3. Uważasz, że trzeba mieć dużą znajomość języków programistycznych, by cokolwiek poważniejszego od "hello world" napisać?
4. Jak długo zajęło Ci napisanie takiej jednej gry?
1. Zaczynałem się uczyć w technikum, teraz mam 24 lata, czyli jakieś... 7-8 lat temu, ale tak na poważnie to od dwóch lat.
2. Java, Android i AndEngine. Teraz przymierzam się do Unity3D, ale to środowisko, nie język.
3. Masz w głowie pomysł co chcesz zrobić i wpisujesz w Google "[pomysł] + tutorial" i jedziesz :) Programowania nauczysz się rozwiązując rzeczywiste błędy.
4.
Oj tam oj tam, sciagnalem, zainstalowalem i bylo za darmo ;)
2. Z jakich materiałów korzystałeś do nauki? Ja do nauki AndEngine korzystam z książki AndEngine for Android Game Development Cookbook :-)
AndEngine całkiem przyjemny silnik, tyle że moim zdaniem niektóre rzeczy mogłyby być trochę lepiej zrobione- niektóre nazwy funkcji są przydługie i wyamagają wielu parametrów.
Ale z drugiej strony jakbym sam miał to wszystko sam pisać... ;-)
Pozdro i sukcesu życzę!
2. Mam tę książkę, ale znałem silnik przed jej zakupem. Uczyłem się głównie z przykładów i forum :) Silnik sam w sobie jest bardzo fajny, największą bolączką jest brak zewnętrznych edytorów, np. do leveli. Ja używam do tego Tiled,
1. Wszystko jest w png i skalują się tylko... buttony w HUDzie :D ...
2. ... Przez co chyba właśnie gra nie wygląda zbyt dobrze na ekranie mniejszym od 480x800 :D Będę musiał coś z tym zrobić, bo teraz nie skaluje się prawie nic - na większym ekranie po prostu więcej widać ;)
3. Na początku tak było - kupa frustracji i zero przyjemności z jazdy, nie mógł