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

Características do RPG de ação Space Jaguar

O primeiro artigo sobre o jogo em desenvolvimento, Space Jaguar Action RPG. Neste artigo irei descrever o recurso de jogabilidade do Jaguar – Características.

Muitos RPGs usam um sistema de estatísticas de personagem estático, como as estatísticas de DnD (Força, Constituição, Destreza, Inteligência, Sabedoria, Carisma) ou Fallout – S.P.E.C.I.A.L (Força, Percepção, Vigor, Carisma, Inteligência, Destreza, Sorte ).

No Space Jaguar, pretendo implementar um sistema dinâmico de características, por exemplo, o personagem principal do jogo Jag no início tem apenas três características – – Domínio de uma lâmina (meio sabre), operações obscuras (fazer negócios no mundo do crime), habilidades desonestas (arrombar fechaduras, roubar). Durante o jogo, os personagens serão dotados e privados de características dinâmicas no âmbito do módulo de jogo, todas as verificações serão feitas com base no nível de determinadas características necessárias para uma determinada situação de jogo. Por exemplo, Jag não conseguirá vencer uma partida de xadrez se não tiver a característica de jogar xadrez, ou não tiver nível suficiente para passar no teste.

Para simplificar a lógica das verificações, cada característica recebe um código de 6 dígitos em letras inglesas, um nome e uma descrição. Por exemplo, para possuir uma lâmina:

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

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

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

RPG de ação 3D do Jaguar Espacial

Faz muito tempo que não anuncio novos projetos) O próximo projeto em que estou começando a trabalhar – RPG de ação 3D chamado Space Jaguar Uma história em cenário de ficção científica sobre um cara durão chamado Jag e sua difícil aventura em busca de seu pai desaparecido. Haverá gráficos 3D no Flame Steel Engine (ou possivelmente em qualquer outro popular), utilizando desenvolvimentos de projetos anteriores (Death Mask, Cube Art Project), um enredo de comédia com muitas referências, batalhas arcade e chefes. Não estou pronto para falar sobre a data de lançamento da versão completa; pretendo lançar o jogo em partes.

Repositório do projeto:
https://gitlab.com/demensdeum/space-jaguar-action-rpg

Exceções perdidas do Emscripten e problemas de regex

Exceção perdida

Um recurso interessante do Emscripten: ao iniciar um loop de jogo via emscripten_set_main_loop, você deve lembrar que o tratamento de exceções deve ser adicionado novamente via try catch diretamente no método loop, porque o tempo de execução perde o bloco try catch de fora.
A maneira mais fácil é exibir o texto do erro usando o navegador usando alerta 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();

Expressão regular muito complexa

A implementação padrão de regex pode lançar uma exceção error_complexity se considerar que a expressão regular é muito complexa. Isso acontece na implementação atual do emscripten, então sugiro que você implemente testes para análise por meio de expressões regulares ou use implementações de regex de terceiros.

Relatório de desenvolvimento da Máscara da Morte 1

Nova seção não permanente “diários do desenvolvedor” ou Diário do Desenvolvedor em estilo estrangeiro.
O desenvolvimento do jogo Death-Mask está a todo vapor, o logotipo do motor foi adicionado para os jogos Flame Steel Engine 2019, tela para seleção do mapa inicial por ilha (verde, vermelho, preto, branco), saída de texturas para paredes, teto, piso do labirinto, aumento do tamanho da área de jogo.


Mapa da Cidade da Zona Vermelha

Em seguida, planejamos adicionar modelos 3D para o ambiente, em vez de sprites estilo Doom, e planejamos adicionar modelos para armas, caixas, inimigos e amigos. Na jogabilidade está prevista a adição de moeda, lojas, a possibilidade de comprar partes do mapa do jogo indicando locais interessantes com saques e a possível localização da “Máscara da Morte”. Também quero adicionar a possibilidade de contratar companheiros para viajar pelo labirinto cibernético.
Acompanhe as novidades.