Software Design of small game?


this is somehow a general question to how to design my software. I’m having no troubles because the designs seem to work but maybe some of you encountered problems later on and can give a recommendation of what is good and what not :slight_smile:

so i have some pickups which spawn effects(buffs, debuffs) on players. Pickups and Effects also spawn FX Actors like particle systems, audiocomponents.

first idea was to make everything to a class. So PickupBallSpeed has FXPickupBallSpeed and spawns EffectBall which has FXEffectBallSpeed. Every asset could then be put in the constructor. its very wet (we enjoy typing).

Second idea was. I have one class Pickup, Effect and FX.
Now i have a Singleton and my own constructor function like an init function. There is a big factory class which can put things together and loads everything from a singleton. So the Effect gets the FX Actor which is also build. its like a big switch case and then loads the according Particles and stuff it needs.
This looks more like a component based approach to me.

Both things work. but its often said, that everything that references assets is good to be a derived blueprint from a class. Could i get Problems with the Singleton? ATM 100% of the assets are loaded when the singleton is created.
I’m just a bit confused. btw I’m working alone and i don’t care to code everything and don’t use BP at all. :slight_smile:

thank you for helping out :slight_smile:

answer for myself:

  1. do whatever works
  2. implement and then make it beautiful if its chaos.
  3. go for many classes. this makes the constructor easier to handle when there are static things
  4. do it fast