
Tudo começou há cinco meses, quando me pediram para fazer um jogo IF.
Jogos IF são jogos em que a interação com o jogador ocorre por meio de informações textuais. Existem 2 opções de interação: inserir texto ou escolher entre as opções já propostas.
O jogo Ditador foi escolhido como exemplo , pois foi semelhante ao que foi planejado para ser implementado. Dictator é um jogo de simulação política desenvolvido por Don Priestley e lançado para o computador ZX Spectrum, e mais tarde foi portado para diferentes plataformas.
O personagem principal, o governante de um país banana, está tentando se manter no poder com todas as suas forças. A jogabilidade é bastante simples. O ditador, ou seja, o jogador, deve escolher uma das opções de ação propostas. A tarefa é manter a posição de chefe de estado o máximo possível.
Para o desenvolvimento do jogo, escolhi Twine. Na Internet, você pode encontrar ferramentas semelhantes, mas depois de fuçar em algumas opções, decidi parar no Twine , porque ele gostou mais da interface e era gratuito.
Um pouco sobre implementação
O jogo é chamado de jogos políticos. No início de cada mês, uma das facções políticas faz uma pergunta e o jogador deve escolher uma ação que possa melhorar a situação. Por exemplo, para vender um terreno, ou comprar um helicóptero, para que em caso de falha você possa sair deste lugar esquecido por Deus.
Criar um jogo se resume a escrever html em parágrafos: cada parágrafo é uma página separada, que pode ser estilizada posteriormente. Como desenvolvedor, posso escolher com qual parágrafo a história começa. Adicionei 2 parágrafos: um para as variáveis que serão responsáveis pelos pontos e contador do mês, e o segundo para a lista de questões. E então usei a exibição desses dois parágrafos no primeiro. As transições entre parágrafos são feitas usando links. Os próximos parágrafos implementam a marcação de como a página ficará.
Como resultado, obtivemos algo como esta árvore:

O parágrafo marcado com um ícone verde é o inicial. O número de parágrafos poderia ter sido reduzido, mas nunca consegui.
Sobre Twine
Twine é uma plataforma aberta para escrever literatura interativa, jogos de texto e romances visuais. Permite a publicação de jogos na forma de páginas html e não requer conhecimento profundo de programação do autor.
Você pode trabalhar com ele na versão online e baixar o software para o seu computador.
Uma grande vantagem da versão online é que após alterar e clicar no botão "Jogar", a guia de histórico já aberta será recarregada. Na área de trabalho, após várias dezenas de mudanças e o lançamento do histórico, 100.500 guias aparecem.
Twine tem vários motores, ou como Twine o chama, formatos de jogo.

Cada formato de jogo possui diferenças em termos de sintaxe, bem como diferenças em termos de funcionalidade. Há um dock para cada um deles, e você também pode encontrar o código-fonte no github. SugarCube 2 parecia ser o mais ideal para mim. Ele tem sintaxe conveniente e boa depuração.
O projeto pode ser exportado e importado. Mas, se você repentinamente quiser alterar o arquivo no editor e, em seguida, importá-lo de volta, essas alterações não serão salvas, porque O Twine reconstruirá o arquivo quando o jogo começar e tudo o que for adicionado será simplesmente removido. Isso cria um pequeno inconveniente nos casos em que você precisa adicionar meta informações, favicon ou arquivos css e js de terceiros. Neste caso, você deve adicioná-los via JavaScript. A ação é simples, mas seria melhor simplesmente adicionar uma tag à seção head.
Outro problema no Twine é a falta de preenchimento automático, então todos os nomes de marcações e propriedades devem ser escritos à mão. E isso em um momento em que está presente em todos os editores de código!
Resultado
Twine funciona bem para pequenos projetos ou protótipos. Você pode arquivar rapidamente um brinquedo IF. Pessoalmente, essa ferramenta foi suficiente para mim, com exceção de algumas desvantagens.
Desvantagens da tecnologia:
- Existem problemas com a versão desktop
- Sem autocomplete
- Não é conveniente trabalhar com a seção head, você tem que fazer isso através do js
- Não há recarga ao vivo, portanto, durante o desenvolvimento, você deve reiniciar o jogo constantemente clicando no botão "Jogar"
Prós:
- Ferramenta grátis
- Claro e simples
- Existem oportunidades suficientes para fazer algo interessante
Se alguém quiser se colocar no papel de um ditador, tirar o país da pobreza a alturas sem precedentes ou, inversamente, mergulhá-lo no abismo de uma guerra civil, então você é bem-vindo . Eu ficaria feliz em receber críticas construtivas.
UPD
Snuux nos comentários tirou exemplos de compiladores Twine com recarregamento ao vivo.