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

Caractéristiques du RPG d’action Space Jaguar

Le premier article sur le jeu en développement, Space Jaguar Action RPG. Dans cet article, je décrirai la fonctionnalité de gameplay de la Jaguar – Caractéristiques.

De nombreux RPG utilisent un système de statistiques de personnage statique, comme les statistiques de DnD (Force, Constitution, Dextérité, Intelligence, Sagesse, Charisme) ou Fallout – S.P.E.C.I.A.L (Force, Perception, Endurance, Charisme, Intelligence, Dextérité, Chance). ).

Dans Space Jaguar, je prévois d’implémenter un système dynamique de caractéristiques, par exemple, le personnage principal du jeu Jag au début n’a que trois caractéristiques – ; Maîtrise d’une lame (demi-sabre), opérations louches (faire des affaires dans le monde criminel), capacités de voyous (crochetage de serrures, vol). Au cours du jeu, les personnages se verront attribuer et privés de caractéristiques dynamiques dans le cadre du module de jeu, tous les contrôles seront effectués en fonction du niveau de certaines caractéristiques nécessaires à une situation de jeu donnée. Par exemple, Jag ne pourra pas gagner une partie d’échecs s’il n’a pas la caractéristique de jouer aux échecs, ou s’il n’a pas un niveau suffisant pour passer le contrôle.

Pour simplifier la logique des contrôles, chaque caractéristique reçoit un code à 6 chiffres en lettres anglaises, un nom et une description. Par exemple, pour posséder une lame :

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

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

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

RPG d’action 3D Space Jaguar

Je n’ai pas annoncé de nouveaux projets depuis longtemps) Le prochain projet sur lequel je commence à travailler – RPG d’action 3D appelé Space Jaguar Une histoire dans un décor de science-fiction sur un dur à cuire nommé Jag et sa difficile aventure à la recherche de son père disparu. Il y aura des graphismes 3D sur le Flame Steel Engine (ou éventuellement sur tout autre moteur populaire), utilisant les développements de projets antérieurs (Death Mask, Cube Art Project), une intrigue comique avec de nombreuses références, des batailles d’arcade et des boss. Je ne suis pas prêt à parler de la date de sortie de la version complète ; je prévois de sortir le jeu en plusieurs parties.

Dépôt du projet :
https://gitlab.com/demensdeum/space-jaguar-action-rpg

Exceptions Emscripten perdues et problèmes d’expression régulière

Exception perdue

Une fonctionnalité intéressante d’Emscripten : lorsque vous démarrez une boucle de jeu via emscripten_set_main_loop, vous devez vous rappeler que la gestion des exceptions doit être ré-ajoutée via try catch directement dans la méthode de boucle, car Le runtime perd le bloc try catch de l’extérieur.
Le moyen le plus simple est d’afficher le texte d’erreur à l’aide du navigateur à l’aide de l’alerte javascript :

            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();

Expression rationnelle trop complexe

L'implémentation std de regex peut lever une exception error_complexity si elle considère que l'expression régulière est trop complexe. Cela se produit dans l'implémentation actuelle d'emscripten, je vous suggère donc d'implémenter des tests d'analyse via des expressions régulières ou d'utiliser des implémentations d'expressions régulières tierces.

Rapport de développement 1 de Death Mask

Nouvelle section non permanente « Journaux des développeurs » ; ou Dev Diary dans un style étranger.
Le développement du jeu Death-Mask bat son plein, le logo du moteur a été ajouté pour les jeux Flame Steel Engine 2019, écran de sélection de la carte initiale par île (vert, rouge, noir, blanc), sortie de textures pour les murs, le plafond, le sol du labyrinthe, augmentation de la taille de l’aire de jeu.


Carte de la ville de la zone rouge

Ensuite, nous prévoyons d’ajouter des modèles 3D pour l’environnement, au lieu des sprites de style Doom, et nous prévoyons d’ajouter des modèles pour les armes, les boîtes, les ennemis et les amis. Dans le gameplay, il est prévu d’ajouter de la monnaie, des magasins, la possibilité d’acheter des parties de la carte du jeu indiquant des endroits intéressants avec du butin et l’emplacement possible du « Masque de la mort ». Je souhaite également ajouter la possibilité d’embaucher des compagnons pour voyager à travers le cyber-labyrinthe.
Suivez l’actualité.