Same Character Different Roles

Hello everyone this is my first time posting a question but i reached a point where i am stuck so hopefully someone got an answer to what i need.

First of all ill explain what i have and what i am trying to do
I am currently working on a Multiplayer RPG Game and its almost at its alpha stage but i am still stuck on this

If any of you played a game called Free Realms before it closed then its gonna be easier to understand

Currently i want The player to be able to create his Character and join the game, after that the Character has different roles that they can switch around at any time.

For example Archer, Warrior, Ninja, Racer, Adventure(default)
And each role has its own Level, Inventory, Powers, Attacks, Armour and Clothing, Quests, UI’s.
When players are in the open world they can be any Role they want and walk around showcasing their roles and special Equipments and such and in Specific worlds they will be automatically forced to switch to a certain role and Stay in it till they leave that world.
When they are going to Dungeons i want each type of dungeons to be playable in only one type of role depending on the Dungeon itself.

If any of you search Free Realms and look at the inventory system you will see that they can easily switch between Roles to view that inventory.

I know this is a complicated system but a little bit of guidance on where to start splitting the characters and how to make it possible to switch between roles and such would be helpful.

From what i have researched is to start by Creating a Main Role and copy pasting it and limiting Inventory,Stats and etc to that specific role for example NinjaInventory or NinjaLevel and to make it possible by a key switch to Change to Ninja which will trigger NinjaClothes NinjaLevel NinjaQuest and so on. i havent tried it yet because again i dont know where to start Splitting and how can i make. it possible to Put Adventure as a Role and Copy Paste That.

If anyone can help it will be Amazing <3

This is the beauty of game dev. Sounds like you have a lot of logic execution to figure out. You can add components to your character in mass for all the different weapons and clothing and backpack and such and use nodes like “set hidden in game” when they aren’t in use. This eliminates draw calls for components not in use, so you can add a ton of them right in the viewport. Use “Set Visibility” in the same way, but you are still drawing calls when using that.

Use branch nodes with booleans to switch betweens “roles”. Like a key press that sets something like “IsArcher?” To True and all the other roles to false. Hide all components not relevant to the archer with “Set Hidden In Game” and another node of the same type for your bow and arrow to show them. If you have firing mechanisms for different weapon functions you can just switch off those branches depending on the boolean to run your desired logic.

You can use master pose component for modular skeletal meshes. You can swap materials, skeletal meshes, static meshes in real time to change anything you like with a simple key press into your logic, just branch off to the desired logic.

2 Likes

It might even be a good option to use an enum for the role. So you can set the enum to whatever role you want the character to be right now, and update all your components (as @Humanasset described) accordingly :+1:
This way you can also make sure there aren’t multiple roles active at the same time :slight_smile:

2 Likes

Thanks for the Reply !

What i meant is the world is Almost finished but as in systems and post processing there is still allot of work.

I will look into what you Suggested, Thanks !

Yes i have researched this before and i found that using Enum is the safe way

1 Like

I am experimenting around and i’ll for sure try out your method very soon and keep you updated, the multiplayer part is tricky but ill probably figure it out. Thanks for the hlp

2 Likes

Inventory System
Hello Everyone here is a basic idea of the Inventory i am trying to make, currently i made a static inventory, now i am trying to figure out how to make the inventory create a slot and put the item in it and when the item is removed then it will delete the slot.
Also once the page is full it will create a scroll bar so you can scroll down around your items.

One more thing is when a person presses on Shoes i want it to display only the shoes and same thing goes with if they are in class Ninja then only show Class Ninja Shoes.
The items in game are all classed as Types (Shoes,Shirt,Weapon) and Classes (Ninja, Archer, Adventure) but i dont seem to find the way to make the inventory display the Specific Class and Types.
If anyone knows anything that would help please let me know