SVG games rearchitecture

I have done a major re-architecture of lib-gwt-svg-edu, my educational game project. You can see the results here.

The project had become too big to fit under the umbrella of a single maven project: it was slow to compile, the various games where tied to one another, and adding more games seemed problematic. So I bit the bullet and decided to re-architecture it. I split it into several independent project:

lib-gwt-svg-edu-commons
This is a library to group miscellaneous classes which are reused in the games.
lib-gwt-svg-edu-dots, lib-gwt-svg-edu-puzzle, lib-gwt-svg-edu-push, lib-gwt-svg-edu-maze
These are the game projects per se. They can be run independently or as deferred GWT modules integrated under a root portal GWT application
lib-gwt-svg-edu
A desktop oriented portal application

Here are the benefits of the new architecture:

  • It is much easier to add more games
  • You can work on just your game and focus on it without being bothered by the rest of the project. Notably this has enabled me to do some work on lib-gwt-svg-edu-maze and it now works beautifully on Chrome 7 too ! I hope I can port the other games soon, or at least file more Webkit bugs as I get better understanding of why they do not yet work on Webkit based browsers.
  • There is a potential to reuse the games in more environments. I plan to make plasmoid and Opera widget version of the games. I also would like to develop a new menu to target mobile devices.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>