Things I would like to do:
- Build a single-player game for Set (probably in VB);
- Learn how to program Java servlets;
- Learn how to apply XSLT;
- Get to grips with more technical algorithm stuff.
For single-player Set, time is the most important scoring factor. Other scoring factors are number of invalid sets and the number of missed sets.
The player is presented with 12 cards and selects sets by clicking on the cards. If the set is not valid, the player gets a point in the 'invalid sets' score. If the set is valid, the cards are removed and replaced by three cards from the stack. If the player thinks there is no valid set in the 12 cards, he presses a button and three more cards are presented to him. If there was a valid set available in the set of 12, then he gets a point in the 'missed sets'-score. Perhaps a point for each set that was present (even if they would have some cards in common).
At the end, the score is the time taken to get through the whole stack, and the two point-totals -- less is better. Would that work and make a fun game? It would probably re-create a bit of the frantic pace of the multi-player game.
So, I'm thinking of coding Fist of Dragonstones into an online game. Using servlets, just because I can. I've already got Tomcat working and I've written a servlet that connects to a local MySQL database. So basically, all the technical hurdles are taken, now I "only" have to program the game.
Of course, I will need to have a design for the game. At first I was thinking of coding the HTML into the servlet, but that's ugly. And then it hit me: I could have the servlet spit out XML, and use XSLT to turn that into the site design! That would make for a handy separation of programming logic and design, and would combine two learning goals into one project.
And what about a recommender system/collaborative filtering application for anime? There was one some time ago (and it did work pretty well), but it was shut down because of overwhelming popularity.
Oh, and I have to finish up SkyAmp one of these days...