Este blog esta em reforma no momento.

Blockly uma linguagem perfeita para o roteiro

Usando Blokckly para definir os elementos
Meu framework anda tomando maturidade e forma. No entanto notei que mesmo com Lua e "chupinhando" elementos de Rails ainda não está fácil daquilo entrar na mente de um usuário final, AKA roteirista. Até re-encontrar a Blockly.

Foi ai que me deu uma Luz! Foi apenas preciso verificar o quanto ela seria fácil de transportar para o meu framework. E surpresa, foi!
No lugar de manter uma linguagem de programação eu reduzi a Blockly para um gerador de máquina estados e funções responsivas. E não é difícil gerar código com isso.

Lembro que muito, muito antes de Wild Witch eu tinha a ambição de produzir um ambiente que permitisse produzir os jogos de forma independente do código, e mesmo durante esse projeto fiz vários experimentos com o X-Mind. Mas ao estudar uma plataforma chamada Stencyl esses dias, reencontrei a Blockly, eu já tinha visto essa linguagem visual algumas vezes, mas sempre em contextos desanimadores e apenas no Stencyl vi um exemplo de RPG com ela.

Gerar código é relativamente fácil, já que Blockly trabalha em estruturas de árvore, basta corre-las e traduzir em funções. As funções para o framework de Wild Witch são simples e também posso gerar alguma coisa em Coffee Script para outros jogos em navegador.


Por fim o resultado é transformado em código Lua

_G.atores.hero = {}

_G.atores.hero.roteiro = {
 atributos = {
  for = 8,
  des = 8,
  con = 8,
  int = 8,
  car = 8,
  will = 8,
 },
 estado = {
  pv = 8,
  pm = 8,
  ph = 8,
 },
 valor = _G.strings.hero.novo_0001,
}

Comentários