Hi Maikeru Jackson, I’m happy to hear you like the asset! There are a lot of different questions in here and some of them are quite complex, so lets start with one and take it one step at a time.
So if you want to create 2D minions there are several ways to go about this. The Roguelike Deckbuilder Toolkit is designed so that the visuals of minions (called Puppets) are kept separate from BP_Minion, which takes care of the gameplay logic. One of my reasons for doing this was precisely to make it easier to swap out the visuals with something completely different, like 2D sprites. So here are the steps to setting up a simple sprite based minion:
First create your sprites. I used some I had made for ATBTT, another one of my assets:
Next, you need to modify the minion data tables so that they can hold sprite data, which are based on the FMinion struct. When changing values in blueprint sturcts Unreal Engine can sometimes be buggy and break some references that take time to set up again afterwards, but if you do the following you should have no issues:
- Save your project
- Open the struct you want to modify (FMinion in this case) and add the new value you want (a sprite variable in this case)
- save the struct and only this struct
- exit Unreal engine. Do not save anything else when prompted
- reopen Unreal Engine and all references to this struct will have updated appropriately
This is related to an engine issue with blueprint struct and is not specific to this project. Should save you some potential debugging headaches. Ok, after that digression let’s add a new Puppet.
Make a duplicate of BP_SkeletalPuppet. I’ve called mine BP_SpritePuppet.
Delete the skeletal mesh component. Add a new scene component (with a neutral transform) and add a sprite component to it. Change its transform until it looks right. Here is how I did it:
Next, add a node that sets the appearance based on the minion data:
Next I added a simple way to animate the sprite. Just a simple timeline that moves the minion up and down smoothly, triggering any animation events midway and signaling the end of the animation afterwards:
This is an extremely basic starting point, but should get you an idea of the events you need to call to have this interact properly with the action system.
There is a lot of stuff from the skeletal puppet that won’t work with the new paper puppet so we cut out a lot of stuff. The final event graph looks like this:
Next add some minions that use the new sprite puppet and have a sprite assigned (I added a similar one in DT_Minions_Heroes by duplicating Warrior and swapping the puppet and sprite):
Lastly add the following to the monster track. It will prevent a sliding animation at the start of combat:
Add your new minion and hero to the appropriate variables in the Game Instance and you can test the Arena map.
Let me know if this works for you and if it approaches what you have in mind. Then we can take it from there.