The Board Game Development Kit Joseph Collard jcollard@unm

The Board Game Development Kit
Joseph Collard
[email protected]
Executive Summary
Currently, there are many applications that board game developers use when they develop
board, card or table top games; however, none of these applications provide an environment
for play testing. This creates a difficult environment for them to develop an idea. The Board
Game Development Kit is a set of tools used to develop and play test board, card, and table top
game concepts. It is made of two components: the Designer and the Play Test Environment.
The Designer provides tools for defining each of the components of a game while the Play Test
Environment provides a shared play area for multiple players to test the game. In the Play Test
Environment, players manipulate the game components as though they were sitting around
a table. Although these tools will be provided for free, they can be highly profitable. This can
be accomplished by partnering with artists and print companies that can manufacture physical
copies of a developers game.
I. Introduction
What is the Board Game Development Kit?
The Board Game Development Kit is a set of tools used to define and play test board, card, and
table top games. It consists of two components, the Designer and the Play Test Environment.
The Designer is a set of tools used by a developer to define each component in their game.
Multiple players share a Play Test Environment containing a game developed in the Designer.
In the Play Test Environment players have full control to interpret the rules and play the game.
Who uses the Board Game Development Kit?
Creative board game developers use the Board Game Development Kit because it provides an
easy way to develop and play test their ideas without the cost of manufacturing their game.
What is the value of the proposed system?
Although the Board Game Development Kit will be offered free of charge, it can be made highly
profitable by providing additional services beyond developing and play testing board games.
Printing
After development and testing, a developer wants to produce his or her game. Partnering
with companies that produce printed boards, cards, tokens, and three-dimensional figures to
manufacture physical copies of developer games would create a mutually beneficial source of
revenue.
Design Consulting
Developers want to produce a beautiful game that provides a unique experience to their players.
By partnering with companies and individuals who can create designs for boards, cards, and
tokens, developers would have easy access to a resource to help them produce a visually
appealing product.
II. Motivation
The board game industry is currently dominated by large companies such as Hasbro and Fantasy
Flight Games. In the beginning stages, amateur developers discover the cost to develop and
play test a game can quickly become a liability. This creates a difficult environment to produce
successful games. With the assistance of the Board Game Development Kit, creative developers
reduce their cost and save time developing.
Mission Statement
“To provide creative board game developers with a tool to help them succeed in developing and
play testing their ideas.”
III. Background
Many board, card, and table top game developers use tools such as Photoshop and Gimp to
design their board games. Although these tools provide powerful tools for developing the
physical look and feel of their game, they do not provide an easy way for the developers to play
test their game.
However, there are a few tools that are designed specifically for playing digital copies of board
games.
One open source product that is currently in active development is VASSAL Engine. The
VASSAL Engine allows users to create online turn based games. A game created with VASSAL
Engine contains programmed functionality such that the rules of the game are enforced. Most of
the existing modules created with VASSAL Engine are merely clones of existing games. This
provide a way for people to play these games over the Internet.
Although the VASSAL Engine provides the ability to create and play games over the Internet, it
is not in the spirit of play testing. By having enforced rules players do not have the freedom to
display how they interpreted the games instructions. The Board Game Development Kit provides
this flexibility in the Play Test Environment. Players are free to manipulate and interpret the
rules as they understand them. This useful feedback to the developer allows them to revise their
rules for clarity.
Another free application is CyberBoard. This application provides a service for creating
graphical components for games. Unfortunately, CyberBoard is specifically designed for Play
By Email games. This makes developing and play testing new board games non-intuitive and
difficult.
Both Vassal and CyberBoard provide useful services. However, neither of these products has the
end goal of producing an actual physical game. The Board Game Development Kit is designed
with this thought in mind.
IV. Previous Work
JNet Board - This application is a multi-user white board for developing two-dimensional
vector graphics. This work can be directly applied to the multi-player aspect of the Play Test
Environment.
Web Development - Having worked as a web developer at the University of New Mexico for
three years and as a free lance web developer for five years, I have the experience to create a
functional website for the users of the Board Game Development Kit.
Member of the Indie Game Developer Network - I am an active member in the IGDN. This
group exists to connect game developers from across the country to help provide feedback in
a safe environment. As a member of this group, I have experience both in the hardships and
success of developing indie games.
V. System Description
The Board Game Development Kit contains two components, the Designer and the Play Test
Environment.
Using the Designer
The Designer is a set of tools used by a developer to define each component in their board game.
These tools are used to define views, game components (boards, cards, decks, tokens, figures,
etc...), layout, and rules.
Defining Views
A game contains one or more views. Each view defines a set of components a player or set of
players will be able to see and interact with. The developer may wish to create a “Public View”
that is visible to all players and a “Private View” for each player that is hidden from all other
players.
Defining Game Components and Their Rules
A game contains many components. Among these components are boards, dice, cards, decks,
tokens, and figures. The developer may create and customize components using the Designer.
Each component has four properties.
1. Name - How will players refer to this component?
2. Type - One of six types
a. Tile - A tile is a component of the game that is generally used to make up the play
area. A board is usually one or more tiles.
b. Die - A die is a special component that can be rolled in the Play Test
Environment. When a die is rolled, one of its States is selected at random. These
are generally used to represent a die or a spinner.
c. Card - A card generally has two states a front and a back.
d. Token - A token generally represents some form of counter that players collect or
marker that is placed on the board to mark something. These are flat components
with a specified width and height.
e. Figure - A figure generally represents a player’s current location in the game.
These are three dimensional components with a specified width, height, and
depth.
f. Pile - A special component of the game that is used to group together multiple
components. In the Play Test Environment piles have three special actions:
shuffle, draw, and peek. These are often used to represent decks of many cards
and conveniently group together piles of similar tokens.
i.
Shuffle - Randomizes the components in this pile
ii. Draw - Takes the first component on this Pile and moves it to a specific
view
iii. Peek - Allows a single player to see the order of this pile and allows them
to rearrange and remove components.
3. State - How will players see this component? Each component can have multiple states.
For example a card will have two states, a front side and a back side.
4. Size - How much space does this component take up?
In addition to these properties, the developer may provide additional rules for each component.
Component Sets
One feature of the Board Game Development Kit is Component Sets. Once a developer has
defined the components for their game, they can save them as a Component Set. These sets can
then be loaded into future games for ease of use.
Defining the Layout
The developer creates the starting layout for their game using the Designer. This is
accomplished using a drag and drop system for positioning each component of the game.
Defining the Rules
A game is defined by its rules. The Designer provides a way for the developer to organize these
rules in a digital rule book which is made available in the Play Test Environment.
The Play Test Environment
When a developer is ready to play test their game, multiple players will connect to their Play
Test Environment over a network. The players share a virtual environment where they
manipulate the components of the game and interpret the rules. This environment is divided into
four panels: the game panel, the information panel, the communications panel, and the feedback
panel.
Game Panel
Each player will be able to see the different views created by the developer using the game panel.
In the game panel players can select and manipulate the components of the game.
Information Panel
Properties of the selected component will be displayed in the information panel. This includes
the rules for the component and how players may interact with it.
Communications Panel
Communication between the players is important while playing a game. The communications
panel provides a chat box that allows players to communicate during their time in the Play Test
Environment. In addition to a chat area, the communications panel also displays all “nonverbal” actions players make.
Feedback Panel
Currently, when a developer play tests their game, they provide players with a physical copy.
Often, these play tests take place without the developer present. During these times, the
developer will generally ask the play testers to keep notes about the game. These notes include
details about the clarity of the rules, what they found fun, what they found confusing, etc. The
feedback panel provides a location for players to leave feedback for the developer.
Play Session Logging
The Play Testing Environment provides a logging feature which records a play session for later
review. Along with the feedback panel, this allows the developer to identify where revisions may
be needed.
What the Board Game Development Kit Doesn’t Do
Although the Board Game Development Kit is a powerful tool for developing and play testing
game ideas, it does not do everything.
Creating Graphics
The Board Game Development Kit does not provide an interface for creating graphics. However,
it does provide the developer the ability to import graphics they have created using other tools.
This is important as developers have grown accustomed to their own design tools.
Enforcing Game Rules
The Play Test Environment does not enforce any of the rules specified in the Designer.
Developers have a clear understanding of the rules in their mind; however, it is the goal of the
developer to communicate these rules through their rules. By not enforcing these rules, the
developer receives feedback on how well the rules were explained. This allows them to quickly
locate confusing areas of their game that should be revised.
VI. Challenges
Board game developers currently play test their games in the physical world with real people.
There is no substitute for this style of play testing. It is the best way to play test a game.
Unfortunately, this requires the game developer to have a physical copy of their game to use
during the play test. Additionally, it requires that all of the players be physically present in the
same location.
A major challenge for the Board Game Development Kit is the Play Testing Environment. An
experience must be produced that is as close as possible to physically playing a board game with
other players in the same location. To achieve this in the short time line presented in section VII,
the Play Testing Environment will be created using Java’s Graphics2D library as a framework.
With this library the team can begin working on the two and a half dimensional environment for
the Play Testing Environment on day one without the need to develop tools that can manipulate
two dimensional space.
Another challenge for this project will be creating a functional network application for the Play
Test Environment. The ability to allow multiple users to connect and share the same digital
environment will not be easy and will need additional thought.
The ability to take data from the Designer and allow partners to use that information to create
physical copies of a game is another large challenge of this project. We will need to negotiate a
format that is beneficial for everyone involved. This processes can not be taken lightly
VII. Timeline
The Board Game Development Kit team will take an Extreme Programming approach to
developing the product over twelve weeks. Each week will consist of an iteration in which the
team will do the following:
● Present a product to the client. This is either a working copy of the product that will be
released or a concept prototype.
● Reviewing the system requirements. This includes showing evidence of working
requirements, revising existing requirements, and creating new requirements.
● Reviewing user stories. This includes showing evidence of completed stories, revising
existing stories, and creating new stories.
● Selecting User Stories. The team will select the user stories that will be completed by the
end of the iteration. The selection of stories will be based on priorities assigned to the
stories through discussion with the client. This includes testing and implementation of all
components required to produce the user story.
Iteration 1:
● Initial SRS is completed
● First concept prototype is presented to the client
Iteration 2:
● SRS is revised based on comments about concept prototype
● Initial model is created based on SRS and concept prototype
● Second concept prototype is presented to the client
Iteration 3:
● Version 0 of the Designer is completed and presented to the client
● A website is created to share information about the Board Game Development Kit
Iteration 4:
● Version 0 of the Play Testing Environment is completed and presented to the client
● Advertising the BGDK website via facebook and developer sites begins
Iteration 5:
● Version 0.1 of the Designer and Play Test Environment is completed and presented to
the client
● Two demo board games are created using the Designer and presented to the client
Iteration 6:
● Version 0 of the Board Game Development Kit is completed and presented to the client
● User documentation for version 0 is completed and presented to the client
● Version 0 is released for download and user testing on the website
Iteration 7 - 9:
● Version 0.1, 0.2, and 0.3 of the BGDK and user documentation is completed.
● An additional board game is developed (per iteration) using the Designer and presented
to the client.
● Version 0.1, 0.2, and 0.3 is released for download and user test on the website.
● Advertisement of released products are made on facebook and developer sites.
Iteration 10:
● Version 1 of the BGDK is completed and presented to the client
● User documentation for Version 1 is completed.
● Version 1 is released for download on the website.
● Advertisement of released products are placed on developer sites.
Iteration 11:
● Version 1.1 of the BGDK is completed, presented to the client and released for download
● Tutorials for creating board games are created
Iteration 12:
● Final version of the BGDK is completed, presented to the client and released for
download
VIII. Budget
For the duration of the timeline presented, the team will work without salaries. After the
preliminary twelve week production timeline is complete, each member of the team may
renegotiate their salary. The team will require a working server to host their repository which
shall contain all working code, documentation, testing, and web site related materials. This
service has been graciously donated by GamePsychos.com for the preliminary twelve week
production timeline.
IX. Conclusion
Currently, there are only a few applications that can be used to develop a complete board, card,
or table top game and those that are available do not provide an environment conducive to play
testing. The Board Game Development Kit is made up of two components, the Designer and
the Play Test Environment. A set of tools is provided by the Designer specifically designed
to allow developers to define the components of their game. Multiple players connect to a
developers game using the Play Test Environment. This environment is designed to provide
an experience that is as close as possible to physically playing the game. Although the Board
Game Development Kit will be provided to the public for free, it can be made highly profitable
by partnering with print and design companies to produce physical copies of games.