Hi all, I’ve wanted to get into game development for as long as I have been programming, my first language is Java so I prefer to program in my native tongue, even though it probably isn’t the best choice for game development in general. Aaaanyway to cut a long story short, I want to try and make a solid and robust game version of the card game Rummy (similar to Gin Rummy). I’ve been hammering away at the project for a few months now, and during that time I have learnt a few things - mostly how little I know about programming games - but I’ve become familiar with all the basics, and how to implement them in Java - writing a “game loop”, double buffering, BufferedImages, etc.
My real problem is trying to settle on a broader design for the system. What I want is for it to be nice and flexible, so that I can play around with adding new features to it in the future (I’m thinking of writing several different types of AI, a replay feature, possibly a network multiplayer option and maybe eventually a multi-game server). This means that the design needs to treat each player in the game as abstractly as possible, and hence taking player input as abstractly as possible.
I’ve looked at a couple of tutorials from cokeandcode.com, namely the space invaders and asteroids 2D tutorials. I’ve also been studying the MVC design pattern and how this could work, and also the Entity System that is hailed by some as the saviour of game programming. I’ve attempted both of these but each time I try and refactor the code it seems to collapse in a muddy heap. It’s getting to the point where I feel like giving up altogether as every time I try a new approach it seems to fail before I’ve even finished writing it!
Sorry for the longwinded post, please feel free to reply with a one line comment that I need to “go and buy this book”, because I imagine this kind of question is asked so frequently that one might as well write a book on the subject.
A confuzzled newbie :-\

