Thank you a ton! To answer your questions:
- For this project, it appears we just had a parent enemy that is shared among all the enemies. Carson and I built this game a long time ago, so trust me when I say that I overuse parenting now haha.
- For character knockback and movement, we used GameMaker's built in speed and direction system, simply modifying the direction and applying force. I would not recommend doing this, as it created many of the bugs present in current Grim Fantasy, such as enemies disappearing when they clip into walls.
- For our weapons, all our weapons spawn a projectile on click. That projectile differs based on it's type. For melee weapons, it spawns that slash, which is a separate object entirely that deals damage to enemies.
Sadly, Grim Fantasy's codebase has fallen insanely out of date after the game jam. I don't support any of our coding methods above, as now I tend to write my own movement systems, and I overuse parenting haha.
When it comes to making the game in such a short time, I can effectively say we just rushed the programming side and pumped as much content in with minimal systems. That being said, once again this is older methodology that I don't agree with anymore. Our systems were't modular or expandable in the slightest, and changing how a system worked for one object would require us to change it for all of them.
I'm sorry I didn't have super great answers to your questions, but I hope this somewhat helped! :)