Number 2

Comrades, I take pride in projects that were created on the basis of Flame Steel Framework 1 and specifically on Flame Steel Engine 1, namely Death-Mask, Cube Art Project, since all this was conceived as a big experiment, creating a multimedia framework alone that can work on the most platforms. I think the experiment ended successfully immediately after the release of the Cube Art Project.

Now about the decisions that I came to during the development of new projects on FSFramework 1

During the development of Space Jaguar and the Space Jaguar Galaxy Bastards shooter, it became clear that the Flame Steel Framework tools were already outdated, not even having time to become at least somewhat convenient.

Therefore, I decided to develop a completely new Flame Steel Framework 2. The main decision will be to switch to my Rise 2 transpiler language, and the Component System (ECS) will no longer be used architecturally, because. it turned out to be needed only within the framework of game logic with great dynamics. For this reason, in Flame Steel Framework 2, the component system will only be possible while using the scripting languages ​​that are planned to be implemented (at least Lua and JavaScript), an interesting feature is that these languages ​​​​are dynamic in nature, so additional creation of the component system is redundant.

You can follow the development of new projects on the blog and on Gitlab:

https://gitlab.com/demensdeum/rise2

https://gitlab.com/demensdeum/flamesteelengine2

https://gitlab.com/demensdeum/flame-steel-engine-2-demo-projects

https://gitlab.com/demensdeum/space-jaguar-action-rpg

https://gitlab.com/demensdeum/space-jaguar-galaxy-bastards

Eigenschaften im Space Jaguar Action-Rollenspiel

Der erste Artikel über das in der Entwicklung befindliche Spiel, Space Jaguar Action RPG. In diesem Artikel beschreibe ich die Gameplay-Funktion des Jaguar – Eigenschaften.

Viele Rollenspiele verwenden ein statisches Charakterstatistiksystem, wie zum Beispiel die Statistiken von DnD (Stärke, Konstitution, Geschicklichkeit, Intelligenz, Weisheit, Charisma) oder Fallout – S.P.E.C.I.A.L (Stärke, Wahrnehmung, Ausdauer, Charisma, Intelligenz, Geschicklichkeit, Glück). ).

In Space Jaguar plane ich die Implementierung eines dynamischen Systems von Eigenschaften. Beispielsweise hat die Hauptfigur des Spiels Jag zu Beginn nur drei Eigenschaften – Beherrschung einer Klinge (Halbsäbel), zwielichtige Operationen (Geschäfte in der kriminellen Welt abschließen), Schurkenfähigkeiten (Schlösser knacken, Diebstahl). Während des Spiels werden den Charakteren im Rahmen des Spielmoduls dynamische Eigenschaften verliehen und entzogen. Alle Überprüfungen erfolgen auf der Grundlage des Niveaus bestimmter Eigenschaften, die für eine bestimmte Spielsituation erforderlich sind. Beispielsweise kann Jag eine Schachpartie nicht gewinnen, wenn er nicht über die Eigenschaft verfügt, Schach zu spielen, oder nicht über ein ausreichendes Level verfügt, um die Prüfung zu bestehen.

Zur Vereinfachung der Prüflogik erhält jedes Merkmal einen 6-stelligen Code in englischen Buchstaben, einen Namen und eine Beschreibung. Um beispielsweise eine Klinge zu besitzen:

bladeFightingAbility.name = "BLADFG"; 
bladeFightingAbility.description = "Blade fighting ability"; 
bladeFightingAbility.points = 3;

Перед стартом игрового модуля можно будет просмотреть список публичных проверок необходимых для прохождения, также создатель может скрыть часть проверок для создания интересных игровых ситуаций.

Ноу-хау? Будет ли интересно? Лично я нахожу такую систему интересной, позволяющей одновременно обеспечить свободу творчества создателям игровых модулей, и возможность переноса персонажей из разных, но похожих по характеристикам, модулей для игроков.

Space Jaguar 3D-Action-Rollenspiel

Ich habe schon lange keine neuen Projekte mehr angekündigt) Das nächste Projekt, an dem ich zu arbeiten beginne – 3D-Action-Rollenspiel namens Space Jaguar. Eine Geschichte in einer Science-Fiction-Umgebung über einen harten Kerl namens Jag und sein schwieriges Abenteuer auf der Suche nach seinem vermissten Vater. Es wird 3D-Grafiken auf der Flame Steel Engine (oder möglicherweise einer anderen beliebten Engine) geben, die Entwicklungen aus früheren Projekten (Death Mask, Cube Art Project) verwenden, eine Comedy-Handlung mit vielen Referenzen, Arcade-Kämpfe und Bosse. Ich bin noch nicht bereit, über das Erscheinungsdatum der Vollversion zu sprechen; ich habe vor, das Spiel in Teilen zu veröffentlichen.

Projekt-Repository:
https://gitlab.com/demensdeum/space-jaguar-action-rpg

Verlorene Emscripten-Ausnahmen und Regex-Probleme

Verlorene Ausnahme

Eine interessante Funktion von Emscripten: Wenn Sie eine Spielschleife über emscripten_set_main_loop starten, sollten Sie bedenken, dass die Ausnahmebehandlung über try Catch direkt in der Schleifenmethode erneut hinzugefügt werden muss, weil Laufzeit verliert Try-Catch-Block von außen.
Am einfachsten ist es, den Fehlertext über den Browser per Javascript-Benachrichtigung anzuzeigen:

            catch (const std::exception &exc)
            {
                const char *errorText = exc.what();
                cout << "Exception: " << errorText << "; Stop execution" << endl;

                EM_ASM_(
                {
                    var errorText = UTF8ToString($0);
                    alert(errorText);

                }, errorText);

                abort();

Zu komplexer regulärer Ausdruck

Die Standardimplementierung von Regex kann eine error_complexity-Ausnahme auslösen, wenn sie den regulären Ausdruck für zu komplex hält. Dies geschieht in der aktuellen Implementierung von emscripten, daher empfehle ich Ihnen, Tests zum Parsen durch reguläre Ausdrücke zu implementieren oder Regex-Implementierungen von Drittanbietern zu verwenden.

Death Mask-Entwicklerbericht 1

Neuer nicht permanenter Abschnitt „Entwicklertagebücher“; oder Dev Diary im fremden Stil.
Die Entwicklung des Spiels Death-Mask ist in vollem Gange, so das Engine-Logo wurde für Flame Steel Engine-Spiele 2019 hinzugefügt, Bildschirm zur Auswahl der anfänglichen Karte nach Insel (grün, rot, schwarz, weiß), Ausgabe von Texturen für Wände, Decke, Boden des Labyrinths, vergrößerte Größe des Spielbereichs.


Karte der Stadt der Roten Zone

Als nächstes planen wir, 3D-Modelle für die Umgebung anstelle von Sprites im Doom-Stil hinzuzufügen, und wir planen, Modelle für Waffen, Kisten, Feinde und Freunde hinzuzufügen. Im Gameplay ist geplant, Währung, Geschäfte, die Möglichkeit, Teile der Spielkarte zu kaufen, die interessante Orte mit Beute anzeigen, und den möglichen Standort der „Todesmaske“ hinzuzufügen. Ich möchte auch die Möglichkeit hinzufügen, Begleiter für die Wanderung durch das Cyberlabyrinth anzuheuern.
Verfolgen Sie die Nachrichten.