Hi there, I've been reading this forum for a few months and find it very interesting and helpful. Right now I'm working on my first game, a simple top down twin stick shooter (3D graphics with 2D gameplay) and I have some questions regarding coding structure. I want to keep the code as clean and flexible as possible to have the possibility to add more complexity and variety later on. I already have basic gameplay, but I think that now is a good point in time to think about organizing everything a little bit better. 1. How should I structure my code files? Right now, I want to implement the following things: - enemies that can shoot and move with various weapons moving patterns. It may not be surprising, but they can also be destroyed. - player ship that can move and shoot and be destroyed - Stationary Turrets or enemies that can spawn other enemies Is it a good idea to have one script for everything enemy-related like enemy movements, being destroyed and shooting? Or should I rather have one script for enemy movements, one for shooting stuuff etc.? Or completely different? I know that there may be not the one correct answer, but with your experience maybe you have some good ideas. 2. Regarding enemy movements: later on I want to implement various movement patterns as going straight to the player, circling him, flying away from him, moving in sine waves etc. How do I structure this? Should I have one class for movement and decide from a variable that is set different for each enemy type which kind of movement it uses? Like (pseudocode): If movementPattern==1 fly straight towards player ship elseif movementPattern==2 fly away from player ship Or is it better to have one class for each movement pattern? 3. Do you know any good tutorials for twin stick shooters that do a little more than a ship and one enemy type? I'm really looking forward to your answers. Please excuse any mistakes, english is not my mother tongue.