Difference between revisions of "Game Box Creation - Testing"
(→The Actual Testing: removed section on map height/width) |
|||
Line 121: | Line 121: | ||
<span style="color: Fuchsia">If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.</span> | <span style="color: Fuchsia">If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.</span> | ||
Do this step for each | Do this step for each token sheet on the trey. Use the trey menu to display each tile sheet. | ||
But skip this test for any token sheet that has no tokens with a "flip" value of true. | But skip this test for any token sheet that has no tokens with a "flip" value of true. | ||
Revision as of 09:25, 12 July 2015
Once you have a finished JSON control file and the associated image files for a game box, the next step is to test it.
But first you should pass the finished JSON file through a JSON validater like JSON lint.
Game Box Creation edit | |
"Do It Yourself" Testing
Here are the steps necessary to test the game box on your own PC before publishing it in any form. The setup for this procedure is not easy to do and requires a PC that can run an Apache server. If you can not or are not willing to do this, then skip to the Other Ways To Get It Tested section below.
The Testing Environment
To test a board18 game box you must have a working BOARD18 server. Your local PC or any remote PC to which you have shell access should be able to be used for this.
This is especially true if you are running a Linux distribution on that PC.
Installing Apache, MySql and PHP on your PC is a bit time consuming, but it can be done by following the detailed instructions available for various operating systems.
For Ubuntu LINUX see
ApacheMySQLPHP.
For Windows see
Apache for Windows or
WampServer.
There is much more documentation out there and it covers other operating systems too.
Creating The BOARD18 Test Site
Next you must create a BOARD18 site on your Apache server.
This help file was intended for people seting up remote servers, but it has all the information that you need to create a local test server.
At this point you should have a working instance of a BOARD18 web site. Test to make sure that it works before you try to use it to test your new game box. The easiest way to do this is to start a game using one of the existing game boxes. Make sure that you can drop tokens and tiles and that everything looks as it should. If it works then you can finally start testing your new game box.
Loading Your Game Box
This step requires you to use your shell (command line) access on the web server PC.
Loading The Game Box Images and Control File
On the command line do the following:
- cd to the images directory on your web server. This directory should contain sub directories with names like 1830-REP01 and 1870-REP01.
- Create a new sub directory for your game box in this directory. The name of this sub directory must be unique!
- Load all of your gamebox image files into this sub directory.
- cd to the utility directory on your web server. This directory should contain a sub directory called control. If it doesn't exist, then create it.
- Place your control file into this directory. The name of this control file must be unique!
Moving the Game Box Control File to the Database
To load the new game box control file into the database table, do the following (but replace boxname with the name of your control file):
- Go to the utility directory on your web server.
- Enter on the command line:
php loadGameBox.php control/boxname.json
- You should now see an output that looks something like this:
Successfully created game box table row 1. The box name is 1826. The version is REP01. The author is Rich Price. The date is 2013-07-15 09:26:48.
Reloading the Modified Control File to the Database
While testing your game box you will probably have to modify the control file repeatedly.
Each time you do so, you will have to reload the JSON control file into the database. The following script will make doing this simple.
You can use this script to reload the JSON control file into the database without changing any other part of the table row for the game box.
Before you start testing you should make sure that the utility/config.php file has been modified for your environment.
See
this page for an explanation of the
utility/config.php file.
Every time that you make a change to the control file, you should reload the changed file to the database before retesting. To do this:
- Start a terminal session on the web server.
- Go to the utility directory.
- Enter the following command on the command line:
php addJSONtoBox.php control/testGame.json
Replace control/testGame.json with the fully qualified name of your updated control file.
- You should see the name, version and author of your game box displayed if the reload was successful.
The Actual Testing
The most common errors in a game box result from minor mis-measurements in the pixel counts of the images. So these are what we look at here.
Tile Sheet Values
If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.
Do this step for each tile sheet on the trey. Use the trey menu to display each tile sheet.
First look at the top tile on the trey. If the tile seems to be clipped either on the right or on the left then you will have to adjust the xStart value for that trey object. Increase it to move left and repeat the test. Decrease it to move right and repeat the test.
If the tile seems to be clipped either on the top or on the bottom then you will have to adjust the yStart value for that trey object. Increase it to move up and repeat the test. Decrease it to move down and repeat the test.
Next look at the rest of the tiles on the trey. If the tiles seems to skew to the right or the left then you will have to adjust the xStep value for that trey object. Increase it to correct skew to the right and repeat the test. Decrease it to correct skew to the left and repeat the test.
You will check the tile sheet yStep value later in this procedure.
Token Sheet Values
If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.
Do this step for each token sheet on the trey. Use the trey menu to display each token sheet.
First look at the top token on the trey. If the token seems to be clipped either on the top or on the bottom then you will have to adjust the yStart value for that trey object. Increase it to move left and repeat the test. Decrease it to move right and repeat the test.
If the top token seems to be clipped either on the left or on the right then you will have to adjust the xStart value for that trey object. Increase it to move up and repeat the test. Decrease it to move down and repeat the test.
Next look at the rest of the tokens on the trey. If the tokens seems to skew up or down then you will have to adjust the yStep value for that trey object. Decrease it to correct skew to the top and repeat the test. Increase it to correct skew to the bottom and repeat the test.
You will check the token sheet xStep value later in this procedure.
Game Board Start Values
Place the first tile on a tray on the board near the top left of the map. Does it line up within the containing hex? . . . both horizontally and vertically? If not, then adjust the start values (xStart and/or yStart) in the "board" object and repeat the test.
Game Board Step Values
Place the first tile on a tray on the board near the bottom right of the map. Does it line up within the containing hex? . . . both horizontally and vertically? If not, then adjust the step values (xStep and/or yStep) in the "board" object and repeat the test.
Stock Market Start Values
Place the first token on a tray on the market in the top left price box. DO NOT ACCEPT THE MOVE. Click on the four edges of the box. Is the token movement centered around the box? . . . both horizontally and vertically? If not, then adjust the start values (xStart and/or yStart) in the "market" object and repeat the test.
Stock Market Step Values
Place the first token on a tray in a price box on the right edge of the market. DO NOT ACCEPT THE MOVE. Click on the four edges of the box. Is the token movement centered horizontally around the box? If not, then adjust the xStep value in the "market" object and repeat the test.
Place the first token on a tray in a price box on the bottom edge of the market. DO NOT ACCEPT THE MOVE. Click on the four edges of the box. Is the token movement centered vertically around the box? If not, then adjust the yStep value in the "market" object and repeat the test.
Tile Sheet yStep Value
If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.
Do this step for each tile sheet on the trey. Use the trey menu to display each tile sheet.
For this test use a tile with six rotations. Place the tile anywhere on the board. DO NOT ACCEPT THE MOVE. Rotate the placed tile. If the tile seems to become more and more clipped as it is rotated, then adjust the yStep value for the tile sheet object and repeat the test.
Token Sheet xStep Value
If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.
Do this step for each token sheet on the trey. Use the trey menu to display each tile sheet. But skip this test for any token sheet that has no tokens with a "flip" value of true.
For this test use a token with a "flip" value of true. Place the token anywhere on the board or market. DO NOT ACCEPT THE MOVE. Flip the placed token. If the token seems to become clipped when it is fliped, then adjust the xStep value for the token sheet object and repeat the test.
Another Way To Get It Tested
In an ideal world there would be an application called testGameBox which would do all of the above work for you.
But I currently have no such application. So I have decided to be that application.
If you want your shiny new game box tested for you, then:
- Create a directory structure that looks like this:
boxes control images gameBoxName
where gameBoxName is the name of your game box (for example: 1870-REP01).
- Put your control file into the control directory.
- Put all of your image files into the gameBoxName directory.
- Zip up this directory structure.
- Include this zip file in an Email sent to Rich Price [rich at board18.org].
- State in this Email that you have created a new game box. Also state the game it is for and that it is an untested game box.
I will test the game box and report the test results back to you in an Email.