Don’t Touch The Green

Jak najlepiej pokazać możliwości Qt osobom niezwiązanym z biznesem, a także tym szykującym rozrywki? Przyjaznym użytkownikowi rozwiązaniem jest stworzenie gry wieloplatformowej. Postanowiliśmy więc stworzyć własną, wciągającą grę - Don't Touch The Green

Technologie

Jak najlepiej pokazać możliwości Qt osobom niezwiązanym z biznesem, a także tym szykującym rozrywki? Przyjaznym użytkownikowi rozwiązaniem jest stworzenie gry wieloplatformowej. Postanowiliśmy więc stworzyć własną, wciągającą grę – Don’t Touch The Green

Colorful beginnings

Jednak stworzenie dobrej gry nie jest takie proste. Angażująca mechanika,wymagająca rozgrywka i interesujący koncept to tylko kilka z wielu elementów,nad którymi trzeba pomyśleć projektując taką aplikację.Najważniejsze jest jednak to, aby stworzona gra była wyjątkowa.

Na czym polega wyjątkowość DTTG? Sekret tkwi w oszukiwaniu percepcji gracza. Myląca nazwa poszczególnych elementów, która nie pasuje do ich prawdziwego koloru, to tylko jeden z wielu nietypowych sposobów na zdezorientowanie osoby grającej.

Dlaczego taki dziwny tytuł gry? Jej głównym „czarnym charakterem” musiał być kolor, który kojarzy się z pozytywnymi cechami – zieleń była więc oczywistym wyborem. Te dwa główne czynniki tworzyły świetną kombinację dla gry zręcznościowej.

 

Korzystaj z korzyści

Nie zapominajmy, że DTTG to gra demonstrująca wybraną technologię. Znajdziemy w niej więc sporo rzeczy, które chcemy za jej pomocą zaprezentować. Zacznijmy od jej serca – technologii Qt.

Dlaczego programiści uwielbiają Qt? Po pierwsze jest to stale rozwijany i utrzymywany framework. Oznacza to, że nowe funkcje i usprawnienia są regularnie dostarczane. Do tego należy również dodać doskonale dopracowaną dokumentację, która zawiera odpowiedzi na niemal każde pytanie programisty.W frameworku tym znajdziemy także język deklaratywny Qml (skrót od „Qt Markup Language”). Główną zaletą tego języka jest jego wysoka wydajność – został on stworzony w C++, dzięki czemu działa natywnie na urządzeniach docelowych.Format kodu stworzonego w Qml przypomina JSON, przez co jest on również prosty w odczycie i utrzymaniu. Naszym zdaniem praca w nim to czysta przyjemność, a jak wszyscy wiemy zadowolony deweloper to gwarancja udanej aplikacji.

Pierwszą, z wielu cech Qt, na której powinniśmy się skupić, jest łatwość i szybkośćtworzenia wieloplatformowych rozwiązań. DTTG posiada jedną bazę kodu źródłowego opartą na Qml i C++, która zawiera tylko 2984 linijki kodu. Takie rozwiązanie umożliwia implementację aplikacji na wiele platform bez konieczności wielokrotnego kodowania w różnych językach. Nie bez powodu jednym z haseł Qt jest „Koduj raz, wdrażaj wszędzie”.

Ta doskonała funkcja umożliwia programistom szybsze dostarczanie produktów, a klientom oszczędność pieniędzy. Nie musisz pisać aplikacji od nowa, jeżeli chodzi o implementacje na inne platformy. Nie musisz też iść na skróty z powodu ograniczonego i niewydajnego frameworka webowego.

 

Pchaj do granic możliwości

Efektywność zasobów jest szczególnie ważna, gdy chodzi o rozwój gry. Responsywność i płynna grafika są jednymi z kluczowych czynników wpływających na zadowolenie graczy. Aby to wszystko zapewnić trzeba zrezygnować z niektórych, często zaawansowanych funkcji lub skorzystać z niskopoziomowej technologii, która często sprawia, że programowanie to istny koszmar… chyba, że używasz Qt!

Wśród zalet, z których słynie Qt jest również wydajność pamięciowa. Przy użyciuQt można zintegrować błyskawiczną logikę aplikacji w C++ z płynnym i wydajnym front-endem QML. Jak już wspomnieliśmy jest QML opiera się na C++, a więc już sam w sobie jest całkiem efektywny. Na dodatek, jeśli to możliwe, używana jest akceleracja sprzętowa, aby jeszcze bardziej zwiększyć jego wydajność. Język ten korzysta również z kompilacji Just-In-Time oraz Ahead-Of-Time.

Dzięki tym korzyściom możesz stworzyć aplikację, którą bez problemu uruchomisz na każdym urządzeniu – od smartfonów po urządzenia wbudowane, takie jak RaspberryPi Zero. Wydajność aplikacji Qt możemy łatwo udowodnić: podczas uruchamiania aplikacji na maszynie Windows, zużycie pamięci RAM DTTG (podczas gry, nie w menu) oscyluje w granicach 90-125 MB. Jest to prawie takie samo zużycie RAM jak przy uruchamianiu szablonu aplikacji Ionic angular blank!

 

 

Aby uczynić cały proces tworzenia projektu tak wydajnym, jak to tylko możliwe, nie poprzestaliśmy tylko na frameworku Qt. DTTG korzysta również z Felgo – wieloplatformowego SDK do tworzenia aplikacji. Poza dostępem do wielu gotowych klas, udostępnia on jedno z naszych ulubionych narzędzi: QML Hot Reload.Daje ono możliwość podglądu wyników zmian w kodzie w czasie rzeczywistym bez konieczności przebudowywania aplikacji. Z narzędziem tym tworzenie UI jest o wiele prostsze, ale też i szybsze.

Qt sam w sobie jest w stanie zapewnić wszystko, czego powinien potrzebować twórca gier mobilnych. Po co jednak wymyślać koło na nowo, skoro mieliśmy do dyspozycji Felgo i zawarte w nim gotowe obiekty? Dzięki nim tworzenie fizyki, multiplayer, animacji i wiele innych elementów gry była bułką z masłem.

Jak więc sami widziecie framework Qt jest dobrym wyborem, jeżeli chodzi o gry 2D.Niemniej jednak, nie jest to jedyny przypadek, w którym Qt świeci pełnym blaskiem.Na naszej stronie znajdziecie więcej dem technicznych stworzonych przez zespół Scythe Studio.

Ostatnie projekty

Aplikacja desktopowa Qt QML − Launcher do gier case study

Szeroki wybór modułów Qt pozwala na stworzenie dowolnego typu produktu. Przykładem może być opisany przez nas panel sterujący wojskowym robotem, czy projekt, który mieliśmy przyjemność wdrażać – aplikacja uruchamiająca i aktualizująca gry. Jeżeli ciekawi Cię, jak przebiegał proces tworzenia takiego oprogramowania, to pozostań z nami. Pamiętaj, że z resztą naszych projektów możesz zapoznać się w naszym portfolio.

Oprogramowanie kokpitu samochodowego − case study

Kokpit samochodowy dla rewolucyjnego i innowacyjnego pojazdu elektrycznego był kolejnym projektem, w którym pomogliśmy naszym klientom. Przy użyciu Qt stworzyliśmy oprogramowanie kokpitu samochodowego. Zaprojektowany kokpit składał się z trzech niezależnych wyświetlaczy prezentujących kierowcy krytyczne informacje takie jak prędkościomierz, kontrolki ostrzegawcze oraz inne funkcjonalności panelu IVI.

Zoho Books Forecasting − wieloplatformowa aplikacja desktopowa Qt

Zoho Books Forecasting to aplikacja desktopowa do wizualizacji historii finansowej i tworzenia prognoz dla firm korzystających z platformy Zoho Books jako narzędzia do prowadzenia księgowości i śledzenia swojej sytuacji finansowej. Pomimo dosyć prostego interfejsu zapewnia ona szeroką funkcjonalność w zakresie przedstawiania przychodów, wydatków i przepływów pieniężnych firmy, jednocześnie rozszerzając podstawowe elementy platformy Zoho Books o nowe funkcje.