Minha primeira aventura


Não vamos aqui nesta página criar uma aventura interativa de fato mas vamos fazer um tour pelos recursos que estarão à sua disposição e aí então, num segundo momento, criarmos algo realmente jogável.

Vamos começar pelo "jeitão" do motor gen3:

A área roxa corresponde ao que vamos chamar de "painel do jogo" (ou simplesmente pan) e representa toda a área útil aparente do jogo. Neste caso, ela possui a resolução 900 pixels de largura por 400 pixels de altura. É o modelo mais basicão que você vai usar. Olhe para ela como uma espécie de imagem de fundo da aventura.

A áea azul (1) é chamada de "área gráfica" (ou simplesmente tel) e é nela que vamos escrever os principais textos e imprimir as imagens do jogo. Ela é de longe a área mais importante e nesse modelo ela tem a resolução de 765 pixels de largura por 390 pixels de altura e fica "sobre" a imagem do painel.

A área amarela (2) é chama de "área de funções" (ou simplesmente fnc) e serve para alocar funções especiais da sua aventura, como link do menu, link de encerramente e o que mais vier à cabeça. Ela aceita imagens e textos, também fica "sobre" a imagem do painel e é completamente independente da área gráfica. Nesse modelo ela tem a resolução de 116 pixels de largura por 390 pixels de altura.

Só para constar: todas as medidas, cores, formatos etc podem ser alterados à sua vontade e gosto, mas veremos isso mais adiante. O importante aqui é entender a mecânica de construção e as principais instruções de programação. Há um botão logo acima da caixa de edição dos scripts, chamado "coords", que serve justamente para mostrar onde essas áreas estão e suas dimensões.

Também vale lembrar que dentro dessas áreas, a localização dos elementos tem como base um sistema de coordenadas, cuja origem é 0,0 e que vai até a sua largura x altura máximas.

Toda a aventura é "comandada" por scripts de programação e o menu ao lado da caixa de edição tem a lista completa deles, referentes à aventura em edição. Obviamente o primeiro deles que vamos abordar aqui tem o nome de "primeiro". O script "start" (que você vê na lista) vai ser abordado mais adiante. Só adiantando, ele é o primeiro script executado quando o jogo é carregado pelo jogador e por enquanto não vai ser usado. Os demais podem ser ignorados por enquanto.

Clique no nome "primeiro" para selecioná-lo para edição.

//--- O primeiro script a gente nunca esquece ---

  print Olá Mundo!

Na parte de baixo da caixa de edição do script há um botão chamado "executar". Ao clicá-lo você manda o sistema executar o script todo. Que fique bem claro: você está executando o script em edição e não a aventura toda. Ao pressioná-lo aparece a frase "Olá Mundo!" no canto superior esquerdo da tela gráfica.

Parece pouco não é? Mas é a base de tudo mais que vai acontecer daqui em diante. Por exemplo, coloque o cursor de edição numa posição qualquer do fonte do script (de preferência no final dele). Em seguida acione o botão "instruções" e selecione a palavra "print". O texto abaixo será inserido exatamente na posição do cursor.

  print txt,px,py,tw,th,crTxt,Biu,crFnd,sze
  //Define na tela gráfica um retângulo para
  //mostrar textos ou imagens.
  //Equivalência: print=

Print é uma instrução exclusiva para a área gráfica e serve para "escrever" nela o que você desejar. O parâmetro txt é o texto que você deseja que seja mostrado. Px e py são as coordenadas do canto superior esquerdo da impressão do texto, tw e th correspondem a um "retângulo" de impressão do texto, crTxt é a cor de escrita desse texto, Biu são os atributos Bold, itálic e underline, crFnd é a cor do fundo desse retêmgulo e sze é o corpo (ou altura) da fonte utilizada.

Curiosidades: tirando o parâmetro txt, todos os outros são opcionais. Se faltar px e py, a coordenada usada será 0,0. Se faltar tw e th as dimensões da área gráfica serão usadas como área do box. Se faltar crTxt, Biu e sze, serão usados valores default (veremos isso mais adiante).

O parâmetro crFnd é ligeiramente diferente do padrão. Se estiver presente, então a área do retângulo de impressão será apagada com essa cor antes da impressão do texto. Se não estiver presente, a impressão do texto será feita de forma transparente, sobrepondo o que já estiver naquele local.

E só pra terminar essa instrução, você pode utilizar a sintaxe print ou print= que dá no mesmo. Use a sintaxe que for mais intuitiva para você.

Faça você mesmo: agora é a hora de testar a sua compreensão do que foi exposto aqui. Experimente à vontade trocar os valores dos parâmetros e veja o resultado na tela. Lembre apenas que, se um parâmetro for definido e os anteiores a ele não, os delimitadores de campo devem ser respeitados. Por exemplo, para mudar apenas o tamanho das letras:

  print Olá Mundo!,,,,,,,,20

Logo você perceberá que as impressões se sobreporão então será conveniente "limpar" a tela antes. Isso você faz acrescentando a instrução cleartela no começo do script.

Neste ponto vale ressalar que cada linha contém apenas uma instrução e linhas que começam com os caracteres "//" são consideradas comentários e podem ser apagadas. Divirta-se bastante e quando sentir que já dominou o print de textos, palavras ou frases, volte aqui para tratarmos das imagens.

 

Usando imagens ao invés de texto

Da mesma forma que fizemos com o print, existe uma instrução para colocar na área gráfica imagens, desde que elas estejam em um arquivo nos formatos gif, jpg ou png e se encontrem na mesma pasta da aventura.

  imagem arq,px,py,tw,th,dst,dwn
  //Coloca na tela gráfica uma figura (gif,jpg ou
  //png). Equivalência: imagem=

O parâmetro arq é o nome do arquivo gráfico e os parâmetros px, py, tw e th são equivalentes à instrução print. O parâmetro dst indica (se existir) o script que será executado, caso o leitor ou jogador clique sobre a imagem. O parâmetro dwn indica, se existir, a imagem que será mostrada no mesmo local, enquanto o jogador estiver pressionando o botão do mouse.

Na pasta desta aventura existe um arquivo gráfico chamado rosto.gif que você pode usar para experimentar o funcionamento desta instrução. Note que a área na cor fuchsia equivale à área transparente da imagem.

Os parâmetros tw e th, se ausentes, determinam a impressão da imagem em seu tamanho original (1x1). Caso contenham algum valor, a imagem é reescalada para esses valores. Essa instrução possui várias sintaxes: imagem=, img, img=, fig, fig=, shape, shape=, figura e figura=.

Parte da diversão de fazer uma aventura é justamente "brincar" com as instruções de programação. Quanto mais você ficar familiarizado com elas, mais compreenderá como resolver os problemas e situações do seu jogo. Então, bora pra diversão.