🤔 Para Refletir :
"A pressa é a inimiga do grinding."
- Moge

Bailão das ideias

Kaw

The Righteous
Membro
Membro
Lord, if the day comes when I fly through the heavens. I shall approach thee!
Juntou-se
09 de Janeiro de 2017
Postagens
620
Bravecoins
193
Iai povo, de boa? ;)

Chego eu aqui com uma ideia que irá me beneficiar a todos os jovens programadores por ai.
A ideia é bem simples, na verdade. Eu to num momento de "bloqueio criativo" onde não tenho ideias do que programar (sendo que só quero programar alguma coisa; qualquer coisa) e imagino que bastante gente passa por esses momentos.

E é ai que entra a utilidade desse tópico. A ideia é ele ser uma lista de ideias pra plugins/scripts separados por suposta dificuldade. Deixarei uma primeira ideia de exemplo.

A propósito, caso queira contribuir, use esse formulário pra manter as coisas padronizadas:

Código:
[b]Sistema:[/b] Sistema de pulo
[b]Dificuldade:[/b] 1/5 - Iniciante
[b]Descrição:[/b] Um sistema onde o personagem do jogador realizaria um pulo ao pressionar um determinado botão.
[b]Extras:[/b]
[list=1]
[*][Intermediário] Mudar a distancia/altura do pulo baseado em um item equipado ou um efeito ativo.
[/list]

E aqui a lista:

Sistema de pulo

Dificuldade: 1/5 - Iniciante
Descrição: Um sistema onde o personagem do jogador realizaria um pulo ao pressionar um determinado botão.
Extras:
  1. [Inicimediário] Mudar a distancia/altura do pulo baseado em um item equipado ou um efeito ativo.

Sistema de desconto baseado no nome

Dificuldade: 2/5 - Inicimediário
Descrição: Um sistema onde o jogador receberia um desconto nas lojas (e teria um diálogo especial) caso tenha o mesmo nome que o NPC.
Extras:
  1. [Intermediário] Adicionar no sistema a opção do jogador mentir antes de abrir a loja com uma chance do NPC acreditar ou não sobre ele ter o mesmo nome (caso o jogador saiba o nome)


Sistema de Pathfinding - [member=78]Brandt[/member]

Dificuldade: O(n*m)/5 - [member=78]Brandt[/member]
Descrição: Um sistema de busca de menor caminho entre dois pontos. Incluiria no mínimo fazer eventos irem de um lugar pro outro.
Extras:
  1. [O(1)] Fazer os eventos seguirem outros eventos e o personagem.
  2. [O(n)] Lidar com partes móveis no mapa (eventos e tal, que mudam a passabilidade também)
  3. [1 = 0,999...] Não exigir que o caminho seja percorrido completamente (Ex.: Tem um caminho de A até B, mas um evento parou na frente, bloqueando a passagem. Ao invés de desistir de seguir o caminho, ir até onde dá e parar onde a distância até o destino for menor)

Sistema de Encantamento de Equipamentos - [member=78]Brandt[/member]

Dificuldade: 2/5 - Intermediário(gambiarra)/Inicimediário (menos gambiarra)
Descrição: Sistema de encantamento similar ao de MMORPGs onde os equipamentos podem ser aprimorados e ganhar atributos e efeitos especiais.
Extras:
  1. [Iniciante] Usar itens específicos para certos encantamentos para cada equipamento.
  2. [Inicimediário] Ter slots de "cartas" nos equipamentos (por raridade, normal = 0 slot, raro = 1 slot, épico = 2 slot, ...) onde pode-se equipar as cartas obtendo efeitos descritos nelas. | [member=1052]Kawthar[/member]: Mais conhecido como Socket system, pra quem não conhece Grand Chase.
  3. [Inicimediário] Mudar o nome do item de acordo com as cartas equipadas.

Interação Avançada por Ferramentas e Habilidades - [member=1349]Dobberman[/member]

Dificuldade: 4/5 - Intermedifícil
Descrição: Sistema que permitisse a interação do jogador com o mapa e seus eventos utilizando de itens, magias e ataques, possibilitando também a interação negativa de tais eventos podendo causar efeitos negativos no personagem mesmo fora de batalhas (lentidão; dano; por ex.).

Movimentação por Pixel para Veículos - [member=1349]Dobberman[/member]

Dificuldade: 5/5 - Difícil.
Descrição: Mecânica de movimento para veículos que alteraria o controle do veículo para se assemelhar ao de um veículo (ou seja, acelerar, frear, virar para esquerda do veículo, virar para a direita do veículo), permitindo a aceleração progressiva do veículo, a derrapagem em casos de mudanças bruscas de direção, e a colisão com obstáculos.
Observações:
  • Essa ideia é relativamente complexa de se fazer pois o RPG Maker lida com movimentação/colisão de uma forma bem diferente. Você basicamente teria que reescrever esses dois sistemas do zero e adaptar o resto dos scripts à ele.

@everyone @here
 
Gostei da ideia OwO

Vou botar aqui uns dois que eu tava pensando esses dias:

Pathfinding:
Sistema: Sistema de Pathfinding
Dificuldade: O(n*m)/5 - Intermediário
Descrição: Um sistema de busca de menor caminho entre dois pontos. Incluiria no mínimo fazer eventos irem de um lugar pro outro.
Extras:
  1. [O(1) ?] Fazer os eventos seguirem outros eventos e o personagem.
  2. [O(1)] Lidar com partes móveis no mapa (eventos e tal, que mudam a passabilidade também)
  3. [O(n)] Não exigir que o caminho seja percorrido completamente (Ex.: Tem um caminho de A até B, mas um evento parou na frente, bloqueando a passagem. Ao invés de desistir de seguir o caminho, ir até onde dá e parar onde a distância até o destino for menor)

Sistema de Encantamento de Equipamentos:
Sistema: Sistema de Encantamento
Dificuldade: Window_Selectable/5 - Iniciante (gambiarra)/Guru (menos gambiarra)
Descrição: Sistema de encantamento similar ao de MMORPGs onde os equipamentos podem ser aprimorados e ganhar atributos e efeitos especiais.
Extras:
  1. [Incendiário] Usar itens específicos para certos encantamentos para cada equipamento.
  2. [Grand Chase] Ter slots de "cartas" nos equipamentos (por raridade, normal = 0 slot, raro = 1 slot, épico = 2 slot, ...) onde pode-se equipar as cartas obrendo efeitos descritos nelas.
  3. [Ragnarok] Mudar o nome do item de acordo com as cartas equipadas.

O de pathfinding eu comecei a implementar pro Ace, se alguém tiver interesse \o
Acho que esses dois inclusive são scripts que eu recomendaria que todos fizessem, o de pathfinding pelo conhecimento que agrega em questão de programação e o de encantamento pela quantidade de componentes do RPG Maker que vão precisar ser usados (então serve de tutorial autodidata de programação pra engine quase kkk)

Espero ter contribuído com alguma coisa \o
 
Ideias adicionadas no tópico o/
Enquanto escrevo isso percebo que não coloquei teu nome nas ideias, perdão, editarei.
 
Cristiano Sword comentou:
Fazer algoritmo de PathFinding é dificil, pra mim é o mais difícil de toda a programação de jogos na parte de gameplay.
Por isso usei Big-O Notation e infinitely many como as dificuldades kkkkkk
Well, mesmo sendo difícil, é uma ideia, e toda ideia é válida pra esse tópico xD
 
Prezados, boa tarde!


Acho a ideia do tópico bem bacana.
Confesso que ultimamente venho pensando em como fazer dois plugins.

Aceleração Progressiva para Veículos:​
Sistema: Aumentar e reduzir a velocidade de um veículo de maneira progressiva, inclusive com derrapagens e colisões.
Dificuldade: 10/5 - Über
Descrição: Mecânica de movimento que permite ser ativada quando o personagens estiver abordo de determinados veículos, alterando o controle do veículo para se assemelhar ao de um veículo (ou seja, acelerar, frear, virar para esquerda do veículo, virar para a direita do veículo, e não igual ao do herói que é cima, baixo, esquerda e direita), permitindo a aceleração progressiva do veículo, a derrapagem em casos de mudanças bruscas de direção, e a colisão com obstáculos.
Extras: Em princípio, acredito que seja necessário a criação do movimento por pixel de uma maneira estável, bem como uma forma de definir a colisão com os objetos de uma maneira mais ampla do que a nativa do RPG Maker.

Interação Avançada por Ferramentas:​
Sistema: Permitir o uso de ferramentas para interagir com o ambiente (e os eventos).
Dificuldade: 5/5 - Complicado
Descrição: Sistema em que permitisse a interação com eventos por meio de ferramentas (itens) tais como em Breath of Fire 3 e 4, e a série Wild Arms. Ferramentas como ataques, pulos, magias e itens no mapa, sem a necessidade de alterar o sistema de batalha nativo do RPG Maker para um Action Battle System - ABS. Permitindo ainda a interação dos eventos com o jogador em aspectos normais (como dano) e a influência dos status anormais em aspectos fora da batalha como a velocidade do movimento.
Observações: O plugin criado pelo Moghunter é capaz de muitas dessas funções, porém cria incompatibilidades com a batalha padrão do RPG Maker, fica a dica.

Até o momento sem progresso, só ideias.


Abraços.
 
Algo que geralmente passa batido mas que faz uma baita diferença no jogo é um bom sistema de câmera. O quão difícil é de implementar isso satisfatoriamente vai depender da engine utilizada.

Sistema: Sistema de câmera dinâmica
Dificuldade: 3/5 - (Mais que Tommy Wiseau, mas não chega a Kubrick)
Descrição: A câmera segue o jogador com um leve atraso/amortecimento, ficando assim suave mesmo em mudanças bruscas de direção. Além disso, move-se um pouco além na direção em que o jogador está virado quando estiver parado, aumentando assim o seu campo de visão.
Extras:
  1. [Michael Bay - Intermediário/Avançado] Ao avistar inimigos no mapa, mudar o foco da câmera para uma posição intermediária entre os oponentes e o jogador, melhorando assim a experiência de combate.
  2. [Wes Anderson - Intermediário/Avançado] Centralizar "magneticamente" a câmera em certos objetos-chave, quando isso for relevante. Por exemplo, ao encontrar um enorme farol, a câmera passa a ser centralizada na estrutura em vez de no jogador em si, voltando ao normal quando o personagem ficar suficientemente distante do local. Alternativamente, pode-se usar o mesmo princípio do extra 1 e manter o centro numa média ponderada entre o jogador e o objeto.

(Estou no processo de implementar os extras 1 e 2 no GMS2)
 
[member=1052]Kawthar[/member], Ótima idiea, vou ficar de olho aqui quando me sobrar um tempo livre.


Sistema: Sistema de Mini-Mapa
Dificuldade: 3/5 - Intermediário
Descrição: Um sistema que exiba um mini-mapa com informações visuais do mapa em que o jogar se encontra, além de um ícone no centro informando a posição atual do jogador.

  Exemplo:

 
image_2572016_63758.jpg

Extras:
  1. [Intermediário] Exibir a localização de NPCs no mini-mapa;
  2. [Avançado] Exibir a localização de Lojas e Residências que se pode entrar no mini-mapa
  3. [Avançado] Criar uma opção no menu que exiba mapa inteiro (todas as localizações).




Sistema de desconto baseado no nome - Em andamento por [member=770]Resque[/member].
 
Gostei da ideia, mas senti falta de um espaço para colocarmos tutoriais e até livros que ajudam a criar o tal sistema.



Sistema: Gerador de terreno procedural
Dificuldade: 4/5 - Avançado
Descrição: Geração de terrenos e biomas proceduralmente AKA sistema de Minecraft.
Links:
  1. Wiki de conteúdo gerado proceduralmente
  2. Procedural patterns you can use with Tilemaps (Part I) - É de Unity, mas o conceito pode ser utilizado em outras Engines.
  3. Procedural Cave Generation tutorial - Mesma coisa que o de cima
  4. Hex Map 23 Generating Land - A série toda de tutoriais é muito boa
Livros:
  1. Procedural Content Generation for C++ Game Development - O problema é que ele perde muito tempo explicando as ferramentas. É deveras básico.
  2. Procedural Content Generation for Unity Game Development - Menos básico que os de cima, mas voltado a Unity.

Sistema: Troca de itens online
Dificuldade: 3/5 - Intermediário
Descrição: Sistema de troca de itens online. Eu particularmente recomendo integrar uma ferramenta já existente como a Photon Engine que permite utilizar o servidor deles gratuitamente caso você tenha baixos acessos. Dessa forma poderia criar até mesmo um lobby. No entanto, é possível utilizar soquete junto a UPnP ou Nat Punchthrough.
Extras:
  1. [Muito Avançado]Criar um esquema para que o jogador não duplique itens ao copiar o save
  2. [Intermediário]Sistema de lobby
  3. [Intermediário]Sistema de batalha cooperativa
  4. [Avançado]Sistema de batalhas PVP
  5. [Avançado]Sistema de MMO
Links:
  1. Realtime Intro - Apesar de chamar "realtime" eu já utilizei para sistemas em turnos, como uma troca de itens
  2. Linksys FAQ - Definitions - Contém informações e referências sobre UPnP
  3. NAT Punchthrough Overview
Livros:
  1. Fundamentals of Network Game Development

Sistema:AI de inimigos com Machine Learning
Dificuldade: 5/5 - Muito avançado
Descrição: Sistema de AI para inimigos de um ABS (ou outro gênero como Shooter/FPS desde que possibilite um inimigo que ande) que aprenda com os inputs oponentes. Sugiro utilizar uma ferramenta já existente (como a brain.js) ao invés de criar sua própria
Extras:
  1. [Avançado]Ao invés de ir registrando e aplicando em runtime, criar um servidor que receba os registros dos jogadores para que seja calibrado uma base de dados e aplicado em novas versões. Quase um Analytics.
Links:
  1. Fontes do BrainJS - Contém manual e exemplo
  2. 11 Javascript Machine Learning Libraries for 2019
  3. Unity - Aprendizado de máquina - Há muitos links para conceitos, mas é bastante voltado para a engine e ferramentas Unity
Livros:
  1. Python Machine Learning By Example - Livro básico, mas voltado a Machine Learning tradicional (para sistemas). Recomendo utilizar junto a um livro de AI para games como o esse
  2. Procedural Content Generation for C++ Game Development - Eu não sei o quão atualizado esse está com relação a algoritmos de aprendizagem , mas o Steve Rabin é sempre uma ótima indicação

Eu queria recomendar um exercício sobre como integrar um interpretador de outra linguagem (tipo Python), mas evito recomendar temas que eu tenho pouco conhecimento prático (não que eu tenha feito muitas implementações com Machine Learning). Também gostaria recomendar um exercício sobre como recriar a física de veículos (na verdade é um pretexto para recomendar o ótimo livro Physics for Game Programmers) e um exercício sobre a implementação de rendering, porém esses dois execícios fogem demais do escopo de RPG Maker, que é a realidade de muitos aqui.





Resque comentou:
Dificuldade: 1/5 - Intermediário
O__o

Cristiano Sword comentou:
Fazer algoritmo de PathFinding é dificil, pra mim é o mais difícil de toda a programação de jogos na parte de gameplay.
Eu julgo fazer um A* simples como intermediário. Muitos livros o classificam como tal e um amigo meu dá como exercício em um curso de lato-sensu.

Meu amigo passa esse vídeo para ensinar seus alunos, que eu concordo em ser muito bom.

Recomendo dois livros bons que explicam pathfinding:

Programming Game AI by Example
51eV6DAdnUL._SX333_BO1,204,203,200_.jpg

AI Game Programming Wisdom
51-9go5Qn8L._SX396_BO1,204,203,200_.jpg

Em especial esse último que explica um técnica bastante performática utilizada nos tempos do Game Boy.
 
Sistema: Refatoração
Dificuldade: 2/5 - Básico
Descrição: Refatorar um código antigo ou mesmo códigos de terceiros utilizado aos boas práticas, especialmente as descritas por Martin Fowler e Robert Martin como:
  1. Modularização e diminuição de dependências (evitando variáveis estáticas que não sejam constantes).
  2. Métodos não terem mais de dois parâmetros
  3. Métodos não terem mais de dez linhas
  4. Sem comentários dizendo o que o código faz fora do header. Tentar já fazer o método/variável dizer isso com seu nome
  5. Classes e métodos só terem uma responsabilidade
  6. Classes não terem mais de duzentas linhas
  7. Evitar variáveis locais
  8. Eliminar Anti-patterns
  9. E muitas outras
Se for muito idealístico e ruim (eu mesmo não sigo a da quantidade de parâmetros dos métodos e de linhas deles), fazer algo próximo (como métodos com apenas 20 linhas e três parâmetros).
Links:
  1. Refactoring Guru. ÓTIMO site sobre refatoração que conta até com imagens! Tem conteúdo pago, mas o gratuito já é ótimo.
  2. AntiPatterns - Belo guia de Anti-patterns. Aliás o site todo é bom.
  3. The Principles of OOD
  4. Catálogo de refatoração - Catálogo do Martin Fowler com práticas de refatoração
Livros:
  1. Refatoração: Aperfeiçoando o Projeto de Código Existente - Simplesmente a bíblia da refatoração em português.
  2. Código limpo: Habilidades práticas do Agile Software - Ótima referência para boas práticas. Aliás, a trilogia toda (Clean Code, The Clean Coder e Clean Architecture) é muito boa.
 
FL comentou:
Gostei da ideia, mas senti falta de um espaço para colocarmos tutoriais e até livros que ajudam a criar o tal sistema.



Sistema: Gerador de terreno procedural
Dificuldade: 4/5 - Avançado
Descrição: Geração de terrenos e biomas proceduralmente AKA sistema de Minecraft.
Links:
  1. Wiki de conteúdo gerado proceduralmente
  2. Procedural patterns you can use with Tilemaps (Part I) - É de Unity, mas o conceito pode ser utilizado em outras Engines.
  3. Procedural Cave Generation tutorial - Mesma coisa que o de cima
  4. Hex Map 23 Generating Land - A série toda de tutoriais é muito boa
Livros:
  1. Procedural Content Generation for C++ Game Development - O problema é que ele perde muito tempo explicando as ferramentas. É deveras básico.
  2. Procedural Content Generation for Unity Game Development - Menos básico que os de cima, mas voltado a Unity.

Sistema: Troca de itens online
Dificuldade: 3/5 - Intermediário
Descrição: Sistema de troca de itens online. Eu particularmente recomendo integrar uma ferramenta já existente como a Photon Engine que permite utilizar o servidor deles gratuitamente caso você tenha baixos acessos. Dessa forma poderia criar até mesmo um lobby. No entanto, é possível utilizar soquete junto a UPnP ou Nat Punchthrough.
Extras:
  1. [Muito Avançado]Criar um esquema para que o jogador não duplique itens ao copiar o save
  2. [Intermediário]Sistema de lobby
  3. [Intermediário]Sistema de batalha cooperativa
  4. [Avançado]Sistema de batalhas PVP
  5. [Avançado]Sistema de MMO
Links:
  1. Realtime Intro - Apesar de chamar "realtime" eu já utilizei para sistemas em turnos, como uma troca de itens
  2. Linksys FAQ - Definitions - Contém informações e referências sobre UPnP
  3. NAT Punchthrough Overview
Livros:
  1. Fundamentals of Network Game Development

Sistema:AI de inimigos com Machine Learning
Dificuldade: 5/5 - Muito avançado
Descrição: Sistema de AI para inimigos de um ABS (ou outro gênero como Shooter/FPS desde que possibilite um inimigo que ande) que aprenda com os inputs oponentes. Sugiro utilizar uma ferramenta já existente (como a brain.js) ao invés de criar sua própria
Extras:
  1. [Avançado]Ao invés de ir registrando e aplicando em runtime, criar um servidor que receba os registros dos jogadores para que seja calibrado uma base de dados e aplicado em novas versões. Quase um Analytics.
Links:
  1. Fontes do BrainJS - Contém manual e exemplo
  2. 11 Javascript Machine Learning Libraries for 2019
  3. Unity - Aprendizado de máquina - Há muitos links para conceitos, mas é bastante voltado para a engine e ferramentas Unity
Livros:
  1. Python Machine Learning By Example - Livro básico, mas voltado a Machine Learning tradicional (para sistemas). Recomendo utilizar junto a um livro de AI para games como o esse
  2. Procedural Content Generation for C++ Game Development - Eu não sei o quão atualizado esse está com relação a algoritmos de aprendizagem , mas o Steve Rabin é sempre uma ótima indicação

Eu queria recomendar um exercício sobre como integrar um interpretador de outra linguagem (tipo Python), mas evito recomendar temas que eu tenho pouco conhecimento prático (não que eu tenha feito muitas implementações com Machine Learning). Também gostaria recomendar um exercício sobre como recriar a física de veículos (na verdade é um pretexto para recomendar o ótimo livro Physics for Game Programmers) e um exercício sobre a implementação de rendering, porém esses dois execícios fogem demais do escopo de RPG Maker, que é a realidade de muitos aqui.





Resque comentou:
Dificuldade: 1/5 - Intermediário
O__o

Cristiano Sword comentou:
Fazer algoritmo de PathFinding é dificil, pra mim é o mais difícil de toda a programação de jogos na parte de gameplay.
Eu julgo fazer um A* simples como intermediário. Muitos livros o classificam como tal e um amigo meu dá como exercício em um curso de lato-sensu.

Meu amigo passa esse vídeo para ensinar seus alunos, que eu concordo em ser muito bom.

Recomendo dois livros bons que explicam pathfinding:

Programming Game AI by Example
51eV6DAdnUL._SX333_BO1,204,203,200_.jpg

AI Game Programming Wisdom
51-9go5Qn8L._SX396_BO1,204,203,200_.jpg

Em especial esse último que explica um técnica bastante performática utilizada nos tempos do Game Boy.

Aquele cara que mal chega e já sobe o nível do tópico rs

Achei bem interessante a ideia da integração com outras linguagens e do machine learning. Na verdade, sempre tive curiosidade se dava pra implementar inimigos com machine learning. Me preocupa um pouco como seria a implementação disso de uma forma variada, pra não acabar criando vários inimigos iguais.
Acho que vou tentar esses dois aí, juntos. Não gosto de Javascript, então tentar fazer no VX Ace mesmo, integrando com Python.

Valeu FL \o

Btw: realmente, A* é bem simples de implementar, até pela quantidade de material disponível por aí. Na wikipedia tem até pseudocódigo, dá pra copiar e ajustar a sintaxe e cabou.
 
Quero contribuir também! :D

Sistema: Sistema de M.E.C.H.A.
Dificuldade: 5/5 - Avançado
Descrição: Um sistema onde o personagem do jogador poderia pilotar máquinas de combate que alterassem os stats e possibilidades de batalha e locomoção, como vôo, navegação, velocidade.
Extras:
  1. [Intermediário] Mudar a aparência do personagem durante o jogo ao "ativar" o mecanismo.
  2. [Avançado] Permitir que danos recebidos em combate sejam aplicados ao personagem e sua máquina, mantendo uma porcentagem para cada um.
  3. [Avançado] Possibilidade de equipar itens que sejam compatíveis apenas com as máquinas, unicamente quando estiverem sendo pilotadas.
  4. [Avançado(?)]Permitir transformações e fusões entre máquinas de diferentes personagens durante o jogo.

Infelizmente eu só tenho a ideia, não tenho referências de como isso pode ser trabalhado com as engines que conheço igual o FL fez T_T

Dá pra melhorar essa ideia?
 
Brandt comentou:
Me preocupa um pouco como seria a implementação disso de uma forma variada, pra não acabar criando vários inimigos iguais.
Acredito que isso se resolva facilmente com pesos junto à mudança de ações ou mesmo ações exclusivas. Por exemplo, a mudança de Steering Behaviours numa uma máquina de estados finita (FSM) que pode (ou não) conter comportamentos exclusivos para cada inimigo.

Bruce Azkan comentou:
Infelizmente eu só tenho a ideia, não tenho referências de como isso pode ser trabalhado com as engines que conheço igual o FL fez T_T

Dá pra melhorar essa ideia?
Diferente de um Pathfinding, geração procedural e Mini-Mapa, esse sistema não é algo que requer algum conceito mais específico para ser codificado. Seria só entender suficientemente bem como funcionam alguns sistemas no Maker correspondente (especialmente o de combate) e colocar várias condicionais (de preferência junto a um objeto extra) para representar as alterações do mecha. Ou seja, para o pessoal se guiar, basta procurar referências que explique o funcionamento desses sistemas no Maker escolhido, referências que nem são tão requeridas assim para uma alteração dessas quando podemos ver os scripts fontes (ou quase, no caso dos RGSSs).

A única parte que iria requerer uma alteração maior seria o sistema de fusão, mas isso iria depender muito de como esse subsistema funcionaria (Seria ativado no meio da batalha? Por uma habilidade? Quando o personagem desfunde?).
 
[member=779]FL[/member]
Eu tentei algo parecido no RPG Maker MV. Consegui fazer a parte da transformação visual com o uso de uma habilidade. Alterou tanto o visual do personagem quando seus Stats. O problema é definir um tempo limite pra transformação. Aí eu fiz a gambiarra de ter uma "habilidade" chamada "destransformar" roauhraouhra. O que poderia ser feito através de um item do inventário se fosse o caso também.

Mas a parte de fusão realmente eu não consigo sequer imaginar como poderia ser feito.
 
Sistema: Movimentação de plataforma
Dificuldade: 4/5 - Avançado
Descrição: Substituir o sistema de vista de cima por um platformer. A grande maioria dos RPGs possui uma movimentação Top-Down para os mapas. Mas e se essa movimentação fosse como em um jogo de plataforma? Os personagens passeariam pelas cidades e explorariam florestas/cavernas numa vista 2D de lado. Há alguns jogos que fazem isso: Zelda II: The Adventure of Link, Mega Man Zero, Mega Man ZX, Wonder Boy in Monster World e Dragon Ball Z: Goku Gekitouden. Com exceção do último, eles são metroidvanias ou action-rpgs, ou seja, fora das cidades o combate com os inimigos ocorre logo lá ao invés de começar uma batalha por turnos em outra tela ou algo assim. Nesse exercício não vamos mexer na batalha.
Extras:
  1. [Avançado]Usar o editor de mapas do RPG Maker. Ler a ferramenta de mapeamento e editor de colisões para gerar os mapas e colisores no cenário.
  2. [Intermediário]Wall Jump.
  3. [Intermediário]Obstáculos (como espinhos) que faz o jogador tomar dano ou voltar ao início do mapa.
  4. [Intermediário]Encontros não-aleatórios. Ao invés de de encontros aleatórios, os inimigos aparecem no mapa e você precisa fugir (possivelmente pulando) deles.
  5. [Avançado]Integração com uma biblioteca de física 2D.
Links:
  1. Create a Platformer Game with JavaScript - Full Tutorial - O problema desse tutorial é que ele é focado no JavaScript, mas a lógica de fazer algo "From scratch" é a mesma.
  2. HTML5 Game Tutorial: Making A Platformer - Mesma coisa que o de cima.
  3. Platformer controls: how to avoid limpness and rigidity feelings - Para melhorar o Game Feel, fazendo o controle ficar bom de jogar.
Livros:
  1. Build an HTML5 Game: A Developer's Guide with CSS and JavaScript - Assim como os outros tutoriais focados em desenvolver "from scratch", ele usa uma tecnologia diferente (JavaScript com Canvas). Além disso, há mais coisas que será necessário adaptar, como algumas bibliotecas que o autor usa já não funcionam mais.
 
Voltar
Topo Inferior