Najciekawsze gry na telefony z systemem Android. Gry komputerowe na Androida. ustawienie ścieżki do kompilacji żądanej aplikacji

Tworzenie gier to ekscytujący i edukacyjny proces. Jest to szczególnie widoczne, gdy sam wykonujesz remake „klasyki”, kierując się pomysłami oryginału i dziesiątkami godzin spędzonych na kampanii. Nie miałem większego doświadczenia w tworzeniu aplikacji na Androida "a, więc stworzenie aplikacji na tablet, która działa" tak, jak powinno "wyglądało na początku raczej mglisto, ale nie mniej atrakcyjne. Jeśli masz czas i okazję, możesz odkurzyć stare gry. smar i klej, dodając wsparcie dla „wysokich” rozdzielczości i okazuje się, że nie wyglądają gorzej niż nowoczesne produkty rozłożone na rynku, nawet z paletą RGB565 bez kanału alfa. Założyłem, że będą pułapki i starannie ukryte grabie, które leżą cicho w czasu rozwoju, ale to boli na głowę, warto uruchomić grę na prawdziwym sprzęcie. Brakowało debuggera, a pojawiające się problemy tylko wzmocniły chęć osiągnięcia wyznaczonego celu. Pod spodem będzie opowieść o tym, jak to wszystko działało.

Nie, nie mówimy o emulatorach; jeśli chcesz, pozwolimy ci wejść w to samemu. Wiele z nich zostało przeprojektowanych i rozszerzonych pod kątem wydań mobilnych, dzięki czemu są potencjalnie jeszcze lepsze za drugim razem. Musi spróbować zniszczyć siły przeciwnika.

Pisanie konfiguracji do składania komponentów gry

Znaczna część gry kręci się wokół walki, ale Tactics ma także intrygującą historię walczących krajów, nie wspominając o wspaniałej grafice i genialnej ścieżce dźwiękowej. To świetna, mięsista gra. Grasz jako Manny Calavera, niedawno zmarły agent podróży, który próbuje uporządkować swoje niedawne podróże, ale natrafia na spisek, który napędza to zaskakująco zabawne i charakterystyczne zadanie.


Warto od razu ostrzec, że może to być historia o rowerach, nie wymyśliłem niczego, co nie wyszukuje w internecie. Ponadto Reader jest mało prawdopodobne, aby zobaczył nowe rozwiązania lub mega technologie, ale znajdzie wypróbowane i przetestowane instrukcje tworzenia aplikacji przy użyciu SDL1 / 2 dla Androida.


3. utworzenie pliku konfiguracyjnego do zbudowania gry za pomocą libsdl-andlroid

Nowe elementy sterujące i inne bonusy pomagają ujednolicić pakiet, ale kompatybilność urządzeń jest nieco rozproszona: nie działa na niektórych telefonach, które wydają się dla nich kompatybilne, więc koniecznie sprawdź. A jeśli chcesz wrócić do klasyki, też masz szczęście. Ale dopóki zachowują ducha oryginałów, nie ma nic lepszego niż klasyczne przebudzenie.

Wkuwanie tej gry w kulki na małym ekranie dotykowym może być trochę niezręczne, szczególnie w przypadku małego tekstu, ale jest tu tak wiele do radości. Tryb niekończącego się maratonu jest tutaj i jest tak świetny, jak pamiętasz, a ponadto jest tryb jednego dotknięcia, który znacznie ułatwia grę; puryści nie chcą mieć z tym nic wspólnego, ale początkujący mogą uznać to za atrakcyjne. Tak czy inaczej, to jest Tetris na twoim telefonie i jest to zdecydowanie niesamowita rzecz.

W folderze ze źródłami należy utworzyć lub skopiować plik AndroidAppSettings.cfg z innego projektu, poniżej podałem jego zawartość mojej konfiguracji
komentarze należy usunąć, pominąłem też ustawienia domyślne
# Ustawienia aplikacji dla portu libSDL systemu Android
# Nazwa, która będzie wyświetlana użytkownikowi
AppName \u003d „CaesarIA”
# nazwa pakietu
AppFullName \u003d net.dalerank.caesaria
# wewnętrzna wersja aplikacji
AppVersionCode \u003d 1740
# ta wersja zostanie pokazana użytkownikowi
AppVersionName \u003d „0.3.1740”
# tutaj możesz określić lokalne lub zdalne archiwum, które zostanie rozpakowane po instalacji
AppDataDownloadUrl \u003d "!! Dane gry to 100 Mb | cache.zip"
# wersja biblioteki, z którą zbudowana jest aplikacja (wersja 2.0 nie działa)
LibSdlVersion \u003d 1.2
# orientacja ekranu
ScreenOrientation \u003d h
# głębia kolorów, obsługiwane 16/24/32 - 16 jest najszybsze, żadne różnice nie są zauważalne na oko
VideoDepthBpp \u003d 16
# ta i kolejne dwie flagi odpowiadają za podłączenie OpenGL do aplikacji,
# ponieważ nie używam GL, nie ma sensu ich łączyć
NeedDepthBuffer \u003d n
NeedStencilBuffer \u003d n
NeedGles2 \u003d n
# flaga jest odpowiedzialna za przechowywanie tekstur w pamięci RAM, jeśli nie spowodowało to problemów na PC
# na Androidzie bez tej flagi tekstury mogą nie być wyświetlane
SwVideoMode \u003d y
# emulacja myszy, flaga jest potrzebna do działania kolejnych dwóch flag
AppUsesMouse \u003d y
# obsługa wielu jednoczesnych kliknięć
AppUsesMultitouch \u003d y
# emulacja naciśnięcia prawego przycisku myszy, stuknięcia drugim palcem
AppNeedsTwoButtonMouse \u003d y
# kursor wyświetlacza
ShowMouseCursor \u003d n
# właściwie powinno być tak, ale kiedy ta flaga była włączona, pole wejściowe nie zostało usunięte
AppNeedsTextInput \u003d n
# uprawnienia do odczytu z dysku
AccessSdCard \u003d y
# jeśli pamięć podręczna jest pobierana z Internetu, musisz ustawić ją na tak
AccessInternet \u003d n
# liczba wbudowanych wirtualnych przycisków SDL, używam mojego GUI, więc nie będzie żadnych przycisków
AppTouchscreenKeyboardKeysAmount \u003d 0
# opóźnij ekran powitalny SDL przed uruchomieniem aplikacji
StartupMenuButtonTimeout \u003d 3000
# pod jakim abi zostanie zbudowana aplikacja
MultiABI \u003d armeabi-v7a
W tym miejscu należy określić # bibliotek. oprócz sdl, które są potrzebne do działania aplikacji
CompiledLibraries \u003d "sdl_mixer sdl_ttf lzma ogg"
# dodatkowe flagi kompilacji, mam włączone RTTI i wyjątki
AppCflags \u003d "- O2 -finline-functions -frtti -fexceptions"
# tutaj są foldery, w których musisz szukać źródeł zestawu, oprócz bieżącego
AppSubdirsBuild \u003d "dep dep / smk dep / aes dep / lzma dep / bzip2 dep / libpng source source / vfs source / core source / gfx source / game source / gui source / sound source / scene source / pathway source / walker source / objects źródło / dobre źródło / źródło miasta / źródło wydarzeń / źródło świata / religia ”

Emulacja jest solidna, a sterowanie świetnie nadaje się do gier. Jednak oryginalne bezpłatne pobieranie zawiera tylko Rocket Command: wszystko inne można kupić na jeden z dwóch sposobów. Dodaje również przydatne punkty aktywne na obiektach interaktywnych, aby zmniejszyć frustrację, a aplikacje łączą w sobie mnóstwo dodatkowych funkcji, w tym tworzenie i usuwanie scen.

Kopiowanie przykładu z dostawy SDL2

Niektóre wykresy zostały wygładzone i zmieniono ich rozmiar, a menu i interakcje są inne. Każda gra jest rozgrywana w widoku poziomym z ramkami i wirtualnymi przyciskami. Możesz grać w jedną grę dziennie za darmo, w przeciwnym razie musisz coś kupić lub poczekać do następnego dnia. Ale dalej przynajmniej możesz spróbować wszystkiego na czas, a potem kupić to, co lubisz.


4. konfigurowanie ścieżki do kompilacji żądanej aplikacji

$ rm projekt / jni / aplikacja / src
$ ln -s projekt caeasaria / jni / application / src


5. złożyć apk

$. / changeAppSettings.sh -a
$ android update project -p project
$. / build.sh


6. podpisanie i instalacja aplikacji na Androida

Jeśli wszystko zostało pomyślnie skompilowane, plik MainActivity - unsigned.apk pojawi się w folderze commandergenius / project / bin, który należy podpisać i zainstalować na urządzeniu.

Zapewnia techniczną walkę wręcz, wspaniałą grafikę opartą na duszkach, wspaniałą ścieżkę dźwiękową i różnorodne grywalne wojowników. Rozgrywka jest niezwykle uproszczona iz pewnością może być powtarzalna, ale jak większość awanturników, najlepiej jest grać w trybie współpracy ze znajomym. A ta kompilacja ma wiele opcji. Wszystkie trzy gry są rozgrywane w trybie arkadowym lub fabularnym, który odblokowuje poziomy, gdy je usuwasz, a ponadto dostępny jest nowy tryb trudności idealny do szybkich sesji mobilnych, a także oryginalna ścieżka dźwiękowa i remikser do wyboru.

$ keytool -genkey -v -keystore rs.keystore -alias caesaria -keyalg RSA -keysize 2048 -wartość 10000
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore rs.keystore ~ \u200b\u200b/ projects / commandergenius / project / bin / MainActivity-release-unsigned.apk caesaria
$ mv ~ / projects / commandergenius / project / bin / MainActivity-release-unsigned.apk ~ / projects / caesaria.apk
$ adb odinstaluj net.dalerank.caesaria
$ adb install ~ / projects / caesaria.apk

Podwodne skały
0. Definicja środowiska: najpierw musisz zdecydować, w którym środowisku Windows, Linux lub Linux Android będzie działał.
Rozwiązanie: Sprawdź definicje ANDROID / __ ANDROID__.

A obsługa gamepada jest niezwykle ważna. Port ma nawet kilka poziomów bonusowych, których nie było w początkowej wersji, a także obsługuje kontroler, co niewątpliwie ułatwia grę. Gry walki zwykle cierpią z powodu urządzeń wrażliwych na dotyk, ale tempo Shodown nie jest tak szalone, że traci zabawę. Jest też dodatkowy akcent: przycisk, którego możesz użyć, aby uwolnić swój potężny dodatek, zamiast próbować dostać się do kombinacji.

Nostalgia doprowadziła grę daleko w ciągu ostatnich 30 lat, ale jeśli nie jesteś sprytnym fanem, który dawno zapamiętał oryginalne dane, trudno jest postrzegać Dragon's Lair jako bardziej brutalny relikt z prostszych czasów. Jednak wciąż jest to wciągająca gra proces gry prób i błędów, w których zginiesz wiele razy, pamiętając, kiedy nacisnąć przycisk lub strzałkę kierunkową, jest naprawdę karane. To powiedziawszy, jest to prawdopodobnie tańsze niż granie w arkady, biorąc pod uwagę ciągłe zgony.

1. Dzienniki: możesz przeglądać komunikaty o błędach i inne dane wyjściowe za pośrednictwem abd logcat, ale jak się okazało, standardowe narzędzia takie jak stdout / printf nie działają, możesz oczywiście użyć wyjścia dziennika do pliku i go obejrzeć, ale chciałem bardziej znanego debugowania.
Rozwiązanie: dołącz plik nagłówkowy dzienników systemu Android #zawierać , a do wyświetlenia wiadomości używamy funkcji
__android_log_print (ANDROID_LOG_DEBUG, CAESARIA_PLATFORM_NAME, "% s", str.c_str ());

Nawet jeśli nie nazywasz siebie graczem, prawdopodobnie masz na swoim smartfonie kilka gier. Rosnąca moc naszych urządzeń przenośnych oznacza, że \u200b\u200bnawet współczesne gry konsolowe mogą na nich działać bez poświęcenia, jeśli chodzi o płynną rozgrywkę.

Ta lista zawiera jedne z najlepszych gier przeniesionych na urządzenia mobilne, w wielu przypadkach znajdziesz inne gry z tej samej serii dostępne na urządzenia mobilne, ale aby ograniczyć listę do dziesięciu pozycji, wspomnimy tylko o jednej grze na serię. Obsługuje zewnętrzne kontrolery i działa świetnie.

Ze znajomą składnią printf.

2. Używanie OpenGL: jeśli ktoś potrzebuje OpenGL, jego bliski krewny GLES żyje na platformach mobilnych.
Rozwiązanie: dołącz zamiast standardowych plików nagłówkowych i , istnieją niewielkie różnice w użyciu tekstur i renderowaniu, ale w większości kod (prosty kod, którego użyłem) działa prawie bez zmian.

Rozkazujesz swoim żołnierzom niszczyć kosmitów, walcząc po kolei na różnych mapach w trybie fabularnym oraz w innych trybach.


Tranzystor wcielasz się w czerwony, cichy główny bohater, niszczący procesy wroga, kierując się mieczem. Tranzystor to mistrzowska klasa w projektowaniu wizualnym i dźwiękowym.





Obsługuje kontrolery i ma wbudowane kody do gier, jeśli interesuje Cię tylko historia.





W grze musisz poziomować zasoby na swoim statku, nawigując po punktach trasy w różnych sektorach.

3. Obsługa zdarzeń: zdarzenie SDL_MOUSEBUTTONUP znika, gdy przesuniesz palcem po ekranie, może to być usterka w samej bibliotece libsdl-android lub gdzieś ją zgubiłem. Czasami przejawiało się to przy braku reakcji elementów interfejsu na działania użytkownika, np. Po przesunięciu zatrzymywały się na przycisku, który teoretycznie powinien wejść w stan, jeśli najedzie na niego kursor myszy.
Rozwiązanie: Specjalnie dla mojej aplikacji - podczas budowania dla Androida dodawano wymuszoną aktualizację stanu elementów pod kursorem, gdy ten ostatni się poruszał.

Walka obejmuje kontrole umożliwiające przekierowanie zasobów, wszystkie kontrolowane dotykiem.


Wcielasz się w funkcjonariusza straży granicznej i doświadczasz, jak ta praca wpływa na Twoje zdrowie i rodzinę. Rozgrywka obejmuje przeglądanie dokumentów i upewnianie się, że wpuszczasz do kraju tylko przyzwoite osoby. Tajemnicze organizacje odwiedzają cię, otrzymują łapówkę i nie tylko.







W tej pokręconej historii spotkasz Królewnę Śnieżkę, Piękną i Bestię i nie tylko. Oto dziesięć najlepszych gier mobilnych. Nie ma znaczenia, czy grasz po raz pierwszy, czy dwudziesty. Możesz zabrać ze sobą historię bitwy Gordona Freemana z obcymi siłami Zjednoczenia, gdziekolwiek jesteś.

4. Mały interfejs: rozdzielczość ekranu nowoczesnych urządzeń mobilnych jest porównywalna lub przewyższa rozdzielczość monitora używanego 10-15 lat temu, ale wymiary fizyczne są zauważalnie mniejsze, dlatego same elementy interfejsu użytkownika wyglądają na małe i nie zawsze będzie wygodne ich używanie.
Rozwiązanie: Przeprojektowanie interfejsu, które jest dość kłopotliwym zadaniem i nie zawsze jest możliwe zachowanie oryginalnego wyglądu.




W ten sposób możesz myśleć za pomocą portali bez względu na to, gdzie jesteś. W tej grze pilotujesz serię kosmicznych myśliwców i bierzesz udział w szybkiej walce. Walcząc z obcym zagrożeniem, będziesz potrzebować wszystkich dostępnych narzędzi. Następnie przejdź do przepisywania historii według własnego uznania. Graj jako Czarodziej Amadeus, Złodziejka Zoya i Rycerz Poncjusz - każdy ze specjalną bronią i umiejętnościami, które pomogą im przemierzać magiczny świat. Ożyw akcję, wybierając spośród 19 różnych wojowników, z których każdy ma unikalną broń i styl walki, i walcz o najlepszą broń.

Jedno przejście oznacza dwa pożary(popularna mądrość)
Wszystko zaczęło się od tego, że jeden z autorów wysłał link do gałęzi deweloperskiej, gdzie z powodzeniem uruchomił grę przy użyciu stosunkowo świeżej biblioteki SDL2, a wcześniej korzystał z wersji SDL1.2 - wydanie 2008. Muszę powiedzieć, że sam rozważałem możliwość przejścia na nową wersję, zwłaszcza po obejrzeniu, która zapowiadała normalne wsparcie dla Maca i Androida, co nazywa się „po wyjęciu z pudełka”. A potem miniwakacje w pracy, zabierając większy młot kowalski, grubszego przewodnika i dużą filiżankę kawy, zacząłem przenosić remake na nowy "silnik".
Nie chcę zanudzać czytelnika szczegółami technicznymi przeprowadzki, po prostu sama biblioteka wraz z pojawieniem się wsparcia sprzętowego zmieniła ideologię swojej pracy, co początkowo sprawiało pewne trudności, dopóki się do tego nie przyzwyczaiłem. Przeprowadzka trwała tydzień wieczorów i ostatecznie była korektą pozostałych niedociągnięć i artefaktów graficznych. Modyfikacje zostały zakończone i przygotowano asemblery dla "dużych" systemów operacyjnych i ponownie pojawiła się potrzeba ponownego przeczytania instrukcji montażu aplikacji na Androida, ponieważ libsdl-android jest normalnie przystosowany do pracy z SDL1.2, a obsługa SDL2 wydaje się być porzucona (co autorzy i napisz w readme)

W Rochar grawitacja jest na wyciągnięcie ręki. Będziesz mógł kontrolować otoczenie i rzucać ciężkimi przedmiotami w wrogów. Ta gra ma wszystko: humor, wymagające łamigłówki i tajemniczą starożytną cywilizację obcych. Epicka przygoda zabierze Cię na zakurzone pustkowia Zachodniego Mudos, gdzie mieszkańcy miasta są oblegani przez wyjętych spod prawa. Grasz jako Dziwny, wędrowny łowca nagród uzbrojony w arbitra.

Korzystając z mocy piosenki, możesz przywoływać postacie, aby dołączyły do \u200b\u200btwojej strony w bitwie, otrzymywały obrażenia w twoim imieniu, a następnie je leczyły. Kiedy skończysz grać stare hity, możesz chwycić miecz i rozpocząć epicką misję na monety i rozszczepienie! Podczas gdy niektóre z tych gier wymagają wydajnego sprzętu i kontrolerów, jeśli masz do tego sprzęt, możesz sam cieszyć się wszystkimi rodzajami wspaniałych gier. Ta gra to absolutna klasyka gier.

Ukryty tekst

Biblioteka libsdl.org ma teraz oficjalny port SDL 1.3 dla Androida, który jest nowszy i
lepiej nadaje się do tworzenia nowych aplikacji od podstaw, ten port jest przeznaczony głównie
na SDL 1.2 i kompilowaniu istniejących aplikacji, to Ty decydujesz, który port jest lepszy.
Również ten port rozwija się bardzo powoli, chociaż to samo dotyczy portu oficjalnego.

Zrozumiałem prawdziwość tego tekstu, gdy spędziłem kilka godzin próbując uruchomić port w starej konfiguracji przez libsdl-android. Cóż, negatywne doświadczenie to także doświadczenie: użyję dostępnych narzędzi.

Tworzenie struktury folderów dla projektu

Zagadki i atmosfera są wciąż pomysłowe. Będziesz potrzebował kontrolera nie tylko w tym sensie, że gra nie będzie działać bez niego, ale także dlatego, że gra będzie zbyt trudna bez kontrolera. Wyzwania są brutalne, ale obfite i satysfakcjonujące, a jeśli odniesiesz sukces, naprawdę udowodniłeś swoje umiejętności gracza. Potrzebujemy tylko kolejnych 2 gier, aby się pojawiły. Musisz być mądry i ostrożny w grze, ale może to być niezwykle satysfakcjonujące.

Plusy i minusy

Gra Dennaton z góry na dół dotyczy brutalnej przemocy i jej wpływu. Twój tajemniczy bohater wyrusza na misje, by zabić duża liczba plików ludzi i to od ciebie zależy, dlaczego. Przetrwanie nie jest gwarantowane i jeden błąd cię zrujnuje. Gra przedstawia interesującą sprzeczność, ponieważ daje ci ultra-równość, nie powodując przy tym dobrego samopoczucia. Ścieżka dźwiękowa jest warta wysiłku, aby podłączyć słuchawki do urządzenia. To najlepsza platformówka inspirowana stylem retro, jaką możesz teraz zdobyć.

Próba numer dwa, nie do końca udana
SDL2 zawiera już wszystkie niezbędne konfiguracje do zbudowania aplikacji na androida, po przeczytaniu tej rekomendowanej na oficjalnej stronie można spróbować coś zbudować. Ponownie będzie kilka kroków, z wyjątkiem instalacji i konfiguracji adt.

0. kopiowanie przykładu z dystrybucji SDL2

$ git clone bitbucket.org/dalerank/caesaria
$ hg clone hg.libsdl.org/SDL
$ mkdir caesaria / android
$ cp SDL / android-project caesaria / android
$ mkdir caesaria / android / libs
$ mkdir caesaria / android / data
$ cp SDL caesaria / android / libs

Ustawienie ścieżki do kompilacji żądanej aplikacji

Poziomy mają w rękawach fajne triki platformowe, a także sekrety do odkrycia. Ale jeśli tak, to musisz, ponieważ jest to jedna z najlepszych platformówek. Walka to po prostu bezmyślny chaos: gra nagradza cię za sprytne zabójstwa, a możesz użyć trybu swobodnego zamachu, aby precyzyjnie ciąć wrogów w taki sposób, aby pochłaniały więcej energii i zdobywały więcej punktów. Wielkie walki z bossami są również częścią zabawy. Jest to bardzo grywalna gra w baseball z łatwymi w użyciu systemami boisk i boisk, ale zapewniają one wystarczającą trudność graczom, którzy chcą mieć dobrą kontrolę i wyczucie czasu.

Po co są robione te wszystkie kopie ??? aby ułatwić odczytywanie ścieżek względnych dla bibliotek. Folder android / libs będzie zawierał SDL i firmę, folder android / data będzie zawierał ikonę aplikacji.


1. utwórz strukturę folderów dla projektu

W folderze android / android-project / jni tworzyć dowiązania symboliczne do komponentów aplikacji

$ ln -s ../../libs/SDL SDL
$ ln -s ../../libs/SDL_mixer SDL_mixer
$ ln -s ../../libs/SDL_net SDL_net
$ ln -s ../../src/dep/aes aes
$ ln -s ../../src/source application
$ ln -s ../../src/dep/bzip2 bzip2
$ ln -s ../../src/dep/freetype freetype
$ ln -s ../../src/dep/libpng libpng
$ ln -s ../../src/dep/lzma lzma
$ ln -s ../../src/dep/smk smk
$ ln -s ../../src/dep/src src
$ ln -s ../../src/dep/ttf ttf
$ ln -s ../../src/dep/zlib zlib

Trochę o tym, co tutaj napisałem:
zlib jest potrzebny do zbudowania freetype, który z kolei jest potrzebny do SDL_ttf i będzie odpowiedzialny za renderowanie czcionek.
Biblioteka smk jest potrzebna do odtwarzania filmów w formacie smack, filmy z oryginalnej gry są wykonane w tym formacie.
Bzip, lzma i aes są potrzebne do pracy z archiwami zip.
libpng jest wymagane do załadowania tekstur do gry.
SDL, SDL_mixer, SDL_net są odpowiedzialne odpowiednio za rysowanie, pracę z dźwiękiem i sieć.
aplikacja zawiera kod źródłowy samej gry, który zostanie wkompilowany w bibliotekę libapplication.so
folder src zawiera źródła biblioteki libmain.so, ale dla niej istnieje już szereg wywołań java nad kodem c, co pozwoli nam z powodzeniem uruchomić i zadowolić użytkownika jasnym obrazem.
Ustawienia projektu i konfiguracje dla ndk są już udostępnione przez autorów SDL2


2. pisanie konfiguracji do składania komponentów gry

Aby system kompilacji mógł zobaczyć, z jakimi bibliotekami musimy pracować i je zbudować, musisz napisać dla nich konfiguracje, takie jak Makefile. Najprawdopodobniej Android.mk będzie już obecny w repozytorium biblioteki lub można je znaleźć w Internecie. Musiałem dodać konfiguracje kompilacji dla gry i biblioteki libsmk.

Android.mk dla libsmk jest bardzo prosty i będzie zrozumiały dla osób niezwiązanych z programowaniem na Androida
# smk / Android.mk
LOCAL_PATH: \u003d $ (zadzwoń do my-dir)

Uwzględnij $ (CLEAR_VARS)

LOCAL_MODULE: \u003d smk
$ (symbol wieloznaczny $ (LOCAL_PATH) / *. c))

Konfiguracja zawiera instrukcję kompilacji wszystkich plików z rozszerzeniem .od, znalezione w bieżącym folderze (dla libsmk będzie to jni / smk)

Konfiguracja do budowy biblioteki, która będzie reprezentować samą grę, jest napisana w ten sam sposób.

# aplikacja / Android.mk
LOCAL_PATH: \u003d $ (zadzwoń do my-dir)
uwzględnij $ (CLEAR_VARS)

LOCAL_MODULE: \u003d aplikacja

SDL_PATH: \u003d ../../libs/SDL
SDL_MIXER_PATH: \u003d ../../libs/SDL_mixer
SDL_NET_PATH: \u003d ../../libs/SDL_net
GAME_PATH: \u003d $ (LOCAL_PATH)
DEP_PATH: \u003d ../dep


$ (LOCAL_PATH) / $ (SDL_PATH) / include \\
$ (LOCAL_PATH) / $ (SDL_MIXER_PATH) \\
$ (LOCAL_PATH) / $ (SDL_NET_PATH) / include \\
$ (LOCAL_PATH) / $ (FREETYPE_PATH) / include \\
$ (LOCAL_PATH) / $ (GAME_PATH) \\
$ (LOCAL_PATH) / $ (DEP_PATH) \\
$ (LOCAL_PATH) / $ (DEP_PATH) / libpng

# Dodaj pliki źródłowe aplikacji tutaj ...
LOCAL_SRC_FILES: \u003d $ (subst $ (LOCAL_PATH) /, \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / *. cpp) \\
$ (wildcard $ (GAME_PATH) / core / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / vfs / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / objects / *. cpp) \\
$ (wildcard $ (GAME_PATH) / gui / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / miasto / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / gfx / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / events / *. cpp) \\
$ (wildcard $ (GAME_PATH) / world / *. cpp) \\
$ (wildcard $ (GAME_PATH) / pathway / *. cpp) \\
$ (wildcard $ (GAME_PATH) / walker / *. cpp) \\
$ (wildcard $ (GAME_PATH) / good / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / religia / *. cpp) \\
$ (symbol wieloznaczny $ (ŚCIEŻKA_GRY) / scena / *. cpp) \\
$ (wildcard $ (GAME_PATH) / sound / *. cpp) \\
$ (wildcard $ (GAME_PATH) / game / *. cpp))

LOCAL_SHARED_LIBRARIES: \u003d SDL2 SDL2_mixer SDL2_net sdl_ttf pnggo lzma bzip2 aes smk
LOCAL_CPP_FEATURES + \u003d wyjątki
LOCAL_CPP_FEATURES + \u003d rtti
LOCAL_LDLIBS: \u003d -lGLESv1_CM -llog

Uwzględnij $ (BUILD_SHARED_LIBRARY)

Powinno też być jasne, w LOCAL_C_INCLUDES dodaje ścieżki, w których należy szukać plików nagłówkowych, dodawać pliki z kodem źródłowym do LOCAL_SRC_FILES,
w LOCAL_SHARED_LIBRARIES piszemy zależności aplikacji.

Flagi rtti, wyjątki są odpowiedzialni za korzystanie z RTTI i wyjątków.


3. montaż

$ cd android-project
Projekt aktualizacji $ android -p. -t android-15
$ ndk-build V \u003d 1
$ ant
$ ant install


Teoretycznie po wykonaniu opisanych czynności na podłączonym urządzeniu lub emulatorze zobaczysz zainstalowaną aplikację.


Grabie
1. Gdzie szukać zasobów ???
Lokalizacja zasobów zależy od konkretnej implementacji systemu operacyjnego, ale w większości przypadków aplikacja będzie miała dostęp do folderu / sdcard / Android / data / nazwa_pakietu / files, podczas bezpośredniego korzystania ze ścieżki może wystąpić błąd dostępu lub błąd wyszukiwania pliku.
Pełną ścieżkę do katalogu aplikacji można uzyskać za pomocą funkcji SDL_AndroidGetExternalStoragePath (), zdefiniowanej w pliku SDL_system.h
2. Używanie flag do tworzenia okna.
Kombinacja SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS nie działa na wszystkich urządzeniach, usuń SDL_WINDOW_OPENGL lub SDL_WINDOW_BORDERLESS i zobacz, która z flag powoduje awarię programu. Nie potrafię wyjaśnić, jaki jest powód tego zachowania. Z flagą SDL_WINDOW_SHOWN, zostanie ugrzęziony w dziennikach jeden do jednego, jak w przypadku wszystkich flag, ale prawdopodobieństwo awarii jest znacznie mniejsze.
3. Za dużo kanałów audio.
Podczas wywoływania funkcji SDL_mixer :: Mix_AllocateChannels (N\u003e 16) obserwuje się awarie z błędem informującym, że nie można zainicjować dźwięku. Jest omijany poprzez zmniejszenie żądanej liczby kanałów, nie wiem, jak poprawnie rozwiązać ten problem w ten sposób.
4. stlport vs gnustl
Awaria podczas używania stlport, napotkano ten błąd podczas przechodzenia przez wektor za pomocą iteratorów w emulatorze Nexusa 7 (Android 4.0.3). Ponownie nie potrafię wyjaśnić faktu tego błędu, zdecydowałem się na użycie gnustl podczas budowania aplikacji.
5. Moje kungfu jest silniejsze niż twoje.
Używanie biblioteki o nazwie podobnej do tej, która jest już w systemie, prowadzi do załadowania cudzej biblioteki, która może nie zawierać niezbędnych funkcji. Błąd pojawił się ze względu na to, że buduję swoją wersję libpng. Więc rozwiązanie zostało znalezione na stackoverflow, naprawione poprzez zmianę nazwy biblioteki libpng.so na libpnggo.so

W areszcie...
Pracujący! Prawie nie różni się od BB! Czy jestem zadowolony? Nie całkiem!

Fakt jest taki, że jestem krzywy, albo narty nie jeżdżą, ale na tablecie aplikacja okazała się ekstremalnie wolna (10-12 fps dla wyjątkowo prostego obrazu, wynik jest nudny), myślę, że wina leży w moich rękach i nieznajomość sprzętu. SDL to wspaniała biblioteka w obu wcieleniach, i naprawdę dużo dobre gry używa go, a także Dodaj etykiety

Dziś większość użytkowników telefonów i tabletów chętnie przechodzi przez nowy krąg wszystkich zabawek, które wcześniej trafiały tylko na komputer osobisty. Istnieją narzędzia, które są odcięte, przekonwertowane na nowe system operacyjnyi są całkowicie przeniesione gry na Androida. Czy chcesz grać w najlepsze przeniesione aplikacje?

Zrzuty ekranu

Proces gry

Pierwsza aplikacja na liście przeniesionych gier z PC na Androida to legendarna strategia RPG, która zdobyła niejedne serce graczy. Większość użytkowników zna to narzędzie od 98 roku. Teraz pojawiła się na urządzeniach i nadal zachwyca swoich fanów.

Po uruchomieniu można spojrzeć na porady dotyczące sterowania postacią, w tym celu wystarczy kliknąć przycisk Samouczek. Następnie możesz wybrać standardową wersję narzędzia lub pobrać dodatkową fabułę, ale lepiej zacząć od zera.

Po obejrzeniu filmu otwierającego masz możliwość:

  • rozpocząć grę dla jednego gracza;
  • pobierz grę wieloosobową, aby grać ze znajomymi;
  • wprowadź ustawienia, aby zmienić język i głośność dźwięku.

Po wstępnych ustawieniach musisz zdecydować o postaci, narzędzie ma możliwość wzięcia dla siebie istniejącego bohatera lub stworzenia własnego wojownika ze złem. Aby utworzyć, musisz kliknąć przycisk Utwórz, a następnie wybrać płeć, rasę, klan i inne cechy.

Dodatkowe przyciski znajdują się po lewej stronie wyświetlacza. Możesz zobaczyć informacje o zadaniach, klikając kompas, przechodzisz do mapy narzędzi. Aby zobaczyć plecak, kliknij na obrazek miecza i torby, a żeby załadować dane bohatera, kliknij na obrazek z małym człowiekiem.


Głównym zadaniem narzędzia jest pokonanie wrogów i przyciągnięcie jak największej liczby osób na swoją stronę. Gra zgromadziła około stu różnych zaklęć magicznych, ponad 40 różnych klas, ponad sześćdziesiąt godzin gry.

Plusy i minusy

Zalety:

  • świetna grafika;
  • wspaniała fabuła;
  • wiele klanów;
  • dobra muzyka.

Brak narzędzia polega na braku języka rosyjskiego, co komplikuje przejście dla początkującego gracza. Aplikacja waży dużo, więc nie ma możliwości pobrania jej na każde urządzenie.

Ściągnij

Max Payne

Zrzuty ekranu

Proces gry

Max Payne to strzelanka z najwyższej półki z ciekawą fabułą. Max był szanowanym policjantem, który kiedyś spotkał się z grupą bardzo poważnych przestępców. Bandyci próbowali przekonać Payne'a, aby ich nie dotykał, ale przyzwoitość i wiara w sprawiedliwość nie pozwoliły Payne'owi na odwrót od celu. Wtedy przestępcy postanowili zabić całą rodzinę bohatera, po czym zmieniło się całe życie Maxa ...

Uruchamiając narzędzie, możesz przejść szkolenie, dostosować sterowanie dotykowe do swoich pragnień, włączyć wyświetlanie wirtualnego joysticka, a także włączyć automatyczne zapisywanie i zmianę broni. Aplikacja ma cztery poziomy:

  • zbieg;
  • ugotowane na twardo;
  • śmierć na miejscu;
  • czas ucieka.

Początkowo możesz grać tylko na pierwszym poziomie. Aby otworzyć kolejne odcinki, musisz przejść przez poprzednie. Aplikacja zaczyna się od krótkiego filmu, takiego samego, jak na komputerze osobistym. Bohater opowiada o swojej przeszłości, o tym, jak żył do śmierci żony i córki oraz po ich śmierci.

Wchodząc do domu, bohater zdaje sobie sprawę, że coś jest nie tak, po czym widzi na ścianie obraz strzykawki i słyszy krzyk żony. Zabija trzy osoby, które były ubrane w ubrania lekarzy, ale Max nie ma czasu na ratowanie rodziny. Mordercy z rodziny zostali napompowani nową substancją odurzającą, co skłoniło bohatera do zwrócenia się do organów ścigania narkotyków.

U góry ekranu rysowana jest sylwetka mężczyzny, która pokazuje poziom życia głównego bohatera. Aby zwiększyć witalność, musisz szukać apteczek. Po prawej stronie widać obraz pistoletu, po kliknięciu na niego pojawia się możliwość strzelania, u góry widać ilość nabojów.

Jeśli chcesz zmienić broń, kliknij strzałkę powyżej. Jeśli na ekranie pojawi się wykrzyknik, oznacza to, że w pobliżu znajduje się jakiś obiekt, na który należy zwrócić szczególną uwagę. Istnieją wirtualne joysticki do przesuwania i obracania kamery, ich położenie można zmienić w ustawieniach.

Plusy i minusy

Zalety:

  • świetna fabuła;
  • jest dostęp do celownika samochodowego;
  • całkowicie po rosyjsku;
  • wiele ustawień.

Narzędzie jest gorsze pod względem grafiki w porównaniu z innymi grami podobnego typu.

Ściągnij

Worms 2: Armageddon

Zrzuty ekranu

Proces gry

Robaki od dawna migrowały do \u200b\u200btelefonów i tabletów. Jeden z najlepsze wersjeprzez większość użytkowników jest uważany za Armageddon. Początkowo można było zapoznać się z narzędziem na PC, ale ci, którzy wcześniej nie grali w tę zabawną zabawkę, mogą rozpocząć bitwę na urządzeniu.

Wchodząc do aplikacji, możesz wybrać poziom trudności, od najbardziej podstawowego do klasy guru w bitwach. Każdy poziom ma określony czas na rundę i wykonanie ruchu. Przewijając dalej, zobaczysz opcje amunicji, które będą dostępne podczas misji. Powiedzmy, że na łatwym poziomie przydzielono 90 minut czasu gry, a pasek życia każdego robaka będzie pełny w stu procentach.

Początkowo rozdawane jest 50 sztuk złota, po jednokrotnym kliknięciu obrazu monet następuje automatyczne przejście do sklepu narzędziowego. W sklepie robak może kupić czapki dla ochrony i ciekawszego designu, kupić dodatkową broń, forty, a nawet nagrobki.

Jeśli nigdy nie grałeś, możesz przejść bitwę treningową. Po opanowaniu podstaw istnieje możliwość rozpoczęcia gry dla jednego gracza lub przejścia do trybu wieloosobowego, aby walczyć ze znajomymi. Narzędzie ma możliwość zmiany broni, powiększania lub pomniejszania robaków. Aplikacja zawiera wszystkie bronie, które wcześniej znajdowały się na PC. Istotą gry jest zabicie wszystkich wrogich robaków.

Plusy i minusy

Zalety:

  • świetna grafika;
  • duży wybór broni;
  • dużo pokoi.

Wadą jest brak tłumaczenia na język rosyjski.

Ściągnij

Wynik

Każdy z przeglądanych programów zasługuje na szczególną uwagę. Jeśli uwielbiasz gry RPG, nie przegap okazji, aby zagrać w Baldur's Gate, legendarny Max Payne jest odpowiedni dla miłośników strzelanek, ale robaki staną się niezbędne, aby rozweselić.