Hello everyone,
New to Blueprinting, so I wanted to check and learn if my logic on how I want to create my game makes sense.
In short: I would like to create a hybrid between RPG/RTS. To keep it brief: the player can harvest items with the main character (RPG-Third Person Camera) and switch to an RTS camera to assign NPCs to do the harvesting for him(AOE-style). Later I want to upscale this to building a village and for the player (Thirdperson camera) the possibility to explore and have dialogues with NPC’s.
What I have currently: I have a working switch between the camera’s and can harvest items (https://twitter.com/LinoDriegheArt/status/1329533556016754695) but atm. I did not pay too much attention to the logic of having a controller and or pawn/character class.
So at first, I was thinking about the following logic:
A general controller to change the views and separate controllers to control the RPG character, the NPC’s and RTS functionalities. The problem (if that is a problem?) is that I want to do some Harvesting with all three controllers. I can make references to the harvest class for all of them but there might be a better way to handle this? I do like that, with the three separate controller classes, the keyboard and mouse controls are nicely organized
To give you an idea; this is the Harvesting code. So in each controller, after a mouseclick (RTSCamera_CONTROLLER), keyboard input (ThirPersonCamera_CONTROLLER) and the NPC_CONTROLLER, I would call the ApplyDamage event:
So I’m having a couple of doubts here:
-Where would be the best BP to handle the resources? All three controllers harvest, so the logic is to organize the resources in the main upmost controller?
-The Player character will have a lot of similarities in tasks to the NPC’s (workers), maybe there is a better way to organize this?
-I do know that I don’t want multiplayer sessions but I work with a MyCharacter_BP because I would like to destroy it when I switch to the RTS-view.
Any help or remarks on this logic is highly appreciated!
Thank you in advance,
Lino