Post subject: Board game concept: Magewar
Joined: 7/2/2007
Posts: 3960
This is a board game concept I'm in the early stages of poking at, and I'd appreciate any feedback you all have. Each player plays as a mage attempting to defeat the other players in a last-man-standing duel of cunning and wizardry. The game takes place on a hex grid; each player can, on their turn, move to an adjacent hex grid, and cast a spell. Casting a spell involves choosing a spellcard from their hand (each player has an identical hand), putting it face-down on the table, and putting a d6 on it as a timer. Most spells also require placing a targeting token onto the board; the targeting token is matched to the d6 by color so you can recognize each. Each turn, the player then decrements the d6 on the spellcard; when the counter hits zero, the spell activates. So for example, on my turn, I decide to cast a fireball at you. I have three different Fireball spells to choose from, with varying casting times and levels of power. I choose the 2-turn version, put it face-down on the table, and put a d6 on it with the 2 on the die facing up. I then put a targeting marker on a hex near you. Two turns later, if you're in the targeted hex or an adjacent hex, then you get hit by the fireball and take damage. Now obviously, in this simple example you'd see the spell coming and easily be able to dodge it. My plan is to have enough different kinds of spells and areas of effect that the game turns into a bunch of doublethink as people try to figure out what their opponents are casting, how to avoid them, and what counterspells to use. Sufficiently-clever players also ought to be able to trap their opponents so at least one spell will land. At the moment, here's the different kinds of areas of effect I have: * Any: one visible hex * Ball: hits the target hex and all hexes within a given distance of the target hex. * Ring: as Ball, but hollow * Ray: hits all hexes on a bent line out from the player, with the ray never doubling back on itself nor turning more than 60° at one time. * Wall: hits a line of hexes centered on the target hex. Wall spells will need three variations for each possible direction (i.e. the facing of the wall depends on which spellcard you pick). * Player: affects chosen player. Target markers for these spells would be played on the sideboard. And here's some sample spells: * Fireball (Ball): deals damage to players in area of effect (1/7/19 hexes depending on casting time) * Lightning Bolt (Ray) (Range scales with casting time): All units on affected hexes take damage. * Meditation (Player): Retrieve 1 spell from your discard pile per turn used to cast. * Pyroclastic Flow (Ray): affected hexes turn into magma, which deals damage when players end their turns on it. Players in affected hexes immediately take damage. * Frostwyrm's Breath (Ray): affected hexes turn into ice, which cannot be stopped on (players moving onto ice move onto the next hex automatically). Players in affected hexes are pushed back and take damage. * Teleport (Any): move to the target hex. Faster-casting versions deal damage to you. * Blink (Player): move to a hex within N hexes of your current position (N increases with casting time; starts at 1) * Haste (Player): Set the d6 for this spellcard to N. For the duration of the spell, you may move 2 hexes instead of 1 on your turn. * Knife (Adjacent): Deal damage to adjacent player. No casting time; do not discard after use. * Feint (Any): Choose any casting time for this spell. No effect when it is cast; do not discard after use. * Gravity Flux (Ball): all affected units must move towards the center of the ring, if possible. If they are blocked (either by trees or by another unit) or are already on the center hex, they take damage instead. * Molten Cage (Ring): Turn hexes surrounding the target hex into magma. * Warp Spell (Any): Move the target for an opponent's spell one hex in any direction. * Sanctuary (Ball): Convert affected hexes to grassland, which is ordinary terrain. * Thicket (Wall): Convert affected hexes to forest, which cannot be seen or moved through. Unseen tiles cannot be targeted (already-targeted spells still cast). * Counterspell (Any): cancels one uncast spell. * Mind Probe (Player): You may look at one unrevealed spell card. * Nullify (Ball): All spells with target tokens in the affected area are canceled. What I'm looking for mostly is ideas for new spells and areas of effect, but I'd love any advice or recommendations you have. I'm thinking of using my Heroscape set for the board and wizards; mostly what I need is the cards and three differently-colored d6s for each player. One concern I have is that the game needs to end gracefully in a reasonable timeframe (not more than an hour at the very most, I would think, with a half-hour to 45 minutes being preferable). As it stands, it seems like sufficiently-agile players could dodge spells indefinitely. If you have suggestions for a natural way to force a conclusion, I'd love to hear them.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Post subject: How about these?
Player (122)
Joined: 8/11/2009
Posts: 73
Location: Texas
  • Fissure (Ray) (Range scales with casting time): Affected hexes are turned into holes and players cannot stand on them. (Players already on an affected hex must choose an adjacent hex to jump to. If they cannot...I guess they fall and die? That seems too powerful. Maybe they take damage and have to spend a turn climbing out?)
  • Pitfall (Ball) (1 turn = 1 hex, 3 turns = 7 hexes, and 6 turns = 19 hexes.): Affected hexes are turned into holes.
  • Leech (Any within range): Steal health from one player. (Range is equal to the number of turns it was charged.)
  • Mirror (Player): Mimics the last spell played by the target player. (You get to choose a new target and how long to charge it. Mirror itself does not have a casting time.)
  • Barrier (Player) (Lasts one turn for every three turns it was charged.): Neither you nor the space you are on can be affected by spells.
  • Float (Player) (Lasts one turn for every turn it was charged.): You are unaffected by the effects of abnormal hexes and spells that target the ground. (Barrier will no longer protect the hex you are on.)
  • Stone Shoes (Player) (Lasts one turn for every two turns it was charged.): You cannot move except by the effects of Teleport or Blink.
  • Amnesia (Player): Choose one of the cards in the target's hand and remove it from play. Return it to their hand after a number of turns has passed equal to the number of turns this spell was charged.
  • Time Stop (All) (Lasts one turn for every two turns it was charged.): The casting timers for every spell currently being charged no longer decrement each turn.
"All" affects every applicable target. For Wall's direction, you could just rotate the card when you play it. Have you decided what the size of the field will be?
Editor, Skilled player (1203)
Joined: 9/27/2008
Posts: 1085
What is the mechanism for replenishing your library of spells? I assume there's some sort of draw pile or something. How exactly is each turn worked out? Like this? - Draw a card - Move - Cast spell Anyway, some spell idea I'm playing around with for your board game... Familiar: Creates a cute little critter at target spot. - If something occupies said spot so that no one may enter it, the spell fails outright. - Any amount of damage kills the poor critter. You heartless demon! - If a damaging spell is launched at the same moment the critter is summoned, the critter takes a hit. - This critter can "pick up" and later "drop" a spell marker, so what the spell targets can change. - Lasts forever. Or until the game ends or critter takes damage. - Can move around just like any mage. So cute when it moves! Mild variations includes one that can survive a single hit of any damage (after that, becomes rather fragile), and one that can move two spaces at once (Yeep! Dodgy to the max!). What I wrote is a bit wordy. Probably should be condensed a little if you plan to write stuff on the cards.
Joined: 7/2/2007
Posts: 3960
Kumquat: thanks for the suggestions! Pits might actually replace trees so I don't have to worry about line-of-sight, which is generally a pain to calculate in board games. FatRatKnight: My current plan is that you have your entire library available to you at the start, and every time you cast a spell, it gets discarded. You can use the Meditation spell to recover discarded cards (and Meditation itself, like Knife, is never discarded), but you can only cast one spell per turn, so it's an "unproductive" turn otherwise. However, I'm by no means tied to this idea; you could easily have a hand of spells MtG-style and reshuffle your deck when you run out of spells to draw. I've definitely considered having familiars, though I'd assumed they'd basically be wandering around trying to chomp on your opponents. A "cute" one that instead moves targeting markers has potential too. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 7/2/2007
Posts: 3960
Sorry for the double post, but this is new content. I put together a spell card list. The numbers are semi-randomly chosen; I don't even know yet how many hitpoints players will have. The "dx" in spell descriptions refers to the dice being used as counters: each player gets a d4, a d6, and a d8, and can use any counter on any spell (excepting some spells with the d4 since they require 5+ turns to cast). Specifically, a spell that does "dx+2 damage" deals 6 damage with a d4, 8 with a d6, and 10 with a d8. The only time dice are rolled is with Temporal Flux. I'm hoping to get a test play in tonight with my gaming group. We'll see how it goes. Incidentally, I generated the cards from a data file using a Perl script. The script takes entries that look like this:
The spell list wrote:
[Quicken Spell],[Blood Mana]|Spellcard|[0],[1]|Reduce the counter on the target spell by [1. Take 2 damage],[3. Take 8 damage].
I use | as a field delimiter (for the spell name, target area, casting time, and effect), and [] to indicate values for different levels of the spell. The regular expression that finds the options gave me some trouble for awhile, but I did eventually get it working: /(?:\[([^\]]*?)\],?)/g ?: is a Perl construct that does grouping without capturing the content to a variable.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.