Tools for Tabletop Game Design

Post on 22-Jun-2015

1.796 views 1 download

Tags:

description

A short presentation about some tools used in game design, includes some thoughts about using spreadsheets, as well as the web-based Playtest and Card Warden for iOS.

Transcript of Tools for Tabletop Game Design

Tools For Tabletop Game Designby Martin Grider

@livingtech - http://chesstris.com/

(Some)

WHAT AM I TALKING ABOUT?• Game Design - definitions & disclaimer

• Spreadsheets - why, what, how

• My game (examples): Memory Matters, Ship Deck

• Tool Demo: Playtest

• Tool Demo: Card Warden

• Game Design can be difficult to talk about

• Lack of standard: nomenclature, taxonomy, terminology, definition, syntax, semantics*

• It’s an “art” rather than “science” — i.e. what is “better” is a matter of opinion rather than quantifiable or measurable.

* Yes, there are people working on this, including books written on the topic.

SPREADSHEETS

WHY SPREADSHEETS?

• Ultimate tool for keeping track of things

• Lists of things

• Not just for numbers, but especially good for numbers

• Spreadsheets - Uses

• Systems (A list of a game’s systems and how they interact can be used to better understand the game.)

• System Components (A list of individual things in a system, with their attributes, this can help with game balance.)

• Project Management (A list of tasks, deliverable dates, etc.)

WHAT DO I MEAN BY SYSTEM?

• Is a system a mechanic? (Yes, sort of.)

• I like to think that mechanics are “categories” of systems, a mechanic is usually a generalized, (non-specific) way to talk about a system. There are almost as many kinds of “worker placement systems”, for example, as there are games that use that mechanic.

• Complex vs. Simple systems

• Spreadsheets are probably more useful in examining complex systems.

• Complex systems have “components” (with variables)

LISTING SYSTEMS

• Maybe best to think of it as a brainstorm. List everything first, prune later.

• Might be hard to pull them apart (That’s good! Generally speaking, the more your systems work together, the more interesting the game as a whole will be.)

• Maybe there is only one system?(Initially I thought maybe games like Dominion or Canabalt were single system games.)

SYSTEMS IN CANABALT

• Diagram of influence

• Illustrates how the systems interact

• Might suggest ideas or options for change

• Another “lens” through which to view your game*

* For more about lenses, see the Art of Game Design, by Jesse Schell

SPREADSHEETS FOR COMPONENTS

• Components are elements (things) in a system

• Examples:

• Cards in a card game

• Obstacles in Canabalt

• Characters/Enemies in Mario Brothers

• Trivia questions in a trivia game

SPREADSHEETS FOR COMPONENTS — ATTRIBUTES• Examples:

• Cards in a card gameTraditional attributes: Suite & RankNon-traditional (Dominion): Cost, Action, etc.

• Obstacles in CanabaltAttributes: Type (floor, crate, other), size (height, width, etc), etc.

• Characters/Enemies in Mario BrothersAttributes: Movement (walking, flying, swimming), speed, can be attacked from above, behaviors (will chase you, etc.)

• Trivia questions in a trivia gameAttributes: Question text, answer text, wrong answer text(?)

USES OF SPREADSHEETS FOR COMPONENTS IN CARD GAMES

• Game “Balancing”:

• Probabilities & Distribution — how often are things likely to happen?

• Attributes — comparing values on a specific component to attribute values of other components

EXAMPLE #1: MEMORIES MATTER

• Trivia game

• Trivia is presented in “pairs”(Well, for the first several game modes.)

• Spreadsheets are used purely to track / generate / manage the content

• (Though in a way this is also game balance, as categorizing the content also involves grouping by difficulty.)

EXAMPLE #1: MEMORIES MATTER

EXAMPLE #1: MEMORIES MATTER

1. create the csv by taking the spreadsheet and adding the following header rows: primary-item-type,secondary-item-type,primary-item,secondary-item,did-you-know,year,tags (year, tags, and did-you-know are optional.)

2. open the Plist Converter.app, and drag your .csv into it.

3. add the new .plist file into the project.

4. create new folders for image and/or audio files, add those to your project.

5. Add the new set to the KST_GameMatchSet enum in KST_MatchFactory.h

6. Edit KST_MatchFactory.m edit the setNameAndPlistArray and setNameForMatchSet: methods, adding your new triva set to them. (You'll need the .plist filename, as well as the set name.)

7. Switch the project target to db-importer, and run the project.

8. Fix any errors / issues you see in the log.

9. When the db-importer runs "clean" (without errors), copy the Realm path, and open the project root in your terminal. Copy the realm file into your project, overwriting the existing default.realm file.

10. Add a UI button for the new set, make sure the new set is contemplated in updateGameMatchSetButtons: and matchSetButtonPressed: method in KST_GameSetupViewController.m

11. Test.

• Steps to import:(round-trip)

EXAMPLE #2:SHIP DECK

• Deck Building meets 4X

• Many Card attributes

• Only two types of card:

• “ship part” cards and

• “goal” cards

CARD ATTRIBUTES FOR SHIP DECK

• Each card has quite a few attributes

• For a long time this was overwhelming (admittedly, that has nothing to do with the spreadsheet aspect)

Victory Point Value CostName Version

Action

Capacity(fuel, ammo, cargo)

Discard

Ship Part(color & position)

EXAMPLE #2:SHIP DECK

EXAMPLE #2:SHIP DECK

• Some things that are possible

• Ask questions about your content and answer themexamples:

• “What is the average cost of my cards?”

• “How many red cards are Cargo cards?” (Note: this is old content.)

WHEN DO YOU LEAVE THE SPREADSHEET?

• Answer maybe depends on your team makeup, who is performing what tasks.

• (If you are the only person working on the project, you can decide, otherwise, it might depend on when your team mates need your work, as well as how comfortable you will be making changes in the “final” format.)

• ASAP

• Goal should always be to get to a “playable” version

• Versioning is probably a concern, especially for complex systems

• Shorter round-trip between game and spreadsheet is desirable

• You WILL end up making changes in one and forgetting

Playtest

http://playtest.meteor.com/

(created by my friend / collaborator Dan Weaver

@danweaver)

TOOL: PLAYTEST• Meant to be an “easy” .csv to visual layout for cards

• Uses .svg for design / visual output

• Uses a templating system for replacing {{variables}}

• support for “layer” column that turns .svg layers on and off

• Export to .pdf (print), or individual files for Game Crafter

TOOL: PLAYTEST

DEMO• .svg editor

• Layers

• Export to .pdf

PLAYTEST & SHIP DECK• Round trip steps:

• munge column headers (must be labeled the same as the template {{name}} variables)

• add “layers” column

• export as .csv (I use .csv.txt, for ease of copy/pasting)

• create new “version” in playtest (possibly because I’m anal)

• paste .csv content into playtest

Card Warden

Created by Michael Azzara@mike_azzara

http://www.mikeazzara.com/

(Note that I am not affiliated at all with this product, only a consumer.)

TOOL: CARDWARDEN• Import images as cards into “decks”

• Shuffle, deal, add or remove cards on the table

• Have many as many decks in play at once as you want, adding to or removing from them “at will”

• Asynchronous or real-time multiplayer (I have not tested this.)

TOOL: CARDWARDEN

• import

• play interface

DEMO

THANK YOU!reminder / who to blame:

Martin Grider@livingtech

http://chesstris.com/

(questions?)