This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Saying "I want to write a game using struts" is like saying "I want to build a house using an axe". While an axe (or struts) are fine tools, you don't define your project by the tool you want to use. That is 100% backwards.
You decide what you want to do (i.e. build a game). You then should start designing the game, and only THEN decide what tools you will need.
I know nothing about struts - they may be ONE OF the perfect tools for doing what you need to do - but don't start off by defining the tools you will use.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors