So you've just finished your first game, or perhaps you retain some fond memories from completing your first piece of shit barely functional pong clone created in your misspent youth? Come share your experience, what you learned, and what you would do differently.
Not including the awful text based games we've all dabbled with I just completed my first game where I didn't just simply follow a tutorial. Bow down and behold my marvelous Tetris clone Falling Blocks. Take my word that it doesn't contain any viruses... or don't; it's an awful game and you're not missing out on much by not playing it.
The whole experience was mostly smooth having already touched on most areas of programming other than the graphical part. That being said drawing shapes onto a screen caused me more grief than I anticipated. I worked with the Libgdx framework hoping to publish the game on android devices but having rendered the shapes onto the screen in pixels opposed to fractions of the screens dimensions turned out catastrophic.
Creating my own game from scratch taught me more than any tutorial or article ever could. Even though at first I doubted my abilities to create things such as basic collision checking algorithms it proved to be not as daunting as I initially thought. Although it's such a basic thing I realized that I hardly even had the ability to think; being forced to sit down and create my own algorithms really strengthened this fundamental skill.
If I could have done things differently I would have first completed the boring parts of the game such as the menu screen and basically anything that isn't the game play itself. Having created the actual game first I lost nearly all motivation to even remotely finish the other features that normally come with a completed game. It was a real struggle to put in simple things such as the score bar from the lack of motivation so that's my tip to all other newbies; finish of the boring crap first or you're likely not to include it at all.
How was the whole journey for everyone else?