Wednesday, January 23, 2008

Graph theory and City interconnections

Yesterday I had an idea about how to use my programming knwoledge for building boardgame prototype.
It's several days I am thinking to one new prototype idea. It is one of the many so I really don't know if it is good or not.
To understand if an idea is good enought to be a real boardgame, I just need to playtest it.
But before to playtest it I need a real protoype.
And to build a prototype is something that can become boring.
Some board are easy to use. Think about a square grid, similar to a chessboard. You just can type in even in a normal word processor using a table and print it.
If you need an hexagonal board you just need more work to do, and you can uses something like PowerPoint or Illustrator.
The clever thing of a protoype is that it doesn't remain as it is thought at first glance. It evolves, it changes. Sometime it is dismissed because the idea was not so good.

So one of the main problem for me is how to optimize my time. I have few time (even thought it is almost all my spare time) for boardgame developments, so optimizing my time is something essential.
One of the first think I learned is to use software for drawing my prototypes. It is easy to keep track of the modifications, and it is easy to print a new board or a new set of cards.
You just need some starting effort and then you can easly change stuffs inside, print a new version and use it.
It is easier than drawing with a pencil even because you can easly print with color instead of painting with colored pastels.

But sometimes you just need a complex board, like the one I am thinking in these days: a graph.
It mathematics there is a subset of knowledge that is called Graph Theory. It is used for modelling a city map for insteance (GPS devides are provided with software who manages a "graph" of streets).
Some games that are using a board with graphs?
Ticket to Ride for instance: cities are the nodes, rail tracks are the edges that connects the nodes.
In Hermagor there is a graph of cities and roads too.

So how to design a graph that can be easly changed?
It is easy to understand that you maybe need more nodes (more cities) or more interconnected edges (more streets).
Sometimes on the edges there is a value. In Ticket to Ride the number of trains that needs to connect two different cities are different and represents the distance between them.

In my idea I need some values on the edges and also a color! And I have no idea of the number of nodes or edges I need! It will come from playtests.

The solution should come from a small computer program that can manage these stuffs.
If I can have a kind of empty blackboard where I can add and delete nodes and edges should be fine enough!
I also need to save the graph in order to load it for changes.
I should easly adding a color and a value to both edges and nodes.
I should also adding a random functionality in order to change values and colors randomly.

Such a kind of program can be useful to other boardgame authors.

I found an already made program for the graph editor. It is freely downloadable from here. I will check if it is good for this purpose.

Emanuele

7 comments:

FlyingSheep said...

Hi there - Great Blog!
How about using MS Visio (or something similar) for creating your prototype graphs? It's relatively easy to add/remove nodes and edges.

Mark Haberman said...

I have often thought about using computer AI to play test a prototype. It may not be perfect, but you may catch imbalances, or bugs in the rules ahead of time.

For instance, if Balloon Cup had been prototyped this way, the lock-up problem would have been caught in one of the computer played games.

It also allows for easy changing of the rules and values of different resources. You don't even need an interface, just some logic and ai.

Rob Bartel said...

Yes, MS Visio should be extremely useful for what you're trying to do. If you're looking for freeware, OpenOffice's Draw program does similar node and flowchart stuff very well.

Anonymous said...

Four tools have satisfied all my prototype art needs:

Inkscape
yED
A simple spreadsheet
A simple lable printing application.

I also write mathematical models of my games to ensure their correctness and then software simulations of my games in Python. While such analysis can't replace playtesting, it can greatly reduce the level of playtesting that is required.

N said...

I make good use of Visio. It's not as good as something specific to the task would be, but since you can customize objects with whatever behavior you require (within reason, sadly), it is extremely useful. Some of my simplest very useful custom objects include polygons that snap together like LEGO blocks for perfect tiling. The real power of Visio lies in the shapesheet!

Anonymous said...

Erect the animal with two backs casinos? sound into clear-cut remark this unused [url=http://www.realcazinoz.com]casino[/url] advisor and waver online casino games like slots, blackjack, roulette, baccarat and more at www.realcazinoz.com .
you can also dissect our up to the translate [url=http://freecasinogames2010.webs.com]casino[/url] keep at http://freecasinogames2010.webs.com and toppling true genially touched in the ceo !
another story [url=http://www.ttittancasino.com]casino spiele[/url] authority is www.ttittancasino.com , because german gamblers, an alignment munificent online casino bonus.

Smith Harry said...

The device is equipped with a Lithium-ion rechargeable battery which can deliver up to 480 pages per charge. It also has an anti-vibration design that prevents shaking or unpleasant noise while printing, making it a more professional device. It's also an Energy Star qualified device which means that using this printer in lieu of other models is not only beneficial for the user, but also for the preservation of Mother Nature.
Monument sign