So I've started working on a game, essentially a tile-based RTS-type thing using Java and LWJGL, and I'm having a pretty big issue: I can't get anything done.
For starter's, I can't figure out where I wanna start. "Do I want to start with the display/graphics system?" "Maybe the logic?" "Or how about the input and event systems?" "Maybe I should go back to the drawing board and diagram everything out." "Diagramming takes too long, just a sketch." "Forget it, I'll just jump straight in."
And then there's the infamous, "Okay, new idea, better scrap the whole thing and start again."
Basically, I'm finding my head being a clusterfunk of ideas and can't seem to find a good place to start without getting bogged down. Does anyone have any advice for dealing with this?
It sounds like a typical case of analysis paralysis. The solution? Implement something simple and extend it later. So you're wondering whether to work on the graphics, logic (I'm assuming you mean game update logic), or input/event handling? I say, work on all of it. Build small pieces of each and keep iterating.
I think fir is right: start with your game loop and draw some basic things (the world plus a character in the world). Then implement a basic input handler to move the character. Start with basic keyboard input (arrow keys) and then extend it to use mouse input. Try to add something new every day you work on it, even if it's a small feature.
It is good to study design patterns, but don't start with the pattern--this is the wrong approach to building things. Instead, just start building the thing and make abstractions when it seems appropriate. Patterns will emerge over time with refactoring.
It's just like Lego; just keep building and don't worry about change. Be prepared to scrap large chunks of what you have built and replace it with something better/stronger/nicer looking.