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

Suporte para Mecânica de Combate

Iniciado por Red Fawkes, 15/05/2018 às 16:05

15/05/2018 às 16:05 Última edição: 23/06/2018 às 11:41 por Corvo
 Oi, você.

Jogando Dark Souls percebi que se simplificássemos o combate ao máximo, sem sacrificar a sua agência como jogador, teríamos o seguinte:

1. Uma forma de telegrafar ao jogador (você) qual o próximo movimento do oponente.
2. Permitir ao jogador (você) uma forma de responder a esse movimento.
3. Um leque de movimentos e padrões atribuídos ao oponente.
4. A capacidade (do jogador) de dominar esses padrões e reagir a eles eficientemente.

Com isso em mente, busco criar um protótipo na menor escala possível que ainda permita a aplicação desses fundamentos de uma forma que:

1. Permita a existência de uma learning curve baseada na memorização de padrões e timings.
2. Seja versátil o suficiente para que me permita introduzir/alterar as regras de cada batalha de forma dinâmica, sem entediar o jogador (você).
3. Não requeira um conhecimento avançado de linguagens de programação.

A experiência final requer que a ação ocorra em tempo real. Estou usando a ideia de turnos pela sua simplicidade enquanto busco entender como os eventos funcionam e interagem entre si.

Criei um documento (em inglês) no Google Docs onde explico o esqueleto do sistema, com uma ilustração de exemplo:
https://docs.google.com/document/d/1I1OWO9ABmajWExL8jCXeUS35QgBVwjzMcxKaqlnW5b4/edit?usp=sharing
Quaisquer dúvidas serão respondidas, quero que a visão esteja clara pra você.

Vamos ao suporte: Preciso de insight a respeito da aplicação desse sistema ao RPG Maker VX Ace por eventos, e também até que ponto há a necessidade da presença de scripts. Eu pensei em mexer com dano por terreno, mas sei da funcionalidade limitada dessa função no RPG Maker. Se vocês entenderem que essa mecânica daria mais trabalho que o necessário no RPG Maker, me indiquem outras engines. Possuo o Construct 2 no momento, mas ainda não sou familiar com suas intrincarias.

Adoraria apoio, pretendo desenvolver jogos e entendo que a parte essencial de um projeto é a definição das suas mecânicas - o que é particularmente eficiente com protótipos. Vejo potencial nesse sistema e adoraria ter sua ajuda.











15/05/2018 às 16:35 #1 Última edição: 15/05/2018 às 16:42 por Corvo
Nunca joguei Dark Souls e meu inglês é uma droga, por isso não li seu documento, mas deixe-me ver se eu entendi: você quer criar uma sistema (tático ou ativo, não entendi) cujos inimigos tenham ações padronizadas e aprendam analisando as reações do jogador à essas ações? Se for este o caso, a única ajuda que o RPG Maker vai te dar é a interface gráfica.

Citação de: Red Fawkes online 15/05/2018 às 16:05
1. Uma forma de telegrafar ao jogador (você) qual o próximo movimento do oponente.
2. Permitir ao jogador (você) uma forma de responder a esse movimento.
3. Um leque de movimentos e padrões atribuídos ao oponente.
4. A capacidade de dominar esses padrões e reagir a eles eficientemente.

Toda essa parte não é necessariamente difícil de fazer, mas trabalhoso, ainda mais por eventos. Mesmo se você usasse este código para fazer um terço do trabalho, ainda seria muita coisa a ser programada e editada.

Citação de: Red Fawkes online 15/05/2018 às 16:05
1. Permita a existência de uma learning curve baseada na memorização de padrões e timings.
2. Seja versátil o suficiente para que me permita introduzir/alterar as regras de cada batalha de forma dinâmica, sem entediar o jogador (você).
3. Não requeira um conhecimento avançado de linguagens de programação.

Bom, os dois primeiros pontos são relativamente fáceis de acordo com o sistema, mas para ter certeza do que você está fazendo é recomendável um nível mediano de conhecimento em programação. Estudar apenas a lógica pode servir se você tentar criar o sistema por eventos, mas é trabalho desnecessário.

Citação de: Red Fawkes online 15/05/2018 às 16:05
Vamos ao suporte: Preciso de insight a respeito da aplicação desse sistema ao RPG Maker VX Ace por eventos, e também até que ponto há a necessidade da presença de scripts. Eu pensei em mexer com dano por terreno, mas sei da funcionalidade limitada dessa função no RPG Maker. Se vocês entenderem que essa mecânica daria mais trabalho que o necessário no RPG Maker, me indiquem outras engines. Possuo o Construct 2 no momento, mas ainda não sou familiar com suas intrincarias.

A melhor sugestão que posso dar é: faça suas malas, aprenda C#, mude-se pra Unity e seja feliz. O RPG Maker não foi projetado para suportar alterações muito drásticas, principalmente em batalhas e olhe que, se eu entendi bem, o que você quer nem é tão complicado assim. Sempre digo o seguinte, se é pra ter trabalho é melhor ter trabalho que valha a* pena. Também não creio que o Construct seja a melhor escolha. Quando você lida com sistemas altamente personalizados nada vai te ajudar tanto quanto escrever 'pessoalmente' cada mísera linha.

Claro, pode ser que eu tenha entendido errado, nesse caso não ajudei em nada.  :sera:

Citarvocê quer criar uma sistema (tático ou ativo, não entendi) cujos inimigos tenham ações padronizadas e aprendam analisando as reações do jogador à essas ações?

Não. Os inimigos têm padrões de ataques. O jogador aprende a ordem e o timing deles. Ter uma ambição desse tamanho (Uma IA) a essa altura do campeonato seria uma coisa horrivelmente insensata.

CitarA melhor sugestão que posso dar é: faça suas malas, aprenda C#, mude-se pra Unity e seja feliz. O RPG Maker não foi projetado para suportar alterações muito drásticas, principalmente em batalhas e olhe que, se eu entendi bem, o que você quer nem é tão complicado assim.

Welp, Unity é inviável pra mim, meu PC não o suporta. Sim, o propósito é não ser complicado. Sei da eventual trabalheira que dá mexer com eventos: espera de frames, checagem de teclas pressionadas, animações em batalha e tudo mais, é possível mas é extremamente clunky no RM.

CitarSempre digo o seguinte, se é pra ter trabalho é melhor ter trabalho que valha a* pena. Também não creio que o Construct seja a melhor escolha. Quando você lida com sistemas altamente personalizados nada vai te ajudar tanto quanto escrever 'pessoalmente' cada mísera linha.

Eu não conheço absolutamente nada do Construct ainda, mas vou dar uma olhada pra ver se é plausível eu fazer algo parecido com esse protótipo que eu tenho em mente lá. Se eu definitivamente não encontrar uma maneira engenhosa de fazer isso com o mínimo de programação possível, eu dou um dive no mundo dessas linguagens.

Obrigado pela atenção.

Eu acho o combate de Dark Souls o melhor que temos em termos de ativo. Só que me questiono muito sobre replicar, ainda que simplificadamente, esse combate  em algo como o RPG Maker. Muito do combate de Dark Souls depende das animações, pra tu premeditar o movimento inimigo, pra tu poder desviar dos missiles, pra tu conseguir usar os invincibility frames ao rolar, tudo é muito bem dramatizado pelos personagens, coisa que no RPG Maker eu não vejo possível sem o custo de um trabalho extremamente árduo, ao ponto de não valer a pena usar o RPG Maker para isso.

Agora, tu pode pegar a teoria do comportamento do inimigo lá e aplicar aos seus. Algo do tipo, sempre que tal inimigo defender, depois virá um ataque muito forte mas com altas chances de ser aparado. Ou, sempre que tu causa dano a um inimigo ele entra em defesa no turno em seguida. Comportamentos do tipo que, apesar de serem menos graciosos do que em um ABS, daria uma boa dose de estratégia a um combate frontal ou lateral.

Também acho que não há como escapar de usar códigos nisso não. Há como fazer sem eles, mas me questiono se ficaria agradável de se jogar.