Heyo guys, I have a question about the most optimal solution when it comes to developing games in an object oriented environment (C# atm - I'm trying to go with C++, but I still have a long way to go...)
So, I'm having a base Unit class. The question is wether I should add a string or enum marking the type of the unit -in this case I'd use functions to create the proper unit-, or create inheritors of the base class, then create instances. I'm the units will have different damage reduction functions, though I can solve that as well using delegates.
Also, I've heard that you should try to separate the graphics from the rest of the game, so it's easier to maintain and port. But in case of a 3D game (I'm not trying to do that anyway, just out of curiosity) how can you solve this, when you need the 3D engine to handle collisions?