I am still tweaking things before its sent to the epic store but I need some feedback thats not just me. Pleas try the demo and let me know what you think. What feels off and such. Thank you.
I forgot to mention this is a playable demo for the implementation of the toolkits elements. There’s a documentation level talking about systems, a demo city with training dummies and live targets as well as a battle arena that cycles through all the database of monsters and levels up with you. The demo was geared towards a controller but does have keyboard and mouse controls.
RPG Engine Toolkit Demo V4:
RPG Engine Toolkit Documentation:
RPG Engine Database Manager Documentation:
Its been a about 6 years since my initial release and since then I’ve been learning UE4 when I can and getting better understanding the ecosystem of UE4 at work as we use it for other purposes outside of games. Never the less I have been able to improve my understanding and design and attempt to polish the initial release of my toolkit as I use it to make my own game.
That being said since 4.0 I have had a few things in mind for this next release. One large thing was to convert all the prototyping blueprint into c++ for easier upgrading going forward and to clean up the noodle code from everywhere. This also steam lines the blueprint side of code to only be small things that are needed to make the systems work together. The other thing that I love is the face that I can update the AI logic faster and have more handle of pointers and macros to make things easier for streamlining some processes.
The second thing since 4.0 I needed was to complete the action battle system that I tried to make in the initial iteration of this toolkit. 4.0 brought a Turn Base System just to have something in the toolkit that worked better that the initial action battle system. This one I hope is more presentable, operational and more focused in operation.
The whole system is modular and should be plug and play for making new moves/combos/specials/supermoves.
Along with this I have fully built the example city I needed to apply the elements of the toolkit into something representative of a working tech demo. I have been able to also clean up a lot of FPS lot for the Day Night system and AI ticks. I have fully removed the saving of the Video settings to the database and have moved this functionality to a modular stand-alone blueprint for setting presets, saving, and applying the video, audio, and game settings. Thus far on a standard resolution I am getting a good frame rate. Using a 2K monitor I have been able to get 45-55 FPS for the most part where a standard 1080 resolution is at a 60 cap. This is at High settings by default.
Other Updates in 5.0.
RPG SKY
RPG Sky have been revamped in 5.0. Before having a massive blueprint that stored components that changed every frame caused an on average of 15-20 FPS drop. This has been fixed. The new SPG Sky now links to existing external objects in your map. As of current it takes in the following references:
• Sun and moon directional, Sky Atmosphere, Exp Height fog, and Volumetric Cloud references.
In 5.0 the RPG Sky uses Data Curves to preset desired environmental lighting settings for through out the day. From cloud opacity, sun temperature, Skylight intensity settings etc. The idea is to set distint time of day settings and save that to a curve. With the new system you can set the time of day and it will push updated settings to the external world components. Then from here you can change a few things and manually copy certain settings to the curve so that way you know that your 7AM sun rise will have the desired color and fog levels you wanted for a scene.
Idle Camera is a new feature added to the RPG Sky. If the player is idle for a given amount of time the sky will enable Idle Cam. What this can do is cycle through a list of linked camera shots you have in the world. This just adds a nice glamor shot of your world to add something to the game operation.
Action Battle System
Title: A bit too much.
Ever since the release of 4.0 I have been trying to design an action battle system in the same feel of Devil May Cry with strategy elements, coming from the world of Grandia, Skies of Arcadia, Star Ocean and other similar games that made team work and synergy a key component, these are things that I seek as well in designing this system. I want the enemies to feel powerful and overbearing with the feel to need to get timing and thought in approaching a battle situation. I also wanted to make sure that AI Abuse or the smash button to win was not the main feel of the system. Coming from games like Guilty Gear and King of fighters and the Action/RPG of FF14 where you have to do chores to build your power and think about what to do next to open an enemy up and enemy has weighed in on how I would like to blend these elements together. I hope this end results can be easily built upon to make the kind of game you desire.
Title: Slowly moving forward.
The base of everything here is just implementation of standard features used in action games. Being a normal bread and butter move set being Light and Heavy attacks with a Tactics button to use for Mics strategy purposes. A Block and Dodge button for Defense and Evasion. A Parry/Just Defend window for Countering attacks for general action game staples. After this I wanted to add the abilities to call moves that could be part of the bread-and-butter attacks and break up he feel of mashing just two buttons to do normal attacks so I added the ability to have Charged states for the Light and Heavy buttons to open up unique things that can synergize with the regular attacks of the main combos. From here I also made the combo index a round robin modulus increment so that you could Mix up from a combo to a shorter one and keep a combo going with out it really ending if you bounce back and forth between Light and Heavy combos with out hitting the ender.
Title: Getting closer to what i want.
Outside of the standard attacks I also added the ability to swap to a equipped super panel in the same vain as Star Oceans Hold Moves or Code Veins / FF7 Remakes Mapping system for quick access attacks that you have to build meter for. Anything to be able to extend combos into Specials for extra battle flare without needing menu access.
With that in mind is the reason I have mapped Supers to holding X and Y together to be able to slip into a Super at any moment in an attack string. Especially if you go from a standard combo, break enemies shield, use a special to temporally weaken the target and then use a Super all in the same flow of events.
A few things that I have in the system but no execution yet is the Heat meter that I wanted as something similar to a focus bar that could be built or charged to get some kind of battle upper hand and an assist meter that I want to use in the same vain as most fighting games to call in a character in the party in field or not in the field to come out and assist with a Dual Tech move or a Tri tech move to add more variety to the battle system. Any thing that can add more fun and cool looking game play was the main goal.
General things aside lets get into the break down of the Action Battle System elements.
Title: Finally:
Standard Attack
Light and Heavy, X and Y, can be used to attack the enemy. Each Light or Heavy has its own attack string. Near the end of an attack animation (Follow through/Recover state) if the next attack button is in the pending action que the next animation in the attack string will start playing. If an animation finishes the recovery state, the combo ends and it resets the attack string in a small window after the attack end.
The reason it’s a small window after the attack is over is in the case where you are attacking an enemy and you are advanced on by another target. This allows you to stop the combo for a small time and retarget the new target and start a new advancement on the incoming attacker.
Normally Light combos are faster and makes it easier to get in open them up and start attacking the enemy allowing less of a window to get knocked out of a combo. Where heavy attacks can do more damage but are slower and have a larger window of recovery that opens you up to be counter blocked by an enemy or to be hit stunned by another attacker.
Mix ups
Depending on the number of Light combos and Heavy Combos you can switch from the light combo string to the heavy combo string. If done carefully you can pull off longer attack combos without hitting the combo ender animation.
Light Attack has an ender on combo 8 while Heavy has an ender on combo 5. An ender is defined as a last hit with a higher level of recovery frames. If I stop on Light Combo 6 and switch Heavy next it will wrap around, (modulus), to a Heavy 2 as my next action instead of Light 7. Like wise if I stop at a Heavy 4 and switch to Light I will get Light Combo 5. This does not mean you would not want the ender to happen as there can be benefits to ending a combo string. Knock backs, shield breaks or other crowd control effect could be placed at the end of a combo string.
You can also add a Mid-combo effect that would note a reason to switch to heavy as an incentive to do more damage.
During Tori’s light combo his 6th move will do a small AOE shield break effect, the shield break will cause all blocking opponents to drop guard and it will also remove a enemies hardened state making them unbalanced. This can be the point where the player can choose to continue the combo to do a single target knock back. Or switch to heavy get some more damage in now that the blocking target is open and have a change to do a larger ender that can crowd control.
Light Hold and Heavy Hold and Tactical Hold
Holding the light, heavy or tactical button can execute a custom skill that can end a combo or operate standalone. These moves are on a cool down clock that can be configured per Class Type.
For Tori he has the following:
- Light Hold: Gap closer kick.
- Does damage as he travels at the current soft/hard lock target
- 5 second cool down.
- Does low damage.
- Heavy Hold: Upper cut launcher.
- Breaks targets Guard
- Unbalances the target.
- Launches the target into the air for air juggling phase.
- Cooldown 15 seconds
- Tactical Hold:
- Enters a casting/unstaggerable stance.
- Tori charges a boosting effect on self and explodes doing knock back effect to enemies near him.
- Boost effects gained Attack Up, Defence Up and Speed Increased for 60 seconds.
- Caster frames cannot be knocked out of without a move that is marked unblockable.
- You can still take damage in this state.
- Cooldown 120 seconds
Stamina, Blocking
As that player attack’s they start depleting stamina based on the Abilities settings. When stamina gets lower than the needed about for Light and Heavy moves they will not be able to execute and attack and a negative notification will be heard. Stamina can be recovered by not attacking and faster by blocking. Special events can also net stamina gain, by Guard Countering and landing critical damage.
Guard Countering and Dodging
Guard Counter starts at the moment you enter block state. When executed if you are hit with an attack, you will Guard counter the move. The target attack cancels and enters an unbalanced state and will be open for combo attacks. The counter move can also have effects of knockback or launcher effects if desired. The normal window is 250ms this can be configured and also increased via skill trees.
Dodging is also supported by IFrames meaning you can’t be hurt during this time. But dodging is a limited resource that must be recharged.
Specials
As you attack you will be gain Skill Points (SP) and Super Meter (Burst Limit). When you have gained enough skill points you can execute a Special Move. Specials can be equipped in the skills page or accessed via the quick menu in battle. To access quick specials, hold the L2 button in battle for the Battle Pallet (Light, Heavy, Tactical, and Dodge) to change to the Specials Pallet (Four Configurable Skills). The special available should be highlighted in blue light showing that its charged and primmed for execution. Specials executed from the quick menu will order the AI Party member to stop its current task and execute the instructions. Note that when issuing a special on yourself you will execute this skill as soon as you exit the quick menu.
Super moves
Super Moves or Supers can be executed when you fill a Burst Limit Bar. The Super executed will always be the highest super available for the bars available. This can be executed by holding Light and Heavy for a small period. All Supers have Iframes meaning you cannot be hurt during a super and you cannot be knocked out of a super even with an unlockable attack.
Hardened States
By default, the enemies are hardened. This is a state where they cannot be stun locked by attacks or be placed in effects like Knock down, knock back and launched. The Hardened Meter is not a visible meter but will show unbalanced over the enemy when the enemy becomes vulnerable to attacks. The meter is simply reduced by applying attack pressure on the target. But during this time the enemy is still able to attack the player. This vulnerable state does not stay for long and opens a small avenue for the attacker to get in some needed battle effects. Adding this is a needed thing so the player can’t just stun lock a target to death.
Staggered State
When an enemy or players stagger gauge depletes to zero, they will be stunned for a given time. During this time, they are susceptible to any Battle Effect and will accumulate a damage multiplier for every hit taken while in this state until the stagger meter recovers to 100%
AI Party Memebers
The AI is designed to do skills based on a tactics scale. As of now they use a simple setting Balanced. Balanced will use a weight of 70% for attacks and 30% for specials and magic, this was kept simple for now for others to add more in-depth selection logic later. AI party members will not be able to execute Tactical Moves as these should be used by the end user for strategy. They are also not able to execute Supers. AI that are not set to Defender types will start blocking more when low on life or when low on stamina.
Enemy AI and Anti AI Abuse
To counter end users that will sit back and let the AI attack and not participate in battle. I have executed an engagement check for the Enemy AI. Before picking attack targets the enemy will see if the controlled player has and enemies registered to it. If not, then then the enemy will target the player. This is used to keep the player engagement up.
The enemy AI and the Hero AI will work in a similar fashion for simplicity’s sake. They have configurable wait windows before the next attack string is selected. While waiting the AI will lock onto the last or next target and move to a random location around itself to allow some spacing for combat to happed. If the AI has a dodge/dash, it can also dodge away to a location around itself.
When it is time for attack the AI will remove its current focus and select a new attack string based on settings. Some abilities can be set to only be available for use after N Turns, N Seconds or only when HP is under a certain threshold. HP Abilities will be treated as one off moves and will only be executed once per battle or whenever the HPLimitUsed flag has been reset for the ability.
Once the combo has been built, the AI will select a target for attack. This is kept simple for others to expand later with more in-depth enemy selection logic. For now, the AI will select a target at random from the enemy listing. Once the target is selected a few things can override this initial selection. If the enemy was just hit by a previous attacker it will seek revenge on the attacker and retarget to that attacker. Second is if the Hero AI was given a specific attacker to attack via Quick Menu Special / Magic Selection.
This should explain the battle changes for the main part the remaining information can be found here in the Documentation:
I am still tweaking things before its sent to the epic store but I need some feedback thats not just me. Pleas try the demo and let me know what you think. What feels off and such. Thank you.
RPG Engine Toolkit Demo V4:
RPG Engine Toolkit Documentation:
RPG Engine Database Manager Documentation: