Download

Questions about my Game Logic

Hello everyone,
I’ve posted this on the Hub too, but I think it makes more sense to put it here.

I’m 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/s…33556016754695) 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 (I tried this, but I need to fire the controllers first before I can get a ref to them). 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:

I currently think this makes the most sense:
-The MyCharacter_BP will have a lot of similarities in tasks to the NPC’s (workers), maybe there is a better way to organize this?
-If I’m going to possess the RTSCamera I want to destroy MyCharacter_BP. So I expect to save as much info in the main_controller

Any help or remarks on this logic is highly appreciated!
Thank you in advance, Lino