O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Sistema de Trânsito

Iniciado por Dr.XGB, 24/08/2019 às 19:00

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:


  • Ações do Controlador
  • Update Coords
  • Check Turn
  • Set Turn
  • Do a Turn
  • Check Crossing
  • Set Crossing
  • Stop Car
  • Clear Route
  • Look to the Both Sides
  • Perform a Cross
  • Go Straight
  • Closed Turning
  • Opened Turning
  • Prevent Collision
  • Check in Front
  • 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:


Links:
Dropbox - GitHub

Espero que tenham gostado e que tenha acrescentado conhecimento ao fórum.
Até a próxima! o/

Poxa, ficou bem legal isso aí. Eu mesmo nunca tinha pensado nisso, mas deve ajudar bastante gente que pretende fazer algo mais moderno no maker. Valeu por colocar aqui.

Opa, aos 1:12 houve um acidente ali haha.
Coisinha bonitinha de ficar olhando. Não baixei para testar ainda, mas qual seria o propósito do sistema? Pensa em criar algum projeto por cima? Ficou bem legal, dá para perder uns minutinhos assistindo. Quero ver como vai colocar os pedestres aí e, principalmente, como vai funcionar um jogador passeando no meio. GTA feels.  :sera:

Ta ai algo que não se vê muito, investindo em sistemas para temáticas modernas. Ficarei no aguardo de novidades, pois sistemas assim deixar os jogos com gráficos modernos mais "realistas" ainda. :)

Gostaria de ver uma versão futura onde o carro que estacionasse projetasse um evento de personagem para fora, tornaria mais dinâmico ou até mesmo os taxis onde pegam passageiros no passeio.

Boa sorte Dr.

2010 ~ 2016 / 2024

Quanto tempo, Dr. Cenoura o/
A ideia do sistema é, de fato, muito boa para jogos com temática moderna. Ainda por cima dispensa o trabalho de ter que criar rotas de movimento para cada carro.
Apesar de não ter entendido como tu fez -pela minha falta de afinidade com o 2k3 e muito menos com o Destiny Patcher-, gostei bastante da forma como os carros alteram sua velocidade de forma gradual, dando aquela sensaçãozinha de inércia e também destes, aparentemente, se manterem no sentido de circulação correto.
Deu até vontade de fazer um no RGSS3, usando carros com tamanhos customizáveis.
Mas vai ficar só na vontade mesmo

Espero ver mais trabalhos do Sr. por aqui. :heart:
Oxe

Muito interessante!
Esse sistema abre portas para várias coisas, um de perseguição principalmente. Show!
Unique Destiny | um novo conceito de RPG Maker 2000!

Gente, muito obrigado pelo feedback e também ajudando com novas ideias!   :heart:

Citação de: Corvo online 24/08/2019 às 20:48...mas qual seria o propósito do sistema? Pensa em criar algum projeto por cima?
Eu estou retomando um projeto antigo meu onde estou fazendo um remake do meu primeiro jogo. A versão original ficou uma porcaria, tenho até vergonha dele kkkkkkkkkk, se bobear eu devo ter feito um tópico desse jogo. Pensando nisso, eu resolvi refazer o jogo, com a mesma história, só que melhorando os recursos, mapeamento, as cenas, os sistemas, enfim... quase tudo rsrs !!
E nesse jogo tem uma cena em que o protagonista cai em uma cidade futurística, e a cidade naquela versão ficou um bagaço. Só que nesse remake eu mudei um pouco: ao invés de ser uma cidade futurística eu decidi que essa seja apenas uma cidade moderna mesmo. Aí eu precisei pensar no design da cidade e aí que eu tive a ideia de fazer um sistema de tráfego de trânsito, evitando o trabalho de ter que criar rotas para cada carro, o que é bem propício de bugs e conflitos entre os outros carros, como aconteceu na primeira versão do jogo, onde em um momento você encontrava uma suruba de carros numa parte da cidade.
Por isso que eu precisei fazer esse sistema, pois eu quero deixar o design do jogo bem caprichado =D

Citação de: Dr.XGB online 25/08/2019 às 10:53
(...) aí que eu tive a ideia de fazer um sistema de tráfego de trânsito, evitando o trabalho de ter que criar rotas para cada carro, o que é bem propício de bugs e conflitos entre os outros carros, como aconteceu na primeira versão do jogo, onde em um momento você encontrava uma suruba de carros numa parte da cidade. (...)
Faz sentido, porque ex: o carro A passa no ponto P a cada 5 segundos, enquanto que o carro B passa no mesmo ponto a cada 7 segundos. Supondo que eles passaram pelo ponto P agora, daqui a quanto tempo passarão novamente?. Evidentemente que eles vão se cruzar e bugar a bagaça em algum momento da história. kkkkkkk
Unique Destiny | um novo conceito de RPG Maker 2000!