🤔 Para Refletir :
"Nunca desista se tiver uma ideia em mente, se tiver inicie-a."
- Samuel Augusto

RPG Maker 2000 Sistema de Trânsito

Dr.XGB Masculino

O Cenourão
Administração
Administração
Jogador maluco, problemático, olho parado.
Juntou-se
21 de Julho de 2015
Postagens
568
Soluções
3
Bravecoins
2.757
Área
Programação
Motor de jogo
RPG Maker 2003
Sistema de Trânsito
by Dr.XGB

Plataforma: RPG Maker 2000 v1.05b
Motor adicional: Destiny Patcher 2.0
Dificuldade: Avançado

Log:

  • Versão 1.0:
    • 24/08/2019 - Inteligência Artificial dos Carros desenvolvida

Introdução:

Este sistema foi desenvolvido com a linguagem de programação DestinyScript. Fiz esse programa pois estou tentando retomar um projeto que era para ter sido lançado em 2015 como um especial de 10 anos do meu primeiro jogo, porém agora terei que pensar como eu vou chamar esse lançamento dessa vez, rsrsrs !!
E no jogo tem uma parte em que o protagonista cai em uma cidade, e nisso eu precisei desenvolver esse sistema de tráfego de carros. Pois eu não queria que os carros tivessem uma rota fixa, mas sim rotas desenvolvidas dinamicamente, onde a inteligência artificial do carro possa detectar se está se aproximando de um outro carro, ou se vai entrar em um cruzamento e detectar se há uma curva a ser realizada.

Descrição:

Trata-se de um sistema simples de Inteligência Artificial simulando um trânsito.
O sistema funciona através de um controlador implementado no mapa em que o sistema ocorrerá. A estrutura foi desenvolvida por funções, ações do controlador e ação principal.
O programa começa pela última página que ocorre em Processo Paralelo, ali será a parte principal do programa, onde ele vai detectar todos os carros existentes no mapa e vai chamar as ações do controlador para cada carro.
As ações do controlador são chamadas na primeira página do evento. Esta página vai ser responsável pela detecção de comportamentos daquele carro. São eles:

  • Cruzamento:
    • Cruzamento normal (em forma de cruz)
    • Cruzamento em "T"
    • Olhar para os lados para não se chocar com um carro no cruzamento
    • Realizar a conversão

  • Prevenção de Colisões com outros carros:
    • Freiar
    • Acelerar
  • Fazer a Curva
  • Andar para frente caso o carro não tenha feito nenhuma das ações acima

Cada uma destas ações e os outros métodos deste controlador estão separadas por páginas para facilitar a manutenção do programa e também por questão de organização, deixando a programação mais coesa e fácil de compreender o código quando vocês analisarem o sistema através do código-fonte. Seguem as funções do controlador dos carros abaixo:

CarroController:

  1. Ações do Controlador
  2. Update Coords
  3. Check Turn
  4. Set Turn
  5. Do a Turn
  6. Check Crossing
  7. Set Crossing
  8. Stop Car
  9. Clear Route
  10. Look to the Both Sides
  11. Perform a Cross
  12. Go Straight
  13. Closed Turning
  14. Opened Turning
  15. Prevent Collision
  16. Check in Front
  17. Função Principal


Por enquanto nesta versão são apenas o tráfego dos carros. A próxima versão desse sistema fará o tratamento dos pedestres.
Aguardem por novidades!

Vídeo DEMO:
[youtube]https://youtu.be/l0nBdkofdUk[/youtube]

Links:
Dropbox - GitHub

Espero que tenham gostado e que tenha acrescentado conhecimento ao fórum.
Até a próxima! o/
 
Parece muito bom! Esse é o tipo de sistema que vai ser um baita diferencial na hora de ambientar as cidades, e pelo que você disse vai ter até pedestres envolvidos mais pra frente! Continue mandando os updates aqui pra gente  _b
 
Olha mais um sistema do nosso querido cenourão do RM 2k/2k3 muito show de bola manolo nem acredito que dava pra fazer isso no maker ksksksksks
 
Voltar
Topo Inferior