Estudos Complexos sobre scripts do engine001

Ir em baixo

Estudos Complexos sobre scripts do engine001

Mensagem  Greg102 em Seg 14 Mar - 10:55:59

AVISO: ESTE TUTO AINDA NAO ESTA COMPLETO

Introdução: Bom pessoal, apresento à vocês um tutorial que abrange de forma mais aprofundada e complexa os scripts do engine001, para quem quer enteder mais do assunto.

Bom, é possivel fazer de TUDO no engine001, tanto que ele é autodenominado Engine for your imagination, indicando possivelmente que o único limite para esse programa é a sua própria imaginação, eu concordo plenamente com essa afirmação, pois você pode programar quase qualquer coisa no engine001, pode-se criar de simples diálogos, até códigos mais complexos e avançados, como programar inteligências artificiais de várias maneiras.

Contribuidores:

*Drakula Ryuuzaki

===============================================================
Começando:

Os scripts no engine001 são divididos em duas maneiras de programação: a programação Gráfica, e a programação textual.

Abordaremos primeiramente a programação gráfica: ela é a mais simples e fácil de usar. Mais recomendada para usuarios iniciantes ao programa, ela se baseia principalmente ao ligar eventos pré-definidos à outros eventos pré-definidos por meio de uma Linha. ela é bem simples de ser compreendida, você expande os eventos, escolhe o seu evento através de uma infinidade de eventos pré definidos, e vai selecionando-os e ligando-os, formando uma teia de acontecimentos, e assim, seu evento maior(o que você programou, vai de fato acontecer).


Eventos: Bom, os eventos são auto-explicativos, você lê seu nome e eles indicam o que vão fazer, como walk to locations(andar para um local) etc. mas o que você precisa entender, é que você não pode ser limitado por esses eventos, você vai ler e vai pensar, ah ele só faz isso, não. Ele definitivamente não faz só aquilo.

exemplos:




Analizemos esse simples evento: Change health. Um evento que diz Mudar a saúde. ou seja, tira e adiciona HP ao character específico. Mas ai você me pergunta, Greg, esse código só faz isso? Não cara. ele não faz só isso. Notou aqueles pequenos quadradinhos ao lado dos campos de texto e de onde você escolhe o personagem a ser afetados pelo código. Então amigo. é la que esta a mágica.

Você pode usar valores váriaveis em vez de apenas usar valores fixos e especificos exemplo.


Você ja pensou, como eu vou deixar o life do meu char exatamente 1? sendo que o valor do HP dele é variavel, pode ser maior de jogador pra jogador, você pode simplesmente deixar 1 la no set, mas eu vou mostrar a verdadeira "mágica" por tras disso.

Actor("main").HP-1

esse pequeno código, voce escolheu substract, portanto ele subtraira o valor acima do life do jogador selecionado, o valor é Actor main.HP- 1, ou seja ele vai subtrair o valor total do HP do personagem Main, que vamos supor, seja 200, menos 1, ou seja, ele vai tirar 199 de life do personagem main. Sacaram a mágica? mas não é só isso que você pode fazer. ah não é mesmo.



quando você clica no quadradinho, aparece essa infinidade de valores para serem escolhidos e selecionados. o meu preferido, são as Global variables, as variáveis globais. elas são valores que são variaveis, ou seja, esses valores podem ser alterados via Variable operation. Vocês não tem idéia de como as variáveis são importantes. Já se perguntaram, como em jogos mais bem feitos, tipo voyage for vengeance, ou até o guitar game, possui aqueles textos que variam conforme você faz coisas, no caso do guitar game, você ganha mais pontos conforme acerta as notas? então Meu amigo! Variáveis!

vamos dar um exemplo prático: no change health, você pode criar uma variavel global, exemplo: saúde, ai você pode variar o valor dessa variavel o quanto você quiser, ai no valor do change health voce abre o quadradinho, escolhe variable operations, e escolhe a variavel saúde. daí, o change health, vai tirar o monte de life contido na variavel, ou seja o valor que está dentro da váriavel.

Agora que já dei uma explicação básica sobre valores vamos continuar.

Os códigos do 001, por mais que sejam bons, ótimos, grandes, úteis. eles não são definitivos. eles são apenas uma "base" pra vc construir seus próprios códigos.

Pra isso você constrói com custom events, ou seja eventos customizados, que você cria seus próprios eventos usando os eventos que já vem no engine como base. conforme tua necessidade.

Não é preciso dar uma explicação sobre cada script individualmente, já que eles são auto explicativos.

Vamos agora passar para os triggers.

triggers em inglês literal, significam gatilhos, ou seja, gatilhos específicos, que "dispararão a arma" quando determinada condição acontecer, ou seja, eles executarão o código quando determinada condição por atingida. exemplo de gatilho. Killed/Destroyed. quando o portador do gatilho for morto ou destruido, alguma coisa vai acontecer.

os triggers mais importantes e abrangentes são os sistem triggers, eles afetam de um todo o jogo, são como os gatilhos globais. Lá você pode definir, por exemplo, o que acontece quando o jogador entra no teu jogo.

*Estrutura e agoritmos(contribuição de drakula ryuuzaki e interpretação e explicação minha)

É que num agoritmo (a estrura de um programa), existem duas divisões principais: A "Ação" e a "Decisão"

Um exemplo de ação: Mandar um actor andar até determinado ponto
Um exemplo de decisão: Pergunta um Message Box o quer o jogador quer fazer
Um exemplo de ação e decisão juntos: Ver se uma variavel(A) é igual a outra(B), e se caso não forem iguais, atribuir a uma das variaveis o valor da outra (A <- B)

Ou seja: Pergunta se o ator quer ir até determinado ponto, por meio de uma textbox por exemplo, e criam-se duas possibilidades(triggers): Sim ou Não.

Caso Selecione a opção sim, o Trigger sim será acionado, e a teia de acontecimentos do código será alterada. Caso Selecione o não, outro caminho na teia será seguido:



Qual dos caminhos quer seguir? Bravo aventureiro dos scripts?



Na ação há tres subdevisões: "Entrada","Processamento" e "Saida"
Exemplo: Numa calculadora, vc vai querer a soma de dois numeros (A e B).
Quando a calculadora recebe os dois valores (A e B), a ação é de "entrada"
Quando a calculadora processa o resultado (X <- A + B), a ação é de "processamento"
Quando a calculadora exibe o resultado (X), a ação é de "saida"

Explicação:

Você programa ações para acontecer, como dois personagens para se matarem.
Hora de processar os resultados. Quem ganha?

hm. Difícil saber. Vários fatores infuenciam nisso.

-Estatisticas deles(força defesa e afins)
-Equipamentos
-Sorte.

Espera ai. Porque a droga da sorte infuencia, se tudo ja está pré definido? o maldito char mais forte não deveria ganhar sempre???

Não é bem assim. Como dito anteriormente, a fase de processamento dos dados pode ser alterada. no meio da luta, outros personagens podem vir ajudá-lo. você pode ficar com pena dele e alterar seus status. E isso pode ocorrer com qualquer código que vc quiser.

Um exemplo bem sem vergonha é este:

O cachorrão do noeneto adora bater meus códigos no guitar game. E meu jogo conta com um sistema, que desabilita seu jogo, se sua versão não estiver atualizada(tipo esses jogos, perfect world e tal, que o botão jogar só acende novamente quando o jogo estiver atualizado.) então, eu fui ao banco de dados, a alterei remotamente a versão necessaria do jogo para 1.2(que ainda não existe). Como a versão do noeneto era 1.0, ele foi impedido de jogar. ou seja, algo que não deveria acontecer, aconteceu por uma simples comparação de informações, assunto que será abordado em seguida. Sagaz, não?

Resultado = x

O resultado foi obtido. O personagem mais fraco morreu. Porém, este resultado pode ser alterado.
(nos casos de váriaveis, um mero Change Value ja é suficiente)

mas... e se eu não gostar do resultado? e se eu quiser ressuscitar o personagem, e fazê-lo mais forte que o superman, e mais sagaz que o batman? eu posso.

Ou seja. só pq o resultado é X, não significa que não possa ser Y. Essa é a graça do 001. Editar tudo que sua imaginação quiser.

Comparação de informações:

Fator Vital do 001. Tudo que você ve neste programa provém de uma comparação, e eu vou demonstrar de forma bem simples, como ela é vital.

Vamos supor, que você esteja jogando o meu guitar game online, e resolva hackear a minha preciosa conta.

Você digita o meu login: Greg102
E depois uma senha qualquer: skdjdjasdjaidsjodj

O sistema vai consultar o banco de dados, puxar a minha senha, salvá-la numa variavel e depois usará um comparison branch para verificar se as duas são identicas.

(Olhem, vcs ja conseguiram uma casquinha de como meu sistema de login funciona mais ou menos. Sortudos)

Bom. Obviamente não são. Então vc receberá uma mensagem de erro, e será requisitado a tentar de novo. mas.... e se não tivesse um comaprison branch? Bom. Voce logaria em qualquer conta com qualquer senha e faria a maior bagunça no jogo.

a comparação de informações, gera dois novos triggers, que podem variar em:

A informação x é maior que ou igual a Y?

A informação x é menor que ou igual a Y?

A informação x é igual a Y?

A informação x contem a informação Y?

Com isso, Geram-se duas respostas, que são exatamente os Triggers(gatilhos)

-Sim
-Não

ou seja, se a informação for igual a outra, o gatilho sim será acionado, e a teia de acontecimentos a seguir será realizada. Legal, não?






Última edição por Greg102 em Dom 4 Dez - 17:22:36, editado 4 vez(es)


"†Rise through the pain, Like the sun will rise again..."†

Para mandar me uma MP:  





Imperador "†My Motivation, an oath I've Sworn To Defend†"
RageX Lead Programmer
ERM Games Lead Programmer

PS: Noeneto cachorrão, para de bater meus recordes no guitar game Impaciente
avatar
Greg102
Impérador
Impérador

Masculino
Mensagens : 743
Experiência : 3525
Frase : Here we're now... ENTERTAIN US!

Voltar ao Topo Ir em baixo

Re: Estudos Complexos sobre scripts do engine001

Mensagem  blastdapout em Seg 14 Mar - 12:35:44

Muito bom esse tutorial, ajuda muita gente novata

Bem explicado e elaborado e com screens!
avatar
blastdapout
Nômade
Nômade

Masculino
Mensagens : 4
Experiência : 2837
Frase : Cool 001

Voltar ao Topo Ir em baixo

Re: Estudos Complexos sobre scripts do engine001

Mensagem  Noeneto em Seg 14 Mar - 17:06:45

Greg me corrija se eu estiver errado...
Acho que este teu tutorial esta incompleto, e eu acho que é por causa que ele ainda esta em construção, não sei, não entendi direito o que esta escrito no subtitulo. Creio que isso muitos ja sabem porém este tutorial explica muito bem os scripts e também explica muito bem que um evento normal pode ser a maioria e a maioria pode ser-lo, gostei. Sim

PS: Eu sei que tu é o imperador mais mesmo assim vou dar a você 1 +rep pq o que vale é a intenção, ele esta muito bom mesmo este tutorial, apesar de estar em construção (eu acho, eu li e deduzi). Foi Mal


Processador: i7 4790 3.6GHz
Memória RAM: 8GB DDR3 1333MHz
Disco rígido: HD 1TB Sata II
Placa de Video: AMD R9 280x 3GB 384-bit
Placa Mãe: GIGABYTE M68MT-S2P
Sistema Operacional: Windows 7 Ultimate 64-bit
Monitor:  Samsung Monitor 1400x900
Headset: Multilaser 5.1 Real
avatar
Noeneto
Templário
Templário

Masculino
Mensagens : 1138
Experiência : 3490
Frase : Eu amo Jesus amém!

Voltar ao Topo Ir em baixo

Re: Estudos Complexos sobre scripts do engine001

Mensagem  Drakula_Ryuuzaki em Sex 25 Mar - 20:57:03

Realmente é um tuto muito bom, e que merece ser parabenizado Positivo

Bem, vou da a minha contribuição a esse tuto:

Uma coisa interressante que eu aprendi numa aula de logica*
É q num agoritmo (a estrura de um programa), existem duas divisões principais: A "Ação" e a "Decisão"

Um exemplo de ação: Mandar um actor andar até determinado ponto
Um exemplo de decisão: Pergunta um Message Box o quer o jogador quer fazer
Um exemplo de ação e decisão juntos: Ver se uma variavel(A) é igual a outra(B), e se caso não forem iguais, atribuir a uma das variaveis o valor da outra (A <- B)

Na ação há tres subdevisões: "Entrada","Processamento" e "Saida"
Exemplo: Numa calculador, vc vai querer a soma de dois numeros (A e B).
Quando a calculadora recebe os dois valores (A e B), a ação é de "entrada"
Quando a calculadora processa o resultado (X <- A + B), a ação é de "processamento"
Quando a calculadora exibe o resultado (X), a ação é de "saida"

*logica= materia que ensina como criar a arquitetura(agortimo) e programar um progama

Uma outra coisa, é que na logica se diz que existem mil formas de se fazer um mesmo agoritmo,
só que a diferença está na "eficiencia".



Clube X5 Computadores
avatar
Drakula_Ryuuzaki
Templário
Templário

Masculino
Mensagens : 1137
Experiência : 3554
Frase : Foca da Selva... (WTF?)

Voltar ao Topo Ir em baixo

Re: Estudos Complexos sobre scripts do engine001

Mensagem  Greg102 em Dom 4 Dez - 17:23:05

só ressaltando o que foi dito.

Isso ainda NÃO esta pronto.


"†Rise through the pain, Like the sun will rise again..."†

Para mandar me uma MP:  





Imperador "†My Motivation, an oath I've Sworn To Defend†"
RageX Lead Programmer
ERM Games Lead Programmer

PS: Noeneto cachorrão, para de bater meus recordes no guitar game Impaciente
avatar
Greg102
Impérador
Impérador

Masculino
Mensagens : 743
Experiência : 3525
Frase : Here we're now... ENTERTAIN US!

Voltar ao Topo Ir em baixo

Re: Estudos Complexos sobre scripts do engine001

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum