Boehrsi.de - IT und Gaming Blog

Game-Dev Projekt - Engine Umzug und konkrete Pläne

Erstellt am event Uhr von account_circle Boehrsi in label Development
Game-Dev Projekt - Engine Umzug und konkrete Pläne Bild

Meine privaten Projekte haben hin und wieder die Angewohnheit in ihrem Ausmaß massiv zu wachsen und das vom einen auf den anderen Tag. Genau dies ist nun auch mit meinem Game-Dev Projekt passiert.
Initial wollte ich meine Ideen für die Spieleentwicklung, welche ich bereits lange mit mir herum trage, in Flutter / Dart und der darauf aufsetzenden Engine Flame open_in_new implementieren. Diverse kleine Komponenten habe ich dort bereits umgesetzt und einige Konzepte erarbeitet. Nun bin ich aber an einem Punkt an dem ich etwas mehr Tooling und vor allem auch die Gewissheit benötige, dass ich das Spiel wirklich, falls es denn irgendwann fertig ist, z.B. bei Steam relativ einfach veröffentlichen könnte.
Denn ich plane, auch wenn es sich hier um ein Pet-Project handelt, am Ende falls möglich etwas funktionales zu produzieren. In diesen Bereichen, also Tooling und Release-Management, habe ich das Gefühl das ich mit Flame auf Probleme stoßen könnte. Dies ist nicht primär der Fehler von Flame sondern eher von mir selbst, da ich vor allem im Bereich Tooling gerne mehr als weniger Hilfe hätte, weil die Spielentwicklung eben noch etwas neues für mich ist. Vor allem alle grafischen Aspekte sind eine Herausforderung für mich und da hilft es natürlich wenn man einen vollwertigen Editor hat, in welchem man z.B. direkt die 2D Welt sieht während man sie baut.

Raffle Companion Status Update und Release Plan

Erstellt am event Uhr von account_circle Boehrsi in label Development
Raffle Companion Status Update und Release Plan Bild

Mein kleines Tool Raffle Companion kann sich mittlerweile sehen lassen. Bei selbigem handelt es sich um ein Gewinnspiel-Key-Management-Tool, geschrieben in Flutter und gedacht für die Nutzung auf dem Desktop. Da Flutter viele Freiheiten bietet habe ich hier auf Microsofts Fluent UI open_in_new (via fluent_ui open_in_new) gesetzt, denn nicht alles im Kontext Flutter muss mit Googles Material Design gebaut werden.
Die Release-Version wurde vor einigen Wochen fertiggestellt und wäre nach einem weiteren Review bereit für einen Release. Durch den Flutter 3.3 Release werde ich allerdings noch ein paar kleinere Anpassungen vornehmen. Ich versuche dies in den nächsten Wochen und spätestens im Oktober endlich durchzuziehen. Dann muss nur noch das Repository, das Deployment und der eigentliche Release via GitHub umgesetzt werden. Auch eine kleine Projektseite hier im Blog wird es geben, damit ihr schnell und einfach an relevante Informationen kommt.
Das Tool nutze ich selbst bereits sein einiger Zeit z.B. im Rahmen meiner Games Gewinnspiele hier im Blog und bin bis dato durchaus zufrieden. Flutter auf dem Desktop, in meinem Fall auf einem Windows System, funktioniert ziemlich gut.
Der erste Release wird in Form einer Beta stattfinden, da auch wenn ich das Tool bereits lange produktiv einsetze, eine einzelne Testperson meist keine verlässliche Aussage über die generelle Stabilität in der freien Wildbahn liefern kann. Finden könnt ihr das Ganze wie erwähnt auf GitHub, sobald meine Vorbereitungen erledigt sind. Im Rahmen des Deployments bin ich gespannt ob es bei einem schlichten Download bleibt oder ob ich mir mal den Windows Store anschaue. Dazu zu gegebenem Zeitpunkt mehr. Falls ihr Fragen habt meldet euch gerne in den Kommentaren.

Tessa App 2.0 - Full Test abgeschlossen & Release Vorbereitung gestartet

Erstellt am event Uhr von account_circle Boehrsi in label Development
Tessa App 2.0 - Full Test abgeschlossen & Release Vorbereitung gestartet Bild

Bei den Status Updates zu meinen aktuellen Projekten geht es heute weiter mit der Tessa App, welche die Full Test Phase für den Release von Version 2.0 überstanden hat. Aufgrund von diversen umfangreichen Änderungen in diesem Release gab es doch noch die eine oder andere Kleinigkeit die noch behoben werden musste. Alles in allem gingen die letzten Anpassungen aber gut von der Hand und die letzten bekannten Fehler wurden aus der Welt geschafft. Zusätzlich gab es durch den Release von Flutter 3.3 noch einige Last Minute Änderungen. Der verbesserte Material 3 Support im genannten Release erlaubte mir einige Workarounds zu entfernen.
Aktuell bereite ich den Release vor und passe die nötigen Store-Assets, sowie die Release Notes an. Diese Prozess dauert bei umfangreichen Releases meist länger als man es sich wünscht. Ich plane den Release innerhalb von dieser Woche, aber bis spätestens Ende nächster Woche durchzuführen.
Außerdem spiele ich im Rahmen der App gerade mit dem Gedanken automatisierte UI Tests durchzuführen. In diesem Bereich bin ich über neues und scheinbar sehr einfach nutzbares Tooling gestolpert. Sobald ich dazu gekommen bin mir das Ganze anzuschauen wird es sicherlich auch dazu einen oder mehrere Beiträge geben.

Related Links

Device Marketing Names & Device Identifiers Status Update

Erstellt am event Uhr von account_circle Boehrsi in label Development
Device Marketing Names & Device Identifiers Status Update Bild

Nach ein paar ruhigen Tagen geht es nun wieder aktiver zur Sache hier im Blog. In den letzten Wochen vor meinem Urlaub habe ich mich relativ umfangreich um diverse meiner Projekte gekümmert. Im Folgenden gibt es ein kleines Update zum Status von selbigen.
Den Anfang machen Device Marketing Names (Kotlin Package & Dart / Flutter Package) & Device Identifiers, meine Projekte zum Thema Gerätenamen auslesen. Diese erhielten vor ca. drei Wochen ihre regelmäßigen Updates und wurden mit neuen Daten und minimalen Anpassungen versehen. Die Updates wurden wie gewohnt über die bekannten Package Repositories verteilt und der Code ist auf GitHub verfügbar. Die nächste Aktualisierungsrunde wird bereits in ca. einer Woche stattfinden. Alles weitere zu diesen Projekten gibt es im Projekte Bereich.
Sowohl das Tool zum generieren, wie auch die Kotlin und Flutter Library, welche die Funktionalität für Clients zur Verfügung stellen, sind mittlerweile als stabil anzusehen. Kleinere Änderungen, Erweiterungen und natürlich Updates der Daten gibt es entsprechend, aber umfangreichere Anpassungen an der API sollte es keine mehr geben. Den Prozess des monatlichen Datenupdates konnte ich darüber hinaus auch noch etwas beschleunigen, sodass diese Projekte gut gepflegt werden können, ohne zu viel Zeit zu benötigen. Dies ist mir aktuell sehr wichtig, denn ich möchte laufenden Projekte gut pflegen, aber ebenso auch Zeit haben neue und umfangreiche Projekte zu starten.
In den nächsten Tagen werden weitere Informationen zum Status meiner Projekte erscheinen, denn aktuell möchte ich für euch und auch für mich selbst einen roten Faden in die Entwicklung von selbigen bringen. Dies plane ich schon seit längerem, denn ich möchte alle meine öffentlich verfügbaren Projekte mit nachvollziehbaren Entwicklungszyklen ausstatten. Dies erlaubt mir hoffentlich laufende, wie auch neue Projekte, gut zu pflegen und am Leben zu halten.

Related Links

Midyear 2022 Flame Game Jam

Erstellt am event Uhr von account_circle Boehrsi in label Development
Midyear 2022 Flame Game Jam Bild

Während ich weiter kleine Schritte im Bereich der Spieleentwicklung mache, behalte ich natürlich die Engine in welcher ich aktuell entwickle im Blick. Selbige basiert auf Dart und Flutter und hört auf den Namen Flame open_in_new. Bereits seit einiger Zeit veranstalten die Entwickler von Flame Game Jams und bald ist es wieder soweit. Vom 19. bis 21. August findet der Midyear 2022 Flame Game Jam statt und interessierte können alleine oder gemeinsam via itch.io versuchen ein Spiel auf die Beine zu stellen.
Ich selbst habe schon an dem einen oder anderen Game Jam teilgenommen, sowohl offline, wie auch rein online. Ich kann nur sagen, dass wenn einen das Thema interessiert und man vielleicht noch ein paar gleichgesinnte im Bekanntenkreis hat, es lohnt sich. Es ist eine Herausforderung und es wird definitiv nicht immer ein funktionsfähiges Spiel entstehen, aber man lernt viel und allem voran macht es verdammt viel Spaß. Ich vermute am genannten Wochenende werde ich nicht genug Zeit haben um selber teilzunehmen, aber ich werde das Event verfolgen und versuchen im genannten Zeitraum selber die eine oder andere Stunde in die Entwicklung meines Spiels zu stecken.

Related Links
Bildquelle: itch.io open_in_new

Device Marketing Names & Device Identifiers Updates

Erstellt am event Uhr von account_circle Boehrsi in label Development
Device Marketing Names & Device Identifiers Updates Bild

Es gibt wieder neue Versionen meiner Device Names Libraries. Sowohl das Tool zur Generierung (Device Identifiers), wie auch meine beiden Libraries (Device Marketing Names - Dart / Flutter und Device Marketing Names - Kotlin), die die dazugehörigen Client Funktionen für Dart und Kotlin implementieren, wurden aktualisiert.
Für die beiden Client Libraries bedeutet dies ein paar aktualisierte Abhängigkeiten und vor allem eine aktualisiertes Datenset. Umfangreichere Änderungen gab es eher im Tool, welches ich zur Erstellung der Datensets nutze. Hier hab ich eine Funktionalität eingebaut die mir schon seit längerem fehlte. Selbige ist die Formatierung und Optimierung des erstellten Kotlin Codes. Denn auf Grund der Größe der Datei dauerte dies in der IDE sonst immer unnötig lange und ich will das der Code direkt und ohne unnötige Arbeit nutzbar ist. Dies ist mit dem aktuellen Update nun möglich und wie hier zu lesen war der Aufwand auch durchaus gering.
Sofern ihr also eine Dart oder Kotlin Library braucht, die die Modelbezeichnung eures Smartphones oder Tablets in einen für den Nutzer verständlichen Marketing Namen umwandelt, dann schaut euch meine Libraries doch einfach mal an. Alle relevanten Links sind wie gewohnt in den Related Links zu finden.

Related Links

Kotlin und Dart Code via GitHub Action formatieren

Erstellt am event Uhr von account_circle Boehrsi in label Development
Kotlin und Dart Code via GitHub Action formatieren Bild

Code, egal wie gut er logisch geschrieben ist, ist ohne eine ordentliche Formatierung problematisch. Man kann es vergleichen mit dem besten Buch aller Zeiten, welches aber quasi unlesbar ist, weil die Schriftgröße auf drei gesetzt wurde.
Bei den Programmiersprachen bin ich bekanntlich in den Bereichen Dart und Kotlin unterwegs und auch wenn normalerweise die IDE und die integrierten Tools das Formatting übernehmen, so gibt es doch Situation wo eine schnelle Formatierung via CLI hilfreich ist. Als konkretes Beispiel hätte ich hier die CI, welche z.B. Code generiert, optimiert oder vor dem Release von Libraries und Apps für Ordnung sorgt.

Related Links

Tessa App - Version 2.0 steht vor der Tür

Erstellt am event Uhr von account_circle Boehrsi in label Development
Tessa App - Version 2.0 steht vor der Tür Bild

Eines von meinen verschiedenen laufenden Projekten ist die Tessa App. Eine App die als Companion-App für Reiter gedacht ist. Initial entwickelt für meine Frau, wurde das Feature-Set recht umfangreich und ich entschied mich sie für jedermann über den Play Store open_in_new verfügbar zu machen. Die App wird dort nun seit längerem mit Updates und kleineren Erweiterungen versehen.
Nun steht nach längerer Entwicklungsphase ein umfangreiches Update mit neuen Funktionen, einer modernisierten UI und verbesserter Performance vor der Tür. Die UI wird dabei auf Googles Material Design 3 open_in_new basieren, welches ich entsprechend in Flutter umgesetzt habe. Flutter 3 open_in_new unterstützt bereits diverse Material 3 Komponenten und die restlichen habe ich selber entsprechend angepasst. Im Bereich der Features wird es möglich sein mehrere Aktivitäten an einem Tag hinzuzufügen und der Bereich für Pferde-Daten wurde erweitert, sodass man diverse relevante Gesundheitsdaten hinterlegen kann. Im Bereich der Performance erfolgten massive Verbesserungen und ebenfalls umfangreiche Bugfixes. Auf die konkreten Details und weiteren Neuerungen werde ich im Rahmen der Release Notes eingehen.

Related Links

Flutter Plugins & Packages - Eine neue News-Sammlungen

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Flutter Plugins & Packages - Eine neue News-Sammlungen Bild

Flutter bietet eine große Menge an Plugins und Packages (via pub.dev open_in_new), die euch bei der Entwicklung eurer Apps helfen sollen. Ich selber nutze einige davon und habe auch schon selber welche geschrieben, weitere Informationen dazu im Projekte Bereich. Da die Auswahl aber sehr groß ist und man manchmal gar nicht genau weiß was man braucht, starte ich heute eine News-Sammlungen zu Plugins und Packages die ich viel nutze.
Die Begriffe Plugin und Package werde ich vermutlich beide benutzen, auch wenn ich versuche ein einheitliches Wording zu verwenden. Technisch ist der Unterschied bei diesen beiden übrigens wie folgt definiert. Ein Flutter Plugin interagiert auf die eine oder andere Weise mit nativem Code und stellt z.B. ein Interface für schon vorhandene native Bibliotheken zur Verfügung. Während ein Dart Package ausschließlich in Dart entwickelt wird. Hier könnte man als Beispiel Packages nennen, die neue Widgets einführen oder mathematische Formeln in Dart implementieren.

Bildquelle: pub.dev open_in_new

I'm a coder - Spaß beim Bugfixing

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Spaß beim Bugfixing Bild

Softwareentwicklung bedeutet neben neuen Features natürlich auch das auffinden und beheben von Bugs und Problemen. Nun sind Projekte groß, teils mit anderen zusammen entwickelt und entsprechend hat man einen mehr oder weniger tiefen Einblick in die verschiedenen Teilbereiche einer Software.
Umso befriedigender ist es eine grobe Beschreibung von einem Problem zu hören und direkt eine Idee zu haben, wo das Problem liegen könnte. Liegt man dann auch noch komplett richtig, ist dies meiner Meinung nach eines der besten Gefühle für Entwickler. Denn es zeigt das man den Code nicht nur kennt, sondern auch das man ihn verstanden und durchdrungen hat. Soll heißen man weiß nicht nur was passiert und wo es passiert, sondern auch warum und welche generellen Abläufe dahinter stecken.
Ebenfalls sehr angenehm empfinde ich es, wenn man vorhandene Konzepte und Strukturen in neuen Bereichen problemlos einsetzen kann. Da man sie flexibel genug aufgebaut hat, sodass auch andere Einsatzzwecke als der initial geplante umgesetzt werden können. Dabei kann es je nach Situation natürlich möglich sein das minimale Erweiterungen nötig sind, doch wenn die Grundideen und Abläufe weiterhin funktionieren fühlt man sich durchaus bestätigt.
Da man bei der Softwareentwicklung am Ende nicht zwangsweise etwas in der Hand hält und auch das Feedback der Nutzer oft sehr indirekt ist, finde ich es wichtig aus derartigen Dingen Freude zu ziehen. Denn am Ende sollte man ja auch Gefallen an dem finden was man tut, egal ob professionell oder im privaten Kontext. Insofern genießt den nächsten Bugfix oder das nächste Refactoring vielleicht einfach und freut euch darüber das ihr wisst was zu tun war, statt euch über eventuell blöde Fehler zu ärgern. Ein bisschen Fluchen zum abreagieren schadet hin und wieder aber natürlich trotzdem nicht.

format_list_numbered  Seite 1 Nächste navigate_next