RPG Maker Wiki
Registre-se
Advertisement

Ruby Game Scripting System (abreviado de RGSS) é uma linguagem de script baseada na linguagem Ruby, devido à isto, o RGSS é uma língua de programação de alto nível e orientada à objetos, o que a torna ideal para a criação de jogos amadores por ser de fácil aprendizagem e de fácil manuseio. O RGSS é utilizado no RPG Maker XP e atualmente existe uma nova versão, o RGSS2, que é utilizado no RPG Maker VX.

Incompatibilidade[]

Muitos usuários do RPG Maker confundem RGSS com RGSS2, achando que funcionam sem problemas nas duas ferramentas. Mas na verdade, um script feito para RPG Maker XP difcilmente funcionará no RPG Maker VX e vice-versa. Existem conversores que tentam fazer o melhor para converter um script de uma engine para a outra, no entanto as conversões só funcionam com certeza se feitas por alguém mais experiente.

RGSS e RGSS2[]

Tanto o RGSS quanto o RGSS2 são baseados na versão 1.8.1 (17 de Abril de 2004) da linguagem Ruby. A diferença fundamental está nos scripts que acompanham o RMXP e o RMVX. Em cada um as estruturas de classes que regem o jogo são diferentes e, na maioria dos casos, incompatíveis. Outra diferença que impede a compatibilidade de qualquer script que contenha uma Scene personalizada está no tamanho da tela do jogo: 640x480 para o RMXP e 544x416 para o RMVX, ou seja, janelas e imagens ficam desproporcionalmente grandes e talvez até saiam da tela (no caso XP->VX) ou ficam pequenas demais e deixam uma zona da tela livre de imagens (no caso VX->XP). No entanto, o RGSS2 permite alterações da resolução de tela do jogo, um de seus trunfos sobre o RGSS.

Ideal para amadores[]

Por ser uma língua de alto nível e orientada à objetos, o RGSS se torna uma poderosa, porém muito simples ferramenta para a criação de praticamente qualquer tipo de jogo em 2D, e no caso dos realmente experientes, é possível até mesmo criar jogos em 3D com o auxílio de dll's. O RGSS tem suporte à dlls, através de duas bibliotecas no Ruby: Win32API e Win32OLE.

O programador de RGSS não precisa se preocupar com declarações de tipos de dados e nem com alocação dinâmica de memória, tudo é feito automaticamente pelo programa, que permite, inclusive, a utilização de estruturas indexadas (vetores, arrays, hashs) com tipos mistos de objetos. O único cuidado de memória que precisa ser tomado ao se programar em RGSS é com as imagens, que não são apagadas automaticamente e, ao sair de uma Scene o programador tem que se lembrar de "destruir" a imagem, que se faz utilizando o famoso comando dispose. Caso contrário, a imagem continuará ocupando memória RAM e não sairá da tela, será simplesmente sobreposta por imagens da próxima Scene.

Além de tudo, o RTP vem com um conjunto padrão de scripts que permite a criação de jogos razoavelmente interessantes do gênero RPG, sem a necessidade de nenhuma alteração, vêm com várias funções para vários tipos diferentes de objetos, e vem com uma configuração que associada ao sistema de mapas do programa (RPG Maker) integra cenário (mapa) e objetos/seres interativos (eventos) com precisão e funcionalidade ótimas, sendo essa interação um dos grandes trunfos do RPG Maker sobre outras engines de criação de jogos. O próprio, também é muito bom com imagens, permitindo inclusive a criação de imagens em tempo de execução de jogo. No entanto, não sendo tão flexível em relação ao áudio, que simplesmente pode ser reproduzido ou parado (com ou sem fade). Com scripts e dlls adicionais, o programdor pode ter um controle maior sobre o áudio.

Algo muito interessante que o RGSS trás é um controle anti-ciclo infinito. Em qualquer língua de programação os ciclos são algo bem comum e corriqueiros, afim de proteger o jogo, se por algum motivo o jogo entrar em um ciclo infinito, geralmente causado por mau uso de recursão, por esquecer de definir uma condição de quebra de ciclo ou por usar comandos "pesados" demais que atrasam a atualização do jogo, o RGSS automaticamente executa um erro no jogo, que para, evitando que o jogo e o próprio computador "trave". Para isso, o RGSS checa a cada certo período de tempo se o comando Graphics.update (responsável por redesenhar a tela, ou seja atualizar a parte visual do jogo) foi chamado, caso não foi a janela de erro é convocada. No RPG Maker XP lê-se nessa janela "Impossível ler script, o script não existe."

Conteúdo oculto[]

A Enterbrain não disponibiliza todos os códigos para a criação do seu jogo (nem todos os scripts que fazem os jogos funcionarem estarão necessariamente no Editor de Scripts), o que é uma das características da programação orientada à objetos: você não precisa entender como tudo funciona, para criar comandos ou processos novos. Diversas classes e módulos são escondidos na dll que faz o jogo rodar, no caso, os códigos ocultos são os mais complexos e mais poderosos. Alguns desses códigos ocultos, podem ser encontrados em comunidades estrangeiras, no entanto, não são os códigos originais, são reconstruções dos códigos feitas por scripters muito experientes. Apesar de não serem originais, funcionam tão bem quanto e às vezes até melhor do que os originais.

Wiki letter w.svg Este artigo é um esboço. Você pode ajudar a Makerpédia expandindo-o.  Editor: considere marcar com um esboço mais específico.
Advertisement