Difference between revisions of "Game Box Creation - Testing"

From BOARD18 Project WIKI
Jump to navigation Jump to search
(→‎Do an Actual Reload: documented changes to script)
(deleted another way section)
 
(20 intermediate revisions by the same user not shown)
Line 2: Line 2:


{{Game Box Creation Index}}
{{Game Box Creation Index}}
== "Do It Yourself" Testing ==
== Testing On a BOARD18 Server ==
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  
BOARD18 provides to author and admin level players the ability to upload game boxes directly from the PC running the browser to the BOARD18 database.  
'''[[Game_Box_Creation_-_Testing#Other_Ways_To_Get_It_Tested|Other Ways To Get It Tested]]''' section below.


===The Testing Environment===
If you wish to have access to this facility then contact a site
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. <br>This is especially true if you are running a Linux distribution on that PC.
administraator for the BOARD18 site in question and request that
you be made an '''author''' level player. <br><span style="color: Green">
Note that I will grant '''anyone''' author level access to
test1.board18.org for the purpose of testing new game boxes.</span>


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.  
A detailed discussion of the usage of this direct game box upload facility can
be found on the [[BOARD18 Author's Guide]] page.


For Ubuntu LINUX see
==The Actual Testing==
[https://help.ubuntu.com/community/ApacheMySQLPHP ApacheMySQLPHP].
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.
For Windows see
 
[http://httpd.apache.org/docs/2.2/platform/windows.html Apache for Windows] or
===Tile Sheet Values===
[http://www.wampserver.com/en/ WampServer]. <br>There is much more documentation out there and it covers other operating systems too.
<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 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.


===Creating The BOARD18 Test Site===
===Token Sheet Values===
Next you must create a BOARD18 site on your Apache server.<br>
<span style="color: Fuchsia">If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.</span>
'''[[How_To_Create_a_BOARD18_WEB_Site|<span style="color: Green">This help file</span>]] 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 create a few dummy users and 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.
Do this step for each token sheet on the trey. Use the trey menu to display each token sheet.


===Loading Your Game Box===
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.
This step requires you to use your shell (command line) access on the web server PC.


====Loading The Game Box Images and Control File====
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.
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 1826-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.
* Place your control file into this directory. The name of this control file must be unique!


====The Game Box Control File====
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.  
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):
* cd to the utility directory on your web server.  
* Enter on the command line:
<pre>
php loadGameBox.php control/boxname.json
</pre>
* You should now see an output that looks something like this:
<pre>
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.
</pre>


===The Actual Testing===
You will check the token sheet xStep value later in this procedure.
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.


Start a game using your new game box, Does the board display correctly? If not check the horizontal and vertical size parameters in the "board" object. Make any needed corrections and/or adjustments. Then reload the game board and test again. Be sure to check that the hexes are proportioned correctly.
===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.  


Do the same for the Stock Market.
===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.


Place the first tile on the tray on the board near the top left of the map. Does it line up with the containing hex?  . . . both horizontally and vertically? If not, then adjust the relevant start values in the "board" object. Next, if the tile seems to be clipped either horizontally or vertically, then adjust the relevant start values for the tile sheet object. Finally rotate the placed tile. If the tile seems to become more and more clipped as it is rotated, then adjust the xStep value for the tile sheet object. Repeat this procedure for a tile near the bottom of the tray to test the yStep value for the tile sheet object. Use a tile with six rotations.  
===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.  


You will have to go through this entire process for each tray object (both tile and token sheet types).  
===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.


Finally, to test the xStep and yStep values for the "board" and "market" objects, repeat the first test one more time per object. Use any relevant tray and place the object near the bottom right of the map or market sheet. Does it line up with the containing hex?  . . . both horizontally and vertically? If not, then adjust the relevant step values in the "board" or "market" object.
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.  


===Reloading the Modified Control File to the Database===
===Tile Sheet yStep Value===
While testing your game box you will probably have to modify the control file repeatedly. <br>
<span style="color: Fuchsia">If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.</span>
Use the following procedure to reload the JSON control file into the database without changing any other part of the table row for the game box.


====Setup the Reload Procedure====
Do this step for each tile sheet on the trey. Use the trey menu to display each tile sheet.
'''You only have to do this once for a given game box.'''


* Start a terminal session.
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.
* Enter the following command on the command line:
  mysql -u board18 -pboard18 board18BOARD18/
If you did not use board18 for your user id (-u) or your password (-p) then substitute the correct values.
* Enter mysql command:
  select box_id, bname from box;
* You should see output similar to the following:
    +--------+---------+
    | box_id | bname  |
    +--------+---------+
    |      1 | testBox |
    +--------+---------+
    1 row in set (0.00 sec)
* '''Make note of the box id for your testBox.'''
* Exit mysql.


====Do an Actual Reload====
===Token Sheet xStep Value===
'''Do the following each time that you wish to reload your control file to the database.'''
<span style="color: Fuchsia">If you used the provided GIMP Python scripts to produce the sheet then this test is probably not necessary.</span>


* Start a terminal session.
Do this step for each token sheet on the trey. Use the trey menu to display each tile sheet.
* Go to the '''utility''' directory.
But skip this test for any token sheet that has no tokens with a "flip" value of true.
* Enter the following command on the command line:
  ./addJSONtoBox box_id control/testGame.json
Replace '''box_id''' with the value noted above and '''testGame.json''' with the name of your control file.
* You should see the name, version and author of your game box displayed if the reload was successful.


==Other Ways To Get It Tested==
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.

Latest revision as of 17:21, 20 July 2016

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

Testing On a BOARD18 Server

BOARD18 provides to author and admin level players the ability to upload game boxes directly from the PC running the browser to the BOARD18 database.

If you wish to have access to this facility then contact a site administraator for the BOARD18 site in question and request that you be made an author level player.
Note that I will grant anyone author level access to test1.board18.org for the purpose of testing new game boxes.

A detailed discussion of the usage of this direct game box upload facility can be found on the BOARD18 Author's Guide page.

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.