I’m looking to recreate the bimodal style role playing game typically of the Japanese variety. When I say bimodal, I mean that there are typically two distinct modes of play where one mode offers an environment for exploration and the other traps the player into battle between enemies with a party of characters selected from the exploration plane. The exploration plane feeds into the battle plane in that items found in treasure chests or bought from shops can be used when fighting various enemies. In order to engage enemies, there is the concept of an “encounter” where some pseudo-random system or other condition (like collision with enemy on exploration plane) is met for the player characters to meet the enemies on the battle plane. The basic trappings of the exploration plane are the “World Map”, the “Town”, and the “Dungeon”. The World Map is a macro level hub that allows players to explore the world and traverse to Town and Dungeon nodes. The World Map usually offers some trivial battle encounters where there can be met by players. Towns are exploration nodes that can be reduced to essentially exploration areas without battle, although certain conditions can trigger battles. The dungeon is a exploration node where encounters occur in the greatest frequency with a non-trivial structure to encourage full traversal.
Unlike Western counterparts, where exploration and combat occur on the same plane, the separate nature of the modes requires quite a bit of persistence between the modes. Items found in the exploration plane must be persist in instances of each exploration level. Those same items can be used as consumables or equipped as weapons and armor by the player’s characters in specific character loadouts through the use of a menu system that allows the player to customize their characters, like in most RPGs. Number of consumables and character loadouts must also persist from exploration to battle in that weapons equipped by in the exploration menu must be shown in battle. Consumable items must match the item tallies from exploration. Any items used in battle can no longer be used on the exploration plane. During battle, the player’s input tends to be polled, rather than pushed by the player, when certain conditions are met, usually that the player’s turn is ready. When turn is ready, the player can choose an action from a menu and the mapped action will occur. Certain calculations are made behinds the scenes to determine the effectiveness of the action. Both player and enemies then taking turns until either the player wins or loses.
I’ve seen quite a few UE4 projects that are molded in the Western fashion where there’s an action game style combat system with statistical abstractions in the background. I think such systems may actually be easier to implement than the JRPG bimodal style systems. I wanted to run by a few of my thoughts after reviewing some of the UE features on how to implement a Japanese style RPG.
Conceptually, moving in the exploration plane and exploring different areas, town, dungeons, is essentially loading up a different level. That seems fairly straightforward. Changing between the exploration and battle plane is potentially similar in that there could be levels dedicated to housing the battle system. What I’m not too sure about is how to pass information between the levels. A quick look seems to indicate that the Game Instance object would be suitable for inter-level persistence, but I’d like to know if there are any better patterns to use.
I have certain thoughts about implementing the battle system by using the experimental AI features, but I still need to think on it some more.