Making a JRPG System


So far I’m planning to pratice on using UMG. So I’m planning on making a basic JRPG game.


I’m starting on making the menu system. The one thing I had trouble thinking on is where is the menu is going to get it’s data from. I decided for it to get the data from the Gamemode as it’ll act like the Dungeon Master of the game.

I will usually stream this on twitch, so come follow me if ya’ll want.

Subscribing to thread as JRPG implementation is pertinent to my interests and current project.

Looking good so far JvtheWanderer. There are several Inventory Systems in the Marketplace, but 0 JRPG Battle Menus:(

I’ve taken the plunge into UMG as well. I started with the UMG Inventory Tutorialto get a grip on the Blueprint communications required as you’ll most likely need to communicate data between various Blueprints. This answer may help you determine the best location to get data from for the UI. I’ve elected to get data from the GameInstance, replicating whats needed from other Actors.

UMG’s Parenting system allows for some nifty experiments with composite gadgets. Due to this flexibility, I decided to deviate slightly from the Traditional JRPG-Style menu (ala Final Fantasy) designing a Speed menu that emphasizes vertical scroll button Lists. I haven’t started building the menu yet, pre-viz’ing in a presentation app (open office impress/powerpoint). The current Speed Menu on the drawing-board is comprised: Widget Switcher, Scroll Box, Uniform Grid Panel, Button.

When I get something tangible ill post a vid worthwhile. Please keep us posted on your progress.

I’ve been asking about how to do persistence between levels to implement a traditional bimodal transition system (moving between exploration and battle). Gamemode was suggested a few times, but I ultimately tried GameInstance as TechLord has suggested. I’m not sure if it’s the best way, but it allows me to pass parameters between the two distinct levels.

Here’s some experiments I’ve been working on for transition and menus:

edit: I have a Github repo in case anyone wants to see the current implementation or wants to contribute to the project. Pull from the develop branch to get the latest.

Are you using Blueprints or C++ ?

Also subscribing for the win :smiley: JRPG is love :smiley:

I’m Doing it all in BP.

A small update. I working out on a party system.

It’s not a soild party system. I’m getting info that is in the level instead of getting them from somewhere else but it’s good for visual on where I’m going with it.


So I Took tecklord advice and made the game instance store the party info and inventory. I’ve also worked on making stack up on pick up and show more detail from the party’s data. The way that the UMG is getting data is from the Game Instance itself.

Man keep going like that and you will put RPG Maker out of business soon :smiley:

Wish I had time or know-how to help you. **** it !

OK! So I’m pretty much trying to sort out my thinking on Data management and Draw out a map of what I’m thinking.


What This map show is When the game is starting and loaded the Game Instance (GI) is fired of first. The GI gather Data from different Data Table And store them into a each of their own Struct array. Once the GI is done the And all the Actors (Actor, Pawn, character, player controller, Ect…) fired off Game Mode (GM) get fired off and Gets references from Game Instance, create a Main menu Widget and reference it as well.

When the Player Opens up Main menu from GM Main Menu will ask for GI Certain Struct Array (Inventory Struct array, Party info Struct array, Etc…) so it will display to the player.

When the player wants to change Something in a certain Struct Array (Example: Equip a weapon in inventory to character and equip that Character’s Current weapon to the inventory) it would first go to GM in which will tell GI to Change info in the that Struct Array.

So far this is my current thinking and I’m now trying to implement it in BP.

I’m a visual code-centric game dev as well… I like illustrations:)

I would like to offer or commit the Universal RPG Attribute Base Class]( This BP Class was inspired by several Universal Pen & Paper RPG Character Sheets (like GURPS), which in the simplest form, is a Tree Data Structure of Keys/Values. All Character/Creature Attributes, Skills, Spells, Weapons and Armor can be represented by a Tree of Key/Values. RPGAttributeBase takes in consideration that in Computer RPGs: 1) Icon images, other media, and logic need to be associated to an Attribute; 2) Attributes need a mechanism to communicate to other Attributes to invoke an self, relative, group, and global events.

Please review and advise if its suitable for the project at your leisure. Thanks for your time.

PS: Being a visual game dev, I had to change my in-game font to suit the feel of the game and stay motivated. Here you can find 1001 free fonts and import into UE4 with ease.

I wish I understand how your blueprint works. I can’t seem to understand it.

You could trade ideas with Nathaniel3W over on the UDK forums…

In the default state it doesn’t do much and I haven’t built any functionality yet. Its an abstract class to derive other attribute classes from. It basically defines a set of variables to hold the Attribute Key/Values. I could have store these in a User Defined Structure, but, I elected to use a BP Actor Class for greater flexibility. As a Actor Class, I can do some fancy stuff: 1) Provide functions for self management/update, 2) Use Event dispatchers to invoke multiple actions, 4) Add Audio/Visuals Components, 4) Finely tune Network Replication. For intense purposes its experimental and may not be suitable for the project, but, we can compare notes on Attribute implementation.

That all good and all But how Exactly. I understand it’s a tree data structure, but how do I work with an abstract class with blueprint? Edit: Give me an example of it working I mean.

[TABLE=“width: 0, align: center”]

**1. **Create Blueprint based on the RPGAttributeBase
**2. **RPGAttribute Child
**3. **The Child Inherits Vars, Functions, etc from RPGAttribute

This RPGAttribute_Child Class represents a Character Attribute, Attack, Spell, etc so you can rename it according ie: Stat_Strength, Magic_Heal, Attack_Stab,etc.

Create hierarchies of Stat Trees, Skill Trees, Magic Trees, Crafting Recipes, etc by *linking *Attributes to other Attributes with the Relative Variables. You could keep it simple, or go complex:


I got the Equip menu working.

So far I’ve been using Game Instance to store data. I been also using it to change data when something happen.

Hey I loved your party choice. So who is tanking ? :smiley:

Hey Looking really good JvtheWanderer. I think you have a very unique type of JRPG Menu there. Its pretty much game-ready with change of Font and larger custom mouse pointer. Although, you may want to add more stuff, the amount of transparency gives it a less intrusive feel…I think. I’m reconsidering my design style now. Keep up the good work.