> > |
Well, we just imported CoKe's game of hearts into the production server. There were a few bumps along the way, but nothing too major. In the process of importing it, I thought of many ways that lilycoreDB could be improved wrt writing games. And I'll probably forget most of those before I ever write them up for the RevampGameSystem page...
However, here is one tip that any game-writer should consider, even if we never get to any major revamp of how games are handled:
- Early in the development, support a way to play "random moves".
The game probably has to come up with a list of valid moves anyway (to make sure players do not make INvalid moves), or have some algorithm to determine valid moves. So, just provide some way to tell the game to pick a valid move at random. Near the end of my work on importing hearts, I added /play auto and /pass auto to that game. It made it much much faster for me to test the minor fixes I was working on. Sometimes you won't hit a problem until an entire game has been played, and it can a long time for some one person (ie, the programmer...) to play the whole game. No matter how many times you tell yourself "Oh, just pick some random card", you'll still slow and think about each move. It's much faster if you can just "click on window, paste /play auto command, click on next window, paste the same command, click on next window, ...". I am sure I would have saved myself at least day or two of testing-time if I had implemented that "random move" feature earlier on!
-- GaranceDrosehn - 07 Jan 2006
|