So here's the story. I've been at this for years. I've started many projects, but I have failed to finish any of them. I bounce from idea-to-idea and from language-to-language.
Ive started on bullet hell games, a breakout knockoff, an asteroids knockoff, a 2D tactical game, a 3D tactical game, and now a twin stick shooter.
Long story short, finishing a game is damn hard. It's so easy to bounce from one thing to the next, but you never get anything done this way. Believe me, I know.
Sure, I can blame changing jobs, homes, new children, and numerous other things. I know what it really is though. It's my lack of discipline that's the problem. I have the capability, and the tools and information are there. I just need to stick to it and go through the process. I feel like after I get through the first one it will get easier to finish another one.
I am now good at getting games started, but once I get to a certain point, I don't know what to do. I've never developed even a basic AI. The closest I've come is with an asteroids clone, where each time an asteroid is hit, it splits into smaller parts.
I have been working on something a little bit, but it's in the very early stages. I'm trying to get gamepad controls working the way I want, and I have basic movement for non-player objects working (yay, trigonometry!). That's pretty surface-level stuff.
Right now, I'm trying to think through ways of generating content when I need it. The problem comes in when I'm dealing with a content pipeline at the game level, but the object is 3 levels removed from the game scope. Take a bullet for example. A bullet is a projectile, a gun has a projectile, a gun is a weapon, a player has a weapon, the game has a player.
Without properly designing my code, that gets really sloppy and unmaintainable fast. I would have to send down the content 3-4 levels; not to mention the variety of weapons and projectiles. I already plan on using a factory pattern when going through this, but that means the factory will need all of my textures for whatever it creates. On the bright side, the gun doesn't need to care about the details of the projectile. It just needs to know the ask for the right kind of projectile!
When I have more, I'll add more design information here. I'll eventually have to get into star management and handling transitioning between levels, and bosses, and so much more stay tuned on that front.
I got side-tracked, but I'll round this out now. I have yet to finish a game. I just need to do it. I need to go deep and hit the floor before going for breadth. Ultimately, I just keep thinking this, "a released game is better than an unreleased game." I need to learn to accept that things won't be perfect, and honestly good is better than perfect. I feel like perfect never makes it out the door.