Generated Oct-23 04:07:28 GMT

You are not logged in.

Name: Password:

Or: Recover Account (Forgotten Password) / Register new user / Re-send validation email / Main Page

ADVERTISEMENT

Website Discussion, Bug Reports and Abuse Reports

Statistics on winning players

This thread is open.

Posted by Tub This user is a translator. 2009-08-03 13:06:49 GMT


Hi Hammerite !

I would find it very interesting if the website was able to extract some extra data from the games. Mostly, from the player who won.
For instance - during the course of the game, how many winners (in % of the total) have :
- activated one or more TL2+ Cotton Mills
- activated one or more TL3+ Cotton Mills
- activated one or more TL4 Cotton Mills
- activated one or more TL2+ Coal Mines
- activated one or more TL3+ Coal Mines
- activated one or more TL4 Coal Mines
- activated one or more TL2+ Iron Works
- activated one or more TL3+ Iron Works
- activated his/her TL4 Iron Work
- activated one or more TL2+ Ports
- activated one or more TL3+ Ports
- activated one or more TL4+ Ports
- activated one or more TL2 Shipyards
Also, still for the winning player :
- the minimum, maximum and average total number of loans taken
- the minimum, maximum and average final income per turn
Others, not tied with the winning player :
- the minimum, maximum and average number of Iron Works that have been overbuilt
- the minimum, maximum and average number of Coal Mines that have been overbuilt

I don't know if you can extract this easily. With the number of games played on your website, it would provide very interesting and accurate data on the game. I think you could change the current VPs statistic into :
- the minimum, maximum and average VPs scored when winning
- the minimum, maximum and average VPs scored when not winning
- the minimum, maximum and average VPs scored when loosing

Of course, it may be required to keep the "competitive"/"all" distinction as well with the 2/3/4 players one...

I really have no idea of what is possible, what is not, what is simple, what is not. But I'm really looking forward to this kind of data !


Thank you very much for everything Hammerite :)

Posted by Tub This user is a translator. 2009-08-03 13:13:02 GMT


I forgot for the winning player :
- the minimum, maximum and average number of canal links built
- the minimum, maximum and average number of rail links built

Still for the winning player, at the end of the canal phase :
- the minimum, maximum and average VPs
- the minimum, maximum and average income per turn
- the minimum, maximum and average number of loans taken
- the minimum, maximum and average money

:p

Posted by Hammerite This user is an administrator. 2009-08-03 18:02:26 GMT


This kind of thing will be a lot easier now that the format of the game logs has changed to one that is more amenable to being read by a computer. However, I've not paid any attention to doing anything like this so far.

Posted by Hammerite This user is an administrator. 2009-08-07 17:08:13 GMT


To give a more expansive response:

The old style game logs were just stored as plain text. That is, when you saw something like

Green (Player name) uses a Barrow - In - Furness card to take a loan of ?30, which puts him back to Income Space number 9 and leaves him with funds of ?36. For his second action, he uses a Port card to sell cotton from his Tech 2 Cotton Mill on the 1st space in Bolton via his own Tech 2 Port on the 1st space in Lancaster. He then sells cotton from his Tech 1 Cotton Mill on the 1st space in Warrington & Runcorn via his own Tech 2 Port on the 1st space in Preston. He is then obliged to end his Sell action.

in the little grey box, that's text that is stored in precisely that form in a database table. It's easy for a human to read and follow, but it would be tedious to try and program a computer to parse and analyse it.

In contrast, the new style game logs are stored as an abbreviated code that can be decoded by a computer program into text like the above. The code is just a string of (mostly) numbers that looks like the following:

... |4|17037|43|0|99|8|21|0|99|5|98|43|3|3|113|40|21|1|155|17|2|33|41|97|3|20714|13|22|5|23|40|3|96|1|34|10|0|18|99|98|6|24|11|18|99|8|13|34|99|98|1|7325|16|0|30|29|99|1|74|17|0|32|41|99|4|48628|5|3|99|8|8|4|99|1|12|22|3|40|98|98 ...

The program that turns it into human-readable text is actually available for anyone to see, since it is implemented in JavaScript; you only need to view the source of the "game log" window. For that matter, you can see the entire log (in abbreviated form) by doing the same thing.

If you wanted to count particular events in a game, you could tweak the program that decodes the log; and really you could get it to output anything you want, with enough tweaking. What doesn't help, of course, is that the program is not documented at all.

I may get around to writing a document that explains fully the structure of the abbreviated code, which would allow anyone to write their own program to take whatever information they wanted from a game log (that is, if they feel it's worth their time to do that much work).

A small number of the things you mention, for example: the number of rail links built, activation of a level 4 iron works, final income, could be looked at by writing a program that analyses information direct from the database. The only person who can do that, of course, is me, since I am the only person with access to the database. (In principle I could give someone else the database schema and explain the format of various columns, and that person could then write a program for me that would analyse the data, which I could then run.) Other things, for example: the number of canal links built, number of loans taken, are not amenable to this type of analysis because they are based on information that is either not tallied (number of loans) or thrown away at some point (number of canals built). These things could only be analysed using the log, since that is the only place any information is retained from which they could be extracted.

Posted by Tub This user is a translator. 2009-08-07 18:58:40 GMT


Wow !
Thank you very much for the answer.

I don't have the time to do this kind of stuff at the moment. I'll try to have a look anyway, and perhaps find someone interested (and who has some time) in doing it.

Posted by dayo001 2009-08-17 08:20:11 GMT


Hi.
I am interested in doing it.

I am writing a program that crawl bots.php, decode logs and calculate statistics.
But I noticed that bots.php does not contain full drawn distant market tiles information.
It seems that viewticker.php contains these information in canaldmtiles and raildmtiles variables.

Can I crawl viewticker.php ? ( may cause heavy traffic... )
Is there better way to get these information ?

Posted by Tub This user is a translator. 2009-08-17 09:42:40 GMT


Thanks dayo001 !

May I add one more statistic for the winning player :
- the minimum, maximum and average number of developments made

:p

Posted by Hammerite This user is an administrator. 2009-08-17 09:51:51 GMT


OK great, will you give me a little time first though to update bots.php?

So far nobody has used it much, and consequently I haven't been very rigorous in updating it to keep up with changes to the site. As a result it's out of date and doesn't quite work as advertised. I'll update it to a new version and I'll let you know in this thread when I'm done.

Posted by dayo001 2009-08-17 11:32:47 GMT


Thank you very much, Hammerite!

Posted by Hammerite This user is an administrator. 2009-08-17 13:59:14 GMT


After looking into it, I have concluded that it might be best to alter bots.php so that it provides information in the form of XML documents, instead of text files with the idiosyncratic syntax originally envisaged.

Posted by Tub This user is a translator. 2009-08-20 13:21:52 GMT


No, I'll never stop adding potentially interesting statistics :p

So, how many winners (in % of the total) ended the game having :
- the highest income
- the lowest income
- taken the most loans
- taken the least loans
- done the most developments
- done the least developments

Posted by Herb Finkel 2009-08-25 17:23:11 GMT


How about first move statistics?

How many winners (in % of the total) started with:

- develop off ports
- develop off cotton mills
- develop something else
- build coal mine
- build cotton mill
- took loan

Posted by Tub This user is a translator. 2010-02-02 09:24:09 GMT


Any news dayo001 ? Hammerite ?
Even if I'm playing a lot less, I'm still very much looking forward to this kind of data.

Posted by adpalm 2010-02-02 14:31:07 GMT


This whole topic was my first instinct upon first playing games on this site. I then decided it would take all the fun out of playing and decided not to pursue it.

The statistical development is very intriguing to me, but I'm not sure I want to see a bell curve of number of canals built by winning players and which opening move leads to the highest win percentage.

Nice to see I'm not the only stat nerd out there, good luck.

Posted by Hammerite This user is an administrator. 2010-02-03 00:52:46 GMT


I still mean to get something done about this, but my list of things to do is unfortunately quite long.

Posted by dayo001 2010-02-03 02:01:42 GMT


Hi.
I will create a program that crawl viewticker.php and calculate statistics in this week or next week.
It will crawl slowly (1 access per 1 minute). I hope it will not cause heavy network traffic.

Posted by randomuser 2010-02-03 02:32:03 GMT


The content of this message has been cleared by the person who posted it.

Posted by randomuser 2010-02-03 02:36:49 GMT


Would it be possible to get a page which has all of the column of rawticker on one per line? That way no one would need to crawl all of games. I'd be interested in that too.

To elaborate, I'm hoping that the page would be really easy to write, like 10 lines of code. If it's more than that, please disregard.

If you do the crawl dayo001, I'd love to get a copy of it if possible.

Posted by Tub This user is a translator. 2010-02-03 08:22:35 GMT


@adpalm : I think you shouldn't be afraid. This game is so much about adaptation to the circumstances that anyone trying to apply a recipe will get his/her ass kicked most of the time. If you get anything from this, it will be more like "Try not to build too much of this" or "Try not to avoid that". Nothing to be afraid of.

@dayo001 & Hammerite : many thanks !

Posted by Hammerite This user is an administrator. 2010-02-03 15:56:40 GMT


If you really are intending to write a program/modify the log output script to compute what happened in games based on the logs, then I may as well save you the trouble of taking the logs out of viewticker.php one by one. Here is a zip file containing data from a subset of the games played on the site. It contains raw game logs where they exist, and other data you might find useful. (Compared to the logs these other data only provide an incomplete picture of what happened, as they only record the state of the board at game end.)

Format is: number of games for which data is presented at the beginning; followed by '###'; followed by games' records in sequence, separated by '###'; followed by '###END'. Within games' records, columns are separated by '%%%'. If there is no game log for a game then the game log value in the file is 'NULL'.

Output was that produced by

SELECT
GameID,
OriginalPlayers,
GVersion,
Friendly,
PlayerExists,
TurnOrder,
VictoryPoints,
IncomeSpace,
Money,
AmountSpent,
RemainingTiles,
LinkStatus,
SpaceStatus,
SpaceTile,
TechLevels,
SpaceCubes,
CoalDemand,
IronDemand,
CottonDemand,
GameTicker,
CreationTime,
LastMove
FROM
Game
WHERE
GameStatus = 'Finished' AND
OriginalPlayers = CurrentPlayers


The WHERE conditions mean that aborted games aren't included, nor are games that were downsized.

Columns are in the order indicated in the above query. You may wish to ignore the first few hundred games, as there were a lot of bugs when the site first started up, and they might have skewed the results of games. But they probably didn't have a very major effect.

Here is the create table statement for the entire table (only a subset of columns are fetched by the above query).

CREATE TABLE `Game` (
`GameID` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
`GameName` VARCHAR(50) NOT NULL,
`GTitleDeletedByAdmin` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`GameCreator` SMALLINT UNSIGNED NOT NULL,
`GVersion` TINYINT UNSIGNED NOT NULL,
`CreationTime` DATETIME NOT NULL,
`LastMove` DATETIME NOT NULL,
`TimeLimitA` SMALLINT UNSIGNED NOT NULL,
`TimeLimitB` SMALLINT UNSIGNED NOT NULL,
`GameStatus` ENUM('Recruiting',
'In Progress',
'Finished',
'Aborted',
'Cancelled',
'Recruiting Replacement'
) NOT NULL DEFAULT 'Recruiting',
`PlayerToMove` TINYINT UNSIGNED,
`Friendly` TINYINT UNSIGNED NOT NULL,
`OriginalPlayers` TINYINT UNSIGNED,
`CurrentPlayers` TINYINT UNSIGNED NOT NULL DEFAULT 1,
`PlayerExists` CHAR(5) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
`TurnOrder` CHAR(5) CHARACTER SET ascii COLLATE ascii_general_ci,
`RailPhase` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`NumRounds` TINYINT UNSIGNED NOT NULL,
`Round` TINYINT UNSIGNED NOT NULL DEFAULT 1,
`Money` VARCHAR(19) CHARACTER SET ascii COLLATE ascii_general_ci,
`AmountSpent` VARCHAR(14) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '0|0|0|0|0',
`IncomeSpace` VARCHAR(14) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '10|10|10|10|10',
`VictoryPoints` VARCHAR(19) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '0|0|0|0|0',
`AbortVote` VARCHAR(5) NOT NULL DEFAULT '00000',
`KickVote` VARCHAR(5) NOT NULL DEFAULT '00000',
`RemainingTiles`
CHAR(70) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL
DEFAULT '12|12|12|12|12:7|7|7|7|7:4|4|4|4|4:8|8|8|8|8:6|6|6|6|6:14|14|14|14|14',
`Cards` VARCHAR(119),
`LinkStatus` VARCHAR(45) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`SpaceStatus` VARCHAR(50) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`SpaceTile` VARCHAR(50) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`TechLevels` VARCHAR(50) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`SpaceCubes` VARCHAR(50) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`HasPort` VARCHAR(30) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`CoalNet` VARCHAR(82) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL DEFAULT '',
`ShuffledDeck` VARCHAR(255) CHARACTER SET ascii COLLATE ascii_general_ci,
`DiscardPile` VARCHAR(255) CHARACTER SET ascii COLLATE ascii_general_ci DEFAULT '',
`ShuffledTiles` VARCHAR(12),
`TilesDrawn` VARCHAR(7) NOT NULL DEFAULT 'None',
`CoalDemand` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`IronDemand` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`CottonDemand` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`TalkRules` ENUM('No Talk Whatsoever',
'No Talk During Game',
'No Talk by Outsiders',
'No Talk by Outsiders During Game',
'No Restrictions'
) NOT NULL,
`Thread` MEDIUMINT UNSIGNED NOT NULL,
`GameTicker` TEXT,
`RandomLog` VARCHAR(255) CHARACTER SET ascii COLLATE ascii_general_ci,
`LastEvent` DATETIME,
`NumDepartures` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`ModularBoardParts` TINYINT UNSIGNED NOT NULL DEFAULT 7,
`SpecialModes` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`SpecialRules` TINYINT UNSIGNED NOT NULL,
`NumMovesMade` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
`EffectiveNumPlayers` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`DoWhatAtB` ENUM('Downsize',
'Abort',
'Kick current player; subsequently downsize',
'Kick current player; subsequently abort'
) NOT NULL DEFAULT 'Kick current player; subsequently abort',
`GameCreatorName` VARCHAR(20) NOT NULL,
`PlayerToMoveName` VARCHAR(20),
`GameIsFinished` TINYINT NOT NULL DEFAULT 0,
PRIMARY KEY (`GameID`),
INDEX `Maintenance_ind` (`LastMove`, `TimeLimitB`, `GameStatus`),
INDEX `GameList_ind_Game` (`GameStatus`),
INDEX `FinishedGames_ind` (`GameIsFinished`, `LastMove`),
INDEX `Stats_ind_Game` (`EffectiveNumPlayers`, `GVersion`, `Friendly`),
CONSTRAINT `Constr_Game_GameCreator_fk`
FOREIGN KEY `GameCreator_fk` (`GameCreator`) REFERENCES `User` (`UserID`)
ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT `Constr_Game_GVersion_fk`
FOREIGN KEY `GVersion_fk` (`GVersion`) REFERENCES `GameVersion` (`VersionID`)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `Constr_Game_Thread_fk`
FOREIGN KEY `Thread_fk` (`Thread`) REFERENCES `Thread` (`ThreadID`)
ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci


Columns that store data for each player separate the data of different players using a vertical pipe. The players are in the order Red, Yellow, Green, Purple, Grey. So if Money is '45|23|4|30|56' it means that at the end of the game Red had ?45, Yellow had ?23, Green had ?4, Purple had ?30 and Grey had ?56. Non-playing colours typically have default entries (e.g. money of ?30 or ?25, VPs of 0). Exception: RemainingTiles is in the following format - numbers of cotton mills remaining for all players (separated by pipes), numbers of coal mines remaining, then iron works, then ports, shipyards, link markers. Different types of tiles separated by colons.

TurnOrder gives the turn order at the end of the game. If it reads 40231 then it means Grey was first in the last round, followed by Red, Green, Purple, Yellow. Non-playing colours appear at the end.

GVersion refers to the board in use. 1 or 2 = Lancashire, 3 = the test version of France, 4 = the current version of France.

LinkStatus gives the owners of the rail links at game end, in alphabetical order of (link start, link end) (where the link start is the location that's first alphabetically out of the two). So the first link listed is BIF-Lancaster and the last is W&R - Wigan. 9 means it's not owned.

SpaceStatus, SpaceTile, TechLevels, SpaceCubes give the status of the industry spaces. The spaces are ordered alphabetically by the name of the location they're in. SpaceStatus is like LinkStatus; SpaceTile is 0 for Cotton Mill, 1 for Coal Mine, 2 for Iron Works, 3 for Port, 4 for Shipyard. SpaceCubes records the number of cubes on the tile for a coal mine or iron works. For other types it's 1 if the tile is unflipped, or 0 if the tile is flipped.

Posted by randomuser 2010-02-03 22:09:21 GMT


Wow this is awesome I haven't even scratched the surface!

Posted by randomuser 2010-02-03 23:30:08 GMT


The content of this message has been cleared by the person who posted it.

Posted by Hammerite This user is an administrator. 2010-02-03 23:49:50 GMT


I read your post randomuser, and I went away and thought about it and thought, maybe randomuser has made an error and misinterpreted TurnOrder as giving the turn order at the start of the game rather than the end?

You've cleared your post but if I was right in my intuition I encourage you to re-post it; if it's true that the player who goes first in the last round often wins then that, too, is interesting.

(TurnOrder belongs to the group of columns that I described as containing information about the state of the board at the end of the game only. During the game, it contains information about the turn order at the current time. It stays unchanged when the game ends, thus showing the turn order in the final turn.)

Posted by randomuser 2010-02-04 00:39:04 GMT


The content of this message has been cleared by the person who posted it.

Posted by randomuser 2010-02-04 01:35:11 GMT


The content of this message has been cleared by the person who posted it.

Posted by randomuser 2010-02-04 01:41:22 GMT


The content of this message has been cleared by the person who posted it.

Posted by randomuser 2010-02-04 01:54:10 GMT


The content of this message has been cleared by the person who posted it.

Posted by randomuser 2010-02-04 02:19:24 GMT


For anyone who has been following this thread from the time I first posted results till now, I apologize. I should have checked my work more closely before posting. If you didn't manage to read any of my previous but now clear posts, you didn't miss anything.

After cleaning up a bug regarding empty gametickers, a couple random stats which I'm pretty confident about this time. This is for competitive, 4 player, Lancashire maps:


Total Games: 1332
Average Winning Score: 147.54

Position 1: 329 wins
Position 2: 335 wins
Position 3: 349 wins
Position 4: 319 wins

More stats as they come, and in the future I will be sure to check for bugs more closely.

Posted by Tub This user is a translator. 2010-02-04 06:21:09 GMT


Ah, yes, it would have been interesting to have the stats about the positions at the start of the rail phase (and the canal phase, for the sake of it).
But it's impossible, if I understand correctly.

Posted by randomuser 2010-02-04 06:24:28 GMT


The stats above are positions at the start of canal phase. I think that it will eventually be possible to do it for rail as well.

Posted by randomuser 2010-02-04 07:13:12 GMT


Here's another tidbit:

Same filters as before (4 player only etc etc)

Winning Strategies:

Cotton: 442
Balanced: 281
Shipyards: 251
Ports: 139
Ports/Shipyards: 88
Shipyards/Ships+Rail: 77
Cotton/Ports: 22
Cotton/Shipyards: 18
Ships+Rail: 13
Cotton/Ports/Shipyards: 1

Cotton means they placed and/or developed away at least 1 l4 cotton mill
Shipyards means they placed both shipyards
Ports means they placed and/or developed away at least 1 l4 port
Ships+Rail means they placed at least 1 l2 shipyard and didn't place or develop away anything beyond level 1 mills and ports.
Balanced means they did not fulfill any of the above criteria

Someone who won who placed both a l4 cotton mill and a l4 port would show up as Cotton/Ports, and would not show up under just Cotton or just Ports. (Thus each game is counted in only 1 category.)

If you are curious as to what game did someone win using Cotton/Ports/Shipyards (as I was) it's:

http://wargamessoc.union.shef.ac.uk/brass/board.php?GameID=3484

If anyone wants me to prioritize any sort of datamining, let me know. Otherwise I'm just working off of what I'm curious about. Or if you think the strategy categories should be defined differently.

Posted by Hammerite This user is an administrator. 2010-02-05 23:02:08 GMT


An FYI: I don't expect this is of importance to anyone, but I have refactored the game log javascript code so that the unvarying parts of it (i.e. the functions) are in a separate file (tickerscript.js). The page viewticker.php now just spits out the appropriate variables and includes the file containing the functions as an external script.

Posted by dayo001 2010-02-11 16:37:51 GMT


I calculated some statistics from gamedata.txt instead of viewticker.php.
http://www5e.biglobe.ne.jp/~tansnat/dayo001/brass-statistics.html

I noticed that gamedata.txt does not contain full drawn distant market tiles data.
Is it possible to create a file that contain GameID and full drawn distant market tiles data?

Posted by Hammerite This user is an administrator. 2010-02-11 18:32:06 GMT


Here is a version that includes the column `RandomLog` that gives the full information about distant market tiles. The additional column appears just after `GameTicker` (so it is third from last). It is either NULL (data not retained) or an alphanumeric string. If it's an alphanumeric string then it takes the form ABCD, where A is a string of lowercase letters representing the order into which the cards were shuffled in the Canal Phase; C is the same for the Rail Phase; B is a string if digits representing the order into which the Distant Market tiles were shuffled in the Canal Phase; and D is the same for the Rail Phase. The tiles are to be read from right to left (so if it's 401033212232 then the first tile drawn would be 2, followed by 3, then another 2, etc.)

SELECT
GameID,
OriginalPlayers,
GVersion,
Friendly,
PlayerExists,
TurnOrder,
VictoryPoints,
IncomeSpace,
Money,
AmountSpent,
RemainingTiles,
LinkStatus,
SpaceStatus,
SpaceTile,
TechLevels,
SpaceCubes,
CoalDemand,
IronDemand,
CottonDemand,
GameTicker,
RandomLog,
CreationTime,
LastMove
FROM
Game
WHERE
GameStatus = 'Finished' AND
OriginalPlayers = CurrentPlayers

Posted by dayo001 2010-02-11 23:50:08 GMT


Thank you very much!

Posted by RicoH 2010-02-12 11:55:58 GMT


Nice job, congrats !
I'm interested to know how the % of winnig player by combination of industrie use (at least lvl 2)

Posted by Hammerite This user is an administrator. 2013-08-14 18:38:48 GMT


http://junk.orderofthehammer.com/j2013/game-data-2013-08-14.zip

Here you can find a new dump of data from completed games up to the present (mid-August 2013).

It includes the data from the previous dump as well as data for games that post-date that dump. If I release any further dumps in the future then they will likely include only a small overlap with existing dumps, as the size of the data is getting quite large (this zip file is about 25MB). The data is split into files with a maximum of 200 games to a file. The format is as previously. Exception: missing data fields are simply empty (e.g. if there is no game log then instead of '%%%(game log)%%%' the dump just has '%%%%%%').

Here is the query used to get at the data: (mostly the same as the previous one)

SELECT GameID, OriginalPlayers, GVersion, Friendly, PlayerExists, TurnOrder, VictoryPoints, IncomeSpace, Money, AmountSpent, RemainingTiles, HEX(LinkStatus) AS LinkStatus, HEX(SpaceStatus) AS SpaceStatus, HEX(SpaceTile) AS SpaceTile, HEX(TechLevels) AS TechLevels, HEX(SpaceCubes) AS SpaceCubes, CoalDemand, IronDemand, CottonDemand, GameTicker, RandomLog, LastMove FROM Game WHERE GameStatus = 'Finished' AND OriginalPlayers = CurrentPlayers

You must log on in order to post messages.

Click here to return to the Board Page, or here to return to the Main Page.