jRPG Template

jRPG Template


Marketplace | Documentation | Playable Demo | Demo Gameplay Video

jRPG Template is game base packed with systems to speed up jRPG-like game development. It contains most needed features like: characters management, inventory and equipment, save system and basic combat system.

Features list:

CHARACTERS:

  • customizable characters creation
  • customizable stats for each character
  • stats bonuses per character level
  • defined equipment for each character
  • add or remove party members
  • XP and level system
  • characters formation to set positions in a battle

ITEMS:

  • create any amount of items with custom data
  • list-based inventory
  • add/discard items
  • add rarity to items
  • single or multiple stacks
  • use items from inventory (ie. potions to heal characters)
  • create any amount of equipment
  • equip/unequip items to characters
  • add stats to equipment so they will affect characters
  • define what kind of equipment characters can use

SAVE/LOAD:

  • create any amount of game saves
  • save, load, overwrite and delete game saves
  • game saves are saved to files
  • player data is maintained through the game instance to keep it persistent when changing levels
  • played time is tracked
  • Save Point actors can be placed in world to create in-game save/load points
  • Spawn and Teleport actors will help you connect your levels

BATTLE SYSTEM:

  • create custom actions (Attack, Defend, Use Item, Flee, Use Magic etc.)
  • initiative based turns (faster characters attack more frequently)
  • use items during battle
  • targeting system
  • create custom encounters (how many and what enemies will appear)
  • easily set up spawn positions for player characters and enemies)
  • receive XP, gold, and items after battle

Update 05-03-2018 contains:

  • implemented full gamepad support

Update 11-05-2018 contains:
ADDED NEW ACTIONS SYSTEM:

  • actions now have a separate actor component
  • some functionality (actions related) has been moved from BattleManager to ActionsManager
  • added new default actions: Magic, Moves, Deathblow
  • Magic and Moves are based on sub-actions and ā€œskillsā€ can be learned
  • Deathblow is standalone action, which can be changed to suit your needs (or copied to create new ones)
  • added 3 default Magic actions: Fireball, Thunder, Heal
  • added 6 default Moves actions: Kick, Multishot, Quick Cut, Round Slash, Berserk, Triple Combo
  • Magic and Moves are splitted into different characters to give you the idea how to implement them
  • each action is split into two phases: Selection (what happens when action is selected by the player) and Activation (actual effect of action, deal damage, heal etc.), both phases can be determined for all of the actions separately
  • characters can receive Action Points which can be spent to upgrade actions (just like skill points in classic RPGs)
  • characters can learn, upgrade, degrade and forget actions
  • actions data is stored in the data table
  • added a new tab to World Interface responsible for actions management

VISUAL CHANGES:

  • added new default model for player characters, which is compatible with mixamo animations
  • implemented 4 different classes which use different animations (idle, cast, attack, die etc.)
  • characters will now play special animation when Defend action is used
  • added simple equipment models for each character to reflect their classes
  • added few VFX for impact, moves and magic
  • added new battle map (actually just copied existing one and tweaked some colors)

FIXES:

  • camera transform after the battle will now be the same as it was before the battle

Update 08-10-2018 contains:
INTERACTION SYSTEM:

  • interactable objects (including lootable chest)
  • world enemies (supports bosses)
  • interactable (includng fully working vendor)
  • persistent objects and enemies state (looted chests stay looted, opened doors stays open and killed enemies do not appear on the map over and over).
  • few improvements to support interaction system

Added full gamepad support!
Gamepad controls can be enabled in GamepadControls actor component. Look for GamepadControlsEnabled? in variables section.

Is there currently or will there eventually be any kind of world interaction functionality? Like a system to handle all the things you may want to do in the world that are usually all with the same single button input. For example, initiating conversation with an npc, opening a chest, opening something else like a door or box, inspecting or examining an overworld object, picking up an item in the overworld, and basically all the things jrpgs do in the main world outside of battle- usually all mapped to the same ā€˜interact’ button?

Definitely there will be the system that handles it, but currently I am working on skills/abilites/magic system. So any kind of interaction system will be added next.

I brought the JRPG Template and it’s a very robust system. It’s a little confusing because theres already a ton a components and functions I need to get my head around- but I’m quickly learning how it all links together. It’s alot of fun to play around with. For now I’ve created a simple Interaction system that works with the teleports using a blueprint interface between the world character and any teleports that require a prompt rather then just a simple collision (Say entering a building by interacting with the door). Next I’m going to try and figure out how to apply this same system to picking up real world items and adding them to the inventory manager component, which will be a little harder.
I look forward to seeing how you handle the skills/abilities/magic, that’s pretty cool. I’m curious, how long did it take you to make this Template, because it really does have a lot of stuff in it?

Yes, there are many systems in the template, but they are mostly spread into separate actor components to make management easier. I reckon I will add another component + blueprint interface for interaction system as well, so each object can react differently.
My goal for skills and abilities is to make the system adjustable and expandable. So every user can fit it to the needs.

Regarding the time spent on the template. I am not sure how many hours I spend on it, but it took me a month to create it (working up to few hours after my day job). Also, it took several days to clean and optimize it and another few days to prepare documentation.

Well now that I’ve had time to really play around with it I must say, It’s better then I hoped for, and it does become very easy to build upon once you learn where everything is kept. I do have a few minor issues but they are more personal opinion problems rather then problems with the system itself. Like I don’t like how the World Menu navigation is handled on a controller- it basically requires all the D-pad, face trigger and shoulder buttons which is a bit too finicky for me. I prefer the classic streamlined method of one button being your ā€˜select/open sub menu’ and one being your ā€˜Cancel/Back’ alongside using the d-pad/thumbstick to navigate up and down. I also think that the character select (For swapping party members) and equipment change should be done in 2 separate but similar menus as it would work better with Gamepad overall. Gamepad controls are very important to me because I am a console gamer first, pc second, so I like to use a gamepad with any pc games that offer it.
But yeah besides the awkward gamepad control, (only on the world interface menu widgets, battle and main menu gamepad controls are fine), it’s probably the best attempt of a generic jrpg template I’ve seen made with ue4. I often wondered if you could create such a complex system using just blueprints and tried and failed a few times myself. I’m really impressed that someone managed it, your basically a blueprint wizard lol.
I look forward to seeing how it changes in the future and what other content you release. I highly recommend this template to anyone considering old school turn based rpg combat.

Thank you for kind words Malibu Lizard. I am really happy that you like it and find it useful. t

Few words regarding controller input. I reckon the main ā€œproblemā€ with controller input is that it cannot be as generic as mouse input is. Generally, there are as many solutions as many users.
Everyone would like it to behave a different way (more or less), which will require some personal customization. In the end, people will use their own user interfaces and controller inputs will need to be redone to fit the interface. After all, it is just a template and I hope it will give users the idea of how controller input can be handled.

I think I may give it a second chance at some point and prepare another world interface specifically for gamepad. Existing one is more mouse-oriented and I needed to adapt controller input to it.

Thanks again for constructive reply, it really motivates and helps to make the template even better.

Would you be interested in making a custom version of the template for some money? I estimate the current template already has 70-80% of what I need but there’s a few changes and a extra mechanic for the battle system I would ideally like. Let me know if you interested and I’ll discuss it with you further.
If not, no worries- as I said the template already covers most my needs, and by the sounds of it your next update will add even more of what I need.

It depends on complexity and time needed. Sent me PM or email so we can speak about details.

A new update is on the way! It just needs to be polished a little bit more!

For now, enjoy short teaser showing new actions (Magic and Moves).

The new update has been sent to Marketplace team. The new playable demo build(see first post) is available to download with updated actions system.

During the weekend I will prepare tutorial(s) how to use action system and how to add your own actions/subactions.

The whole update is rather extensive because it contains new characters models with animations, simple vfx, few fixes and other stuff. I will write short update summary once the update goes live.

The new update is live!
It has brought many new things to the template but also several changes. So if you have already added tons of stuff to the project on your own, you may not want to overwrite your current version with new one. Changes mainly occurred inside BattleManager component. Other blueprints were only improved or not touched at all.

Make a copy of your project before applying the changes from the update. Just in case so you can roll them back.

I’ve been testing your update since you released the demo, trying to purposely find glitches and bugs in the new battle system… and I couldn’t find any so far. I did find a few details that I wasn’t sure about though that I want to ask about.
Firstly, I noticed you can’t use a potion to heal a KO’d party member during battle, but outside of battle you can. I don’t know if that is intentional but it seemed a bit weird that you can use potions on KO’d party members at all since most rpgs require you to revive a fallen ally first before you can heal them.
And the second thing I noticed was that I don’t quite understand the ā€˜Berserk’ skill you’ve demonstrated. Specifically why it says ā€˜X-hp, X-mp’ even though it costs nothing? What does the HP,MP cost mean then?
Lastly, is it intentional that when you level up, your max hp raises but not your current? I just thought it was strange when my team all had 100% hp, levelled up, then they all had HP missing because it didn’t rise with the max.
The new moves system is interesting. The whole up-gradable abilities is something I never even considered. Well done for getting so much out so quickly, and all in working order too!

Hey Malibu Lizard,

  1. You shouldn’t be able to heal KO’d members using potions, most likely a little bug slipped in. Will fix it.
  2. I reckon I just missed to hook up ReduceHP and/or ReduceMP function when Moves are used. Will take a look at it and fix asap. (Berserk skill itself just changes a boolean variable in CharacterBattleStats, while it is true, characters basic attacks deal more damage)
  3. I didn’t think about it, but it makes sense to ā€œhealā€ character up for the amount the maximum HP/MP increased, especially when leveled up. Will add a little function to change it.

Thanks again for the feedback!

This looks really good!! I’m not sure if I’ll be able to download/buy it myself since I’m making a turn based JRPG for a college assignment (which I’ll then work on in the future to make a full game: I’ve got 2 weeks left and still struggling to make a random encounter system) but would you consider making some tutorials for basic features like the said random encounters or beginning a battle/transitioning between levels? Or essentially a set-up on which people can expand upon using their own creativity? This would be really helpful but it’s alright if you can’t due to perhaps losing out on some purchases (depending on how much info is in the tutorials)

Hello DanF2000,

I considered making tutorials for different stuff but I ended up having nearly no spare time to do so. I wouldn’t be satisfied doing 1 tutorial a month. Not to mention I am not the best videomaker.

But I may be able to give you few tips that help you to deal with the features you need. Shoot me an email!

Thanks and that’s understandable. I’ll send an email around midday tomorrow since it’s pretty late here and I’ll hopefully have a bit more info tomorrow (asked a few questions on some other forum posts)

Actually, I just found your documentation and i was wondering if it’s alright if I could use a few points in that to help me make my own JRPG? Basically it looks like a written tutorial (kinda) which is what I’ve been looking for for the past 7 weeks or so! :smiley: If so, thank you!

Documentation is tied to the jRPG Template so it may be hardly understandable without the project. But if you can make use of it, feel free to do it.