Don’t Touch The Green

Was ist der beste Weg, um die Fähigkeiten der Qt-Technologie zu demonstrieren und dabei auch die Nicht-Business-Anwender nicht zu vergessen, die einfach nur Spaß haben wollen? Richtig - erstellen Sie ein Multiplattform-Spiel!

Technologies used

Was ist der beste Weg, um die Fähigkeiten der Qt-Technologie zu demonstrieren und dabei auch die Nicht-Business-Anwender nicht zu vergessen, die einfach nur Spaß haben wollen? Richtig – erstellen Sie ein Multiplattform-Spiel!

Farbenfrohe Anfänge

Die Entwicklung eines erfolgreichen Spiels ist jedoch nicht so einfach. Eine fesselnde Spielmechanik, ein herausforderndes Gameplay und ein interessantes Konzept sind nur einige der vielen Punkte, die bei der Entwicklung eines Spiels berücksichtigt werden müssen. Das Wichtigste ist jedoch, die Anwendung in irgendeiner Weise außergewöhnlich zu machen.

Im Fall von DTTG wollten wir dies erreichen, indem wir die Wahrnehmung des Spielers durch die Spielmechanik verwirren. Die Farbe von Objekten, die nicht mit ihrem Namen übereinstimmen, ist eine ungewöhnliche Art, Aufmerksamkeit und Geschicklichkeit zu testen.

Aber wie kam es zu einem so seltsamen Titel für das Spiel? Der „Bösewicht“ des Spiels musste eine Farbe sein, die normalerweise mit positivem Feedback assoziiert wird. Grün war eine naheliegende Wahl. Diese beiden Hauptfaktoren waren eine gute Kombination für ein Arcade-Spiel.

Fortschritt mit Vorteilen

Vergessen wir nicht, dass die DTTG eine Technologiedemonstration ist, also gibt es einige Dinge, die wir mit dieser Anwendung demonstrieren wollen. Lassen Sie uns zunächst ein wenig über den Kern der DTTG selbst sprechen – die Qt-Technologie.

Warum lieben Entwickler Qt? Sie wird ständig weiterentwickelt und gepflegt, so dass regelmäßig neue Funktionen zur Verfügung stehen. Außerdem gibt es eine absolut hervorragende Dokumentation, die fast jede Frage beantwortet. Es gibt auch die deklarative Sprache QML, die für „Qt Markup Language“ steht. Die wichtigste positive Eigenschaft der Sprache selbst ist ihre Effizienz – sie ist in C++ geschrieben und läuft nativ auf den Zielgeräten. Dank ihres JSON-ähnlichen Formats ist sie auch leicht zu lesen und zu warten. Unserer Meinung nach ist die Arbeit mit dieser Sprache eine wahre Freude. Denken Sie daran – ein zufriedener Entwickler ist der Garant für eine erfolgreiche Anwendung.

Die erste von vielen Eigenschaften von Qt, auf die Sie sich konzentrieren sollten, ist die einfache Erstellung von Multiplattform-Lösungen mit diesem Framework. DTTG verfügt über eine einzige Codebasis von 2894 Zeilen, die auf QML und der Sprache C++ basiert und die Bereitstellung auf vielen Plattformen ohne zusätzliche Codierung ermöglicht. Nicht umsonst lautet einer der Slogans von Qt „Einmal programmiert, überall einsetzbar“. Sie sind nicht mehr durch die Technologie auf eine einzige Plattform beschränkt.

Diese überlegene Eigenschaft ermöglicht es Entwicklern, Produkte schneller zu liefern und Kunden Geld zu sparen. Sie müssen die Anwendung nicht neu schreiben, wenn sie auf einer anderen Plattform eingesetzt werden soll, und sie müssen keine Abstriche machen, weil sie auf speicherineffiziente Web-App-Frameworks mit eingeschränktem Funktionsumfang angewiesen sind.

 

Gehen Sie ans Limit

Ressourceneffizienz ist bei der Entwicklung von Spielen besonders wichtig. Reaktionsschnelligkeit und flüssige Grafik sind Schlüsselfaktoren für die Zufriedenheit der Spieler. Um dies zu erreichen, kann man auf einige Funktionen verzichten oder eine Low-Level-Technologie verwenden, die das Programmieren zu einem Alptraum macht… Aber diese Szenarien werden nicht eintreten, wenn Sie Qt verwenden!

Einer der Vorteile, für die Qt bekannt ist, ist die Speichereffizienz. Wenn Sie Qt verwenden, können Sie blitzschnelle C++-Anwendungslogik mit einem flüssigen und effizienten QML-Frontend kombinieren. Wie bereits erwähnt, ist QML in C++ geschrieben und daher an sich schon sehr effizient. Zusätzlich wird, wo immer möglich, Hardwarebeschleunigung eingesetzt, um die Performance zu erhöhen. Die Sprache profitiert auch von der Just-In-Time- und Ahead-Of-Time-Kompilierung.

Dies ermöglicht es, eine Anwendung zu erstellen, die auf jedem Gerät problemlos ausgeführt werden kann, von Smartphones bis hin zu eingebetteten Geräten wie dem RaspberryPi Zero. Das sind keine leeren Behauptungen. Wenn die Anwendung auf einem Windows-Rechner läuft, schwankt der RAM-Verbrauch von DTTG (während des eigentlichen Spiels, nicht im Menü) zwischen 90 und 125 MB. Das ist fast der gleiche RAM-Verbrauch wie beim Ausführen eines leeren Ionic Angular App Templates!

 

 

Um den gesamten Prozess der Projekterstellung so effizient wie möglich zu gestalten, sind wir über Qt hinausgegangen. DTTG verwendet auch Felgo – ein plattformübergreifendes SDK für die Anwendungsentwicklung.

Es bietet nicht nur Zugriff auf viele vorgefertigte Klassen, sondern auch auf eines unserer Lieblingswerkzeuge: QML Hot Reload. Damit können Sie die Ergebnisse von Code-Änderungen in Echtzeit sehen, ohne die Anwendung neu erstellen zu müssen. Mit diesem Tool geht die UI-Implementierung blitzschnell.

Qt als eigenständiges Programm bietet alles, was Entwickler von mobilen Spielen brauchen, aber warum das Rad neu erfinden? Felgo ist im Grunde ein Framework für die Entwicklung von Spielen. Neben unserem geliebten Hot Reloadbietet es Objekte, die das Entwickeln von Spielen zum Kinderspiel machen. Physik, Multiplayer, Animationen und viele andere Komponenten werden von Felgo zur Verfügung gestellt.

Die Verwendung von Qt zur Erstellung von 2D-Handyspielen ist eine gute Wahl. Aber das ist nicht der einzige Bereich, in dem Qt glänzt. Hier finden Sie weitere technische Demos, die das Team von Scythe-Studio erstellt hat und die die Leistungsfähigkeit dieses großartigen Frameworks zeigen.