Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • September 02, 2015, 09:52:46 AM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Generic Card/Board Game Prototyping and Playtesting Tools  (Read 26313 times)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Generic Card/Board Game Prototyping and Playtesting Tools
« on: January 25, 2010, 01:47:07 PM »
Recently I've been getting more serious about the idea of making card and board games -- not as a profession but as a hobby and academic exercise.

One of the things I've been looking for are tools that would make it easier to:
  • Programatically create sets of cards and card images, and print these out on various card stocks
  • Simulate a virtual card table for online play, quickly and without worrying about coding rules
  • Eventually be able to make an online version that did enforce rules

I've actually found quite a few tools that were designed for collectible card game playing online, card/deck building, generic card/board/table game playing (i.e. rules not enforced), and a few tools designed to actually let you code full games with rules enforced.

mwsplay_small.gif

Here are some of the links I've found to sites that seem useful - if you know others please let me know (Java seems to be the dominant language for these tools; nothing against Java just not sure why it is so dominant in this domain):


However I have not yet found a set of tools that I really feel great about -- that would really speed up Prototyping and Playtesting, and provide a path to eventual online implementation.



And.. well.. I've been thinking about embarking on a project to code a toolset myself that would be useful for other game designers.

It's a bit of a daunting task, and I'm still not really sure I have the time for it.  I still have to investigate more what's already available.

Right now though I feel like game designers could benefit from a new project designed to help them.  And I feel like there is an opportunity to create something useful, with a different, more designer/coder centric approach then these existing tools.

I'd like to hear some feedback about whether people think this is worth doing.. Or what they use.

Actually to be honest, I spent the last several days writing some generic python code to tackle the task of dynamically creating card sets, images for them, laying them out on generic card templates for printing, and actually working with card data in a way that will hopefully set the groundwork for a richer game table engine.  I've also begun writing some scripts to create game data files for some of the online game playing tools (like zuntzu and vassal) which are otherwise a bit cumbersome to set up for prototyping.  I plan to open source and share the code after I get it development and a little more friendly.  Now I have to decide if I want to put the creation of a full-fledged game-table engine/library on my Project List.

Thoughts?
« Last Edit: January 25, 2010, 01:59:05 PM by mouser »

alivingspirit

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 167
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #1 on: January 25, 2010, 08:16:24 PM »
Yea! I love the idea of creating a toolset for game designers. I have been thinking about doing a project like this for a while but I was trying to work on projects a little less ambitious first.
I too have been unimpressed with the current offerings in this type of program genre. It seems to me that most of these programs simply lack the features needed to really create your own board/card game quickly and easily.
Unfortunately for us, the reason why many of these programs fail is because programs of this type quickly become too generic and difficult to use, or too specific to a certain type of game (ie:Magic the Gathering).
If I am understanding you correctly, you want to create a very generic type of program but one that is also easy to use to create any type of game. If you created such a program, you would be the first. I would love to help to help out any way I can.


mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #2 on: January 25, 2010, 08:28:55 PM »
Quote
If I am understanding you correctly, you want to create a very generic type of program but one that is also easy to use to create any type of game.


I am interested in doing 3 things:
  • Providing very fast prototyping of card/board games via an online multiplayer application.  In this case, the engine will not try to enforce any rules -- the idea is to provide a flexible and easy system for arranging and moving pieces and cards around.
  • Provide a LIBRARY/API for CODING rules for a real multiplayer card/board game.  Here I'm not trying to make a generic do-everything game engine; my thought would be to view it as a library where a real coder would use this as the starting point and script the game logic using a real programming language, but be able to use all of the foundations of the engine so they could focus on gameplay not graphics/networking/etc.
  • Provide a toolset to help game designers programatically/dynamically generate for online play and for printing, pieces,cards, boards, easily -- to facilitate rapid iterations in prototyping and playtesting.

alivingspirit

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 167
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #3 on: January 25, 2010, 08:36:47 PM »
In other words: Board Game Engine.  :D

Ampa

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 592
  • I am cute ;)
    • View Profile
    • MonkeyDash - 2 Player strategy boardgame
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #4 on: January 26, 2010, 06:11:07 AM »
In brief: Yes! this would be hugely useful.

I have tinkered with Zuntzu, but found the creation process more laboured than it should be, plus in the early stages of design I don't want to playtest with other people in a multi-player environment, but rather on my own, since the game will no doubt be dismal in its early incarnations!

Will try to respond more fully later on, when I have time to read the original post in full.

A bit more…

I don't find Zuntzu very intuitive to use, but there are some useful features…
  • The tray for holding a hand of cards
  • The ability to stack cards / tiles / counters
  • Rotation of pieces / cards
  • Flipping of pieces / cards

I guess I'd be looking for a system that had all these things and more, but with less emphasis on good looks (functional and clear is all that is required) and it must be quick to change.

Although adding a ruleset is not a necessity it might be nice (limit the hand size to 5 for example)… And consider the power of a system that gathered statistics as you play-tested, especially if this was recorded along with the ruleset…

eg: Game turns = 23, Winning Score = 102, Handsize Limit = 5 etc etc.
« Last Edit: January 26, 2010, 07:51:32 AM by Ampa »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #5 on: January 26, 2010, 11:40:25 AM »
Quote
I don't want to playtest with other people in a multi-player environment, but rather on my own

good point -- it needs to be able to let you playtest it as a single developer, with two windows, one for each player, showing that player's view.

Quote
it must be quick to change.
this is definitely a drawback of almost every system i've looked at.

parkint

  • Supporting Member
  • Joined in 2010
  • **
  • Posts: 119
  • It's bad luck to be superstitious
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #6 on: January 26, 2010, 12:01:53 PM »
I love this train of thought!
First, let me say that I am a huge board-gamer.  Much of my spare time is spent playing board games (and card games) with my wife and, often, our adult children and their spouses.

I have been tinkering with DXStudio for a number of different purposes.  But, one oustanding idea has been to build PC games with a 'board game' feel.  In other words, turn-based play where decisions must be made as opposed to the popular "run around and shoot anything that comes in sight".

For the 'layout of assets' and testing without gameplay rules, I think the GUI toolset in the editor of DXStudio would work well.


If you venture over to their site you will see that I am very active in the forums and the wiki.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #7 on: January 26, 2010, 12:05:57 PM »
sounds like we might be rounding up a group of people here who could be interested in participating in this project eventually.  :up:


Ampa

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 592
  • I am cute ;)
    • View Profile
    • MonkeyDash - 2 Player strategy boardgame
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #8 on: January 26, 2010, 12:12:04 PM »
As a side note to the conversation, I am pretty much convinced that as surface computing makes its way into our homes and lives there will be a resurgence of interest in playing table-top games.

All the pros of a real boardgame (social interaction face to face) but none of the cons (lost pieces, bent cards, misprinted rules etc).

So the time is ripe for a great development tool.

Quote from: Mouser
good point -- it needs to be able to let you play-test it as a single developer, with two windows, one for each player, showing that player's view.

Not just two windows, I think it must cater for games of any reasonable number - certainly up to 5 or 6.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #9 on: January 26, 2010, 12:25:36 PM »
I think you are right about the future of table-top gaming with regards to the surface-like touch screen tables, and also the coming 3d/holographic projection tables.
It would be EXTREMELY fun to get a running start at producing a toolset that could be used for such things.

tinjaw

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,927
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #10 on: January 26, 2010, 02:15:19 PM »
I think you are right about the future of table-top gaming with regards to the surface-like touch screen tables, and also the coming 3d/holographic projection tables.

Well, then take a look at this8)

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 7,047
    • View Profile
    • Just for mouser.
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #11 on: January 26, 2010, 05:19:19 PM »
I think you are right about the future of table-top gaming with regards to the surface-like touch screen tables, and also the coming 3d/holographic projection tables.

Well, then take a look at this8)

Wow that's cool! I've embedded the video below.



nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,117
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #12 on: January 27, 2010, 04:51:32 AM »
(cool. is this the first embedded youtube video on DC? every other youtube clip was just a link.)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #13 on: January 29, 2010, 05:07:31 PM »
gothic sent me this post on slashdot about the possibility of using the new ipad as a board game surface:
http://apple.slashdo...shdot+%28Slashdot%29

regardless if the ipad is it, as was mentioned before, such things are coming.. might be good timing to work on such a project.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #14 on: February 09, 2010, 03:34:50 AM »
New virtual table app for the iPad:
http://www.gametableapp.com/

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,087
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #15 on: February 09, 2010, 09:10:22 PM »
I took a look at all the links you posted, Mouser.  I've no doubt you could blow the existing options away.  I'm on board if you need a playtester down the road.

Huggybaby

  • Participant
  • Joined in 2008
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #16 on: February 11, 2010, 10:20:28 PM »
I look forward to my DonationCoder newsletter, and it was interestig finding this topic this month. (Thanks for linking to our forum BTW).

A big part of our forum that you didn't link to regards programs with Artificial Intelligence or Rules Enforcement: http://www.slightlym...m/viewforum.php?f=21

Programming rules for a game like MTG makes programming a Chess game look like a warmup exercise, but don't tell that to the Deep Blue team.

I, like you, wish there were a program that made implementing board games and simple card games easier. I haven't found one I'm satisfied with yet though.

Vassal is one I've looked at a few times but something about it made it seem a little difficult, or maybe I'm just too lazy.
« Last Edit: February 11, 2010, 10:22:44 PM by Huggybaby »

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 7,047
    • View Profile
    • Just for mouser.
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #17 on: February 13, 2010, 05:46:35 PM »
I just found this article about Cernegie Mellon students who have programmed D&D on Microsoft's Surface:

I just returned from the Microsoft campus (well, I stopped for a panini), where students from Carnegie Mellon University are showing off their awesome project, a version of D&D that runs on the Surface. Now, before you start rolling your eyes, just recognize that this isn’t just a holy grail for tabletop gaming nerds. I mean, it’s that too, but really it’s a proof of concept that shows how fun and intuitive something like this can be, and how accessible a team can make it. I honestly think that if they had these things scattered around like Golden Tee cabinets, they’d get a huge following.
DDsurface7-620x413.jpgGeneric Card/Board Game Prototyping and Playtesting Tools

Even though D&D isn't exactly a board game, I figured it was relevant to this topic.

(cool. is this the first embedded youtube video on DC? every other youtube clip was just a link.)

Nope. The screencasts for NANY 2010 were all embedded. That's how I learned how to do it. I just looked at the source of my NANY entry.

EDIT: Added image and quote.
EDIT 2: Added links back into quoted section.

« Last Edit: February 13, 2010, 05:52:18 PM by Deozaan »

anne19

  • Participant
  • Joined in 2011
  • *
  • Posts: 2
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #18 on: August 03, 2011, 11:23:35 PM »
Nice ideas, did you ever get round to doing any of these?

I look forward to my DonationCoder newsletter, and it was interestig finding this topic this month. (Thanks for linking to our forum BTW).

A big part of our forum that you didn't link to regards programs with Artificial Intelligence or Rules Enforcement: http://www.slightlym...m/viewforum.php?f=21

Programming rules for a game like MTG makes programming a Chess game look like a warmup exercise, but don't tell that to the Deep Blue team. klonopin side effects
I, like you, wish there were a program that made implementing board games and simple card games easier. I haven't found one I'm satisfied with yet though.

Vassal is one I've looked at a few times but something about it made it seem a little difficult, or maybe I'm just too lazy.
« Last Edit: August 03, 2011, 11:28:29 PM by anne19 »

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,087
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #19 on: August 04, 2011, 05:59:03 PM »
Quote
Nice ideas, did you ever get round to doing any of these?

Mouser's gonna release such a tool as his NANY 2012 app, and I'm gonna help write the Help file.  Right, mouser?  ;D

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #20 on: August 04, 2011, 06:02:01 PM »
If I can get someone to do 99% of the coding i'd be happy to put my name in the about box credits :)

ZwodahS

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #21 on: September 03, 2011, 12:10:58 PM »
I was looking through the list but most of them doesn't support rule enforcement. Do anyone know of such a good tool ? I have an idea of how to do it for cards(and perhaps extend it to board) but i don't really want to reinvent the wheel.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 34,981
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #22 on: September 03, 2011, 02:08:19 PM »
vassal can do rule enforcement.

ZwodahS

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #23 on: September 04, 2011, 12:06:46 AM »
vassal connects to a central server which is not what i was looking for. I am looking for something that have p2p connection instead.


ZwodahS

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Re: Generic Card/Board Game Prototyping and Playtesting Tools
« Reply #24 on: September 04, 2011, 10:07:28 AM »
I have look at VASSAL and i feel that the need to learn a programming skill to code a new board game may not appeal to many. So I thought about it and i come up with an idea.

i didn't have time to really analysis how it can be done but here is a quick draft of what i think is possible to do.

To describe my idea, i shall first focus on card games as an example.

In all the card games, we can first break them down into smaller components that are part of the games.

1) Zones : Zones defines the places that the card can be in (Hand, Remove from the game, etc)
2) Counters : Life , any form of counter. Counter can be put on cards in any zones (more on that later), or on any players.
3) Cards : Cards are just encoding for "sequence of actions".
4) Actions : Define a sequence of "system action".

Zones : Zones can be of many types. The first few that i can think of are
  1) Private (Only you can see and do action on the cards)
  2) Team    (Only your team can see and do action on the cards)
  3) Personal_Team(Your team can see but only you can do action on it).
  4) Personal(Everyone can see but only you can do action on it).
  5) Global(Everyone can see , and everyone can do action on it).

We probably need to define how each zones are duplicated for each players or if the zone is unique.
We also need to define if the zone is a Piled zone(meaning all the cards are hidden) or a open zone where all the cards are revealed to all.
  
Counters : Counters are just numbers , but we need to be able to define whether it is a global counter, or personal counter or specific counters for a card etc.

Cards & Actions :

Most of the cards games are just manipulating Cards(moving from zones to zones), increasing/decreasing counters and providing actions for cards in different zones.

So the simplest System action that i can think off would be

Move ___ To ___
Increase ___ By ___
etc.

So Actions can be defined by user. For example, we want to allow players to "play"(Action_Play) their cards from their hand(Zone_Hand).

Then we can define an Action call Play, that only can be "triggered" by the player who own the Zone (Hand), and the card have to be in the Zone.

The action (Action_Play) does nothing but defining the Action that can be done on a card from which zone.
What the action does for each card is defined in the card.

It is probably unclear regarding what i say so lets use Magic the gathering as an example, since it is probably one of the most hard to define card games.

In MTG , the zones are defined as

Hand(Private),
Graveyard(Personal),
Play(Personal),
Remove From the game(Personal),
Library(Private),

etc..

Then we define the counters
Mana_Blue,Mana_Red etc etc.
Life_counter,
etc.

Actions :
Play[Only from Hand]
Discard[Only from Hand]

So for example, lets take summoning a creature in mtg as an example.

A creature card would have a cost , defined in term of counter, so if the creature have a cost of 2 blue mana, the requirement would be Mana_Blue >= 2.

The action for [Play] for this card can be defined in the following manner.
Mana_Blue - 2
Move This to Zone_Play.

A card that let the player choose one cards from opponent hand can be defined as

Owner Choose 1 Player(as plist)
Foreach p in plist
   Owner Choose 1 Card(as cards) from p.hand
   Move cards To p.Graveyard

I probably over simplified things for this case but you get my point(hopefully).

The next think would be to define the game flow.

Game flow would be broken up into stages , each stages contains turns and each turns contains phrase.

For MTG the stages would be
StartGame
InGame

StartGame would define the steps for mulligans and drawing of starting hand, In game will be the game itself. The phrases for MTG is defined clearly, such as Draw phrase, combat etc etc.

In each Phrase/Turn/Stage, we can also define a action that we want to do. Etc.

So you may think , All this are still programming, so we are still back to square one. Not really.
These are just low-level designs that we can implements in the engine, and the developers can be provided with a good tool that allow them to choose the sequence of action they want to do.

The engine can then provide small systems actions, that can be combined into actions that mimic the effects of cards.Note that what i posted here is just the rule set portion and i probably oversimplify a lot of things here. I believe the UI and networking portion would not be as hard as compared to defining a good engine backend for developer to design and prototype their game.

After we do this for card games, we might be able to define a bigger set of ruleset for board games as well but doing that will take a slightly longer time.

The hard part ? analyzing enough card games to find all the small actions that we needs to define. I don't have time at the moment as i am still schooling to start on such a big project. I might work on it during my breaks but in the mean time i hope we can brainstorm :P and perhap one day someone might pick it up and start on the project.

(sorry for the long post)