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

太空美洲虎动作角色扮演游戏的特点

第一篇关于正在开发的游戏《Space Jaguar Action RPG》的文章。在这篇文章中,我将描述捷豹的游戏功能–特征。

许多 RPG 使用静态角色统计系统,例如 DnD(力量、体质、敏捷、智力、智慧、魅力)或 Fallout – S.P.E.C.I.A.L(力量、感知、耐力、魅力、智力、敏捷、运气)的统计数据)。

在Space Jaguar中,我计划实现一个动态的特征系统,例如,游戏的主角Jag一开始只有三个特征–精通刀刃(半刀)、阴暗行动(在犯罪世界中进行交易)、流氓能力(撬锁、盗窃)。在游戏过程中,角色将在游戏模块的框架内被赋予和剥夺动态特征,所有检查将根据给定游戏情况所需的某些特征的级别进行。例如,如果 Jag 不具备下棋的特性,或者没有足够的等级来通过检查,那么他将无法赢得国际象棋比赛。

为了简化检查逻辑,每个特征都有一个6位英文字母代码、名称和描述。例如,拥有一把刀片:

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

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

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

太空美洲虎 3D 动作角色扮演游戏

我已经很长时间没有宣布新项目了)我要开始的下一个项目是–名为《Space Jaguar》的 3D 动作角色扮演游戏,一个以科幻为背景的故事,讲述了一个名叫 Jag 的硬汉和他寻找失踪父亲的艰难冒险。火焰钢引擎(或可能是任何其他流行的引擎)上将有 3D 图形,使用过去项目(死亡面具、立方体艺术项目)的开发成果、包含许多参考资料的喜剧情节、街机战斗和 Boss。我还没有准备好谈论完整版本的发布日期;我计划分批发布游戏。

项目存储库:
https://gitlab.com/demensdeum/space-jaguar-action-rpg

丢失 Emscripten 异常和正则表达式问题

丢失异常

Emscripten 的一个有趣功能:当通过 emscripten_set_main_loop 启动游戏循环时,您应该记住必须在循环方法中直接通过 try catch 重新添加异常处理,因为运行时丢失来自外部的 try catch 块。
最简单的方法是使用 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();

正则表达式太复杂

如果 regex 的 std 实现认为正则表达式过于复杂,则可能会抛出 error_complexity 异常。目前emscripten的实现中就出现了这种情况,所以我建议您通过正则表达式来实现解析测试,或者使用第三方正则表达式实现。

死亡面具开发报告 1

新的非永久部分“开发者日记”;或者外国风格的开发日记。
游戏Death-Mask的开发正在紧锣密鼓地进行中,引擎标志已为 2019 Flame Steel Engine 游戏添加了用于按岛屿(绿色、红色、黑色、白色)选择初始地图的屏幕、迷宫墙壁、天花板、地板的纹理输出、增加了游戏区域的尺寸。


红区城市地图

接下来,我们计划添加环境的 3D 模型,而不是《毁灭战士》风格的精灵,并且我们计划添加武器、盒子、敌人和朋友的模型。在游戏中,计划添加货币、商店、购买游戏地图部分的能力(指示有战利品的有趣地点)以及“死亡面具”的可能位置。我还想添加雇佣同伴穿越网络迷宫的功能。
关注新闻。