Some Diversions
I've got multiple games that I'm working on, including a couple that some people at work wanted to work on with me.
But I'm not going to worry so much about those during this competition for two reasons:
1. I don't know how much they're OK with me sharing.
2. It's questionable if we're actually going to make any real serious progress. We've been talking about it for probably 6 weeks now and haven't done much of anything yet. I don't want my plans to publish a game this year to be dependent on other people.
The Game
The basic premise of the game I'm working on is a card game in digital format where you gather together body parts (arms, legs, heads, torsos) and then play a Lightning Strike card to bring your creation to life before your opponents do. You can gather equipment to help you on your quest, and get minions such as Igor to assist you in your exploit.
The game is not especially novel. Basically, it is this game. I plan on tweaking things rather significantly, but the general concept will remain the same.
The goal would be to publish this as a game that you can play with your friends over the network.
The Framework
But more important than the specific game itself, the true goal is to build a framework for making custom card games.
In the work I've done so far, this has proven to be an incredible design challenge, both in the sense that it has been fun to try to wrap my mind around, but also in the sense that I can't say I've ever encountered such a complex design problem in my life. And I've dealt with many, many hard design problems in my life.
To sort of illustrate the type of problem that this framework needs to be able to address, consider the card called Virulent Disease, which injects the rule, "At the end of each player's turn, they must destroy (discard) a minion ("staff") they control. If they have no minions, destroy Virulent Disease." This adds in an extra step to the game where this condition must be checked when the game reaches a particular stage (ending a turn). If the player has a minion, it needs to allow the player to pick one of their choice and discard it. If not, the Virulent Disease card itself gets removed from the game.
Or perhaps this other one called Doberman Legs which can't be played unless another card called The Hound (a minion) is already in play, in which case that card gets discarded and then Doberman Legs can come into play. To complicate things, you typically need two leg cards, but Doberman Legs counts as two.
The design issues around this are complex. Taking even just that little piece of the puzzle at the end therethat Doberman Legs counts as two legswould seem to adjust how you account for win conditions. Instead of just seeing if there are two cards with the type "Leg", now you have to account for some sort of point system where normal legs count for one, but this one unique card counts as two.
To make the framework work correctly, you don't want to have to change literally every other card in the game because you want to introduce the concept of a card counting double. It would be best if you could do so by simply changing a property of just this card, though perhaps a couple of small tweaks to the win condition rules, or perhaps adding a single additional rule that basically states, "Any card that has the type Leg automatically counts as 1 leg unless otherwise specified."
To complicate things, there is close to nothing that all card games have in common. Some allow you to reverse directions of play. Some let you work in a team. Some have tokens, markers, and other components to the game. Some allow you to roll dice or flip coins to determine outcomes. Some are simultaneous turn-based games. Some allow people to play "reactions" to whatever the active player does. All have different win conditions.
So the true goal here is to build a system where creating new card games (even if it's just a prototype) is easy to do.
For example, if I could build this Monster Creator game, a Programming card game of a similar ilk, Eminent Domain, Dominion, and a collectible trading card game (minus the actual collecting and deck-building features) such as the Pokemon Trading Card Game, then I've almost certainly built a system that would allow people to build any game they can dream up.
It also opens the possibility of making an AI player that can detect strategies, and point out winning strategies and overvalued or undervalued cards. This could make it a valuable tool for refining game mechanics, and could allow me to go to card game designers and do consulting work to help balance the game using my little framework.
The framework could someday be expanded to handle all board games, but that's not a design goal right now.
Of course… now I'm getting way ahead of myself.
I should probably let the pessimistic side take over for a bit.
This is such a complicated problem that I reserve the right to bail on it and work on a different game. Right now, I'm having a ton of fun with it. A few weeks from now, I might be tired of it with little progress to show. Only time will tell.
Goals
In terms of goals for the Spring competition, I don't really have a good way of guessing how far I'll make it. I could honestly spend the full time in pure design mode and not do any programming, aside from some prototypes to learn the right lessons.
My goal though was never to finish this in the 31 day competition. I hope I can finish something meaningful (even if it's just the Monster Creator game) by the end of the Summer competition, which gives me 100 days. But I also won't be too brokenhearted if that's a bust too.
As I've encouraged others, I feel like it is more important for me to focus on process goals, rather than some big target (like build some feature set X before deadline Y). I'll adjust my goals as I go, but I suspect I'll have something like the following 4 goals every sprint (week):
1. Run every day (perhaps 6 of 7 is enough).
2. Do some programming every day (30 minutes/1 round in the chat room?).
3. Get 8 hours of sleep every night.
4. Do X hours of total development during the week (very likely to change from week to week).
I'll post my specific goals week by week, and an update on what I've accomplished in this thread.
Achievements
I'll post achievements here.