tukkek / javelin

Party-based roguelike (open-source strategy-RPG game).
https://javelinrl.wordpress.com/
64 stars 7 forks source link

Fight Mechanics #272

Open tukkek opened 3 years ago

tukkek commented 3 years ago

There is an entire world of untapped potential for Fight mechanics that introduce gameplay variety and strategic depth to the game. There are some design considerations to be kept in mind, mostly related with how the AI works but anything that can be handled in-between turns, deterministically is fair game. An object that deals damage in a radius can be understood by the Battle AI if properly integrated and a Mechanic that shift combatants around at random is seamless to the AI.

The most obvious examples here would be to rework Directors, Waves and similar into Mechanics so that they can form a baseline to expand upon and be used alongside other Mechanics. If Haunts could have random Mechanics assigned to them that would be even better for strategic variety - a Haunt that is one time a Wave Fight could be a Boss Fight next time around.

Dungeon Mechanics are also an avenue for improvement, as some Temples feature them in a hard-coded fashion. It is unclear if and how Fight and Dungeon mechanics should share a hierarchy.

Any Mechanic should have an Encounter Level modifier attached to it (even when it's zero - as in: neutral between player and enemies). This allows for Haunts and Branch Dungeons to generate balanced encounters (as in Encounter selection) while allowing the full range of possibility when designing new Mechanics.

tukkek commented 2 years ago

As a backend, clouds #84 could enable several interesting mechanics:

If the logic that controls cloud expansion and spawning seems random to the player, it is probably OK for it to be random to the AI as well.

Scaling is a concern here, as usual - something like Fight EL - 3 could be a good starting point to figure things like amount of damage, Spells that can be cast, etc (when comparing the EL to traps, for example).

tukkek commented 2 years ago

A "strong winds" mechanic where all units on a vertical or horizontal segment are pushed in a certain direction. The segments vary with each instance but the direction remains the same. Fortitude save may impact how many tiles an unit is pushed.

"Chaos storm": similar but pushes every unit in a random direction.