Welcome Guest.   Make a donation to an author on the site October 23, 2014, 02:56:13 PM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
Free DonationCoder.com Member Kit: Submit Request.
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1] 2 Next   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Generic Card/Board Game Prototyping and Playtesting Tools  (Read 20363 times)
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.



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 » Logged
alivingspirit
Supporting Member
**
Posts: 165



see users location on a map View Profile Give some DonationCredits to this forum member
« 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.

Logged
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.
Logged
alivingspirit
Supporting Member
**
Posts: 165



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #3 on: January 25, 2010, 08:36:47 PM »

In other words: Board Game Engine.  cheesy
Logged
Ampa
Charter Member
***
Posts: 589


I am cute ;)

View Profile WWW Give some DonationCredits to this forum member
« 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 » Logged
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.
Logged
parkint
Supporting Member
**
Posts: 119


It's bad luck to be superstitious

see users location on a map View Profile Give some DonationCredits to this forum member
« 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.
Logged

mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.  thumbs up

Logged
Ampa
Charter Member
***
Posts: 589


I am cute ;)

View Profile WWW Give some DonationCredits to this forum member
« 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.
Logged
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.
Logged
tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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 thisCool
Logged

 
Deozaan
Charter Member
***
Posts: 6,418



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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 thisCool

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

<a href="http://www.youtube.com/watch?v=Ec4fYs2FtNo" target="_blank">http://www.youtube.com/watch?v=Ec4fYs2FtNo</a>
Logged

nudone
Cody's Creator
Columnist
***
Posts: 4,116



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.)
Logged
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.slashdot.org...2Fslashdot+%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.
Logged
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #14 on: February 09, 2010, 03:34:50 AM »

New virtual table app for the iPad:
http://www.gametableapp.com/
Logged
kyrathaba
N.A.N.Y. Organizer
Honorary Member
**
Posts: 3,010



while(! dead_horse){beat}

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.
Logged

Win 7 Home Premium 64bit-SP1 AMD Athlon II X2 220 Socket AM3 (938) @ 2.1GHz 6GB RAM Firefox 26.0
_________________________________________________________________________________________

I'm fighting against patent trolls. Join me and tell your representative to support the #SHIELDAct: https://eff.org/r.b6JJ /via @EFF

My DC page: http://kyrathaba.dcmembers.com | My blog: http://williambryanmiller.com/ | Proofreading Service: http://bit.ly/1fQSqQP

Huggybaby
Participant
*
Posts: 1

View Profile Give some DonationCredits to this forum member
« 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.slightlymagic..../forum/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 » Logged
Deozaan
Charter Member
***
Posts: 6,418



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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.


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 » Logged

anne19
Participant
*
Posts: 2


View Profile Give some DonationCredits to this forum member
« 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.slightlymagic..../forum/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 » Logged
kyrathaba
N.A.N.Y. Organizer
Honorary Member
**
Posts: 3,010



while(! dead_horse){beat}

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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?  Grin
Logged

Win 7 Home Premium 64bit-SP1 AMD Athlon II X2 220 Socket AM3 (938) @ 2.1GHz 6GB RAM Firefox 26.0
_________________________________________________________________________________________

I'm fighting against patent trolls. Join me and tell your representative to support the #SHIELDAct: https://eff.org/r.b6JJ /via @EFF

My DC page: http://kyrathaba.dcmembers.com | My blog: http://williambryanmiller.com/ | Proofreading Service: http://bit.ly/1fQSqQP

mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« 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 smiley
Logged
ZwodahS
Participant
*
Posts: 7

View Profile Give some DonationCredits to this forum member
« 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.
Logged
mouser
First Author
Administrator
*****
Posts: 33,581



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #22 on: September 03, 2011, 02:08:19 PM »

vassal can do rule enforcement.
Logged
ZwodahS
Participant
*
Posts: 7

View Profile Give some DonationCredits to this forum member
« 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.

Logged
ZwodahS
Participant
*
Posts: 7

View Profile Give some DonationCredits to this forum member
« 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 tongue and perhap one day someone might pick it up and start on the project.

(sorry for the long post)
Logged
Pages: [1] 2 Next   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.063s | Server load: 0.07 ]