One kind of game visualization

BZFlag related only please...please attach large images
Post Reply
User avatar
Private First Class
Private First Class
Posts: 78
Joined: Wed Nov 22, 2006 1:21 am

One kind of game visualization

Post by gnu-sense »

So this is *one* kind of game visualization I've been working on.
(306.94 KiB) Not downloaded yet
This is generated in R using the rgl package. In this image, the lines represent the locations that players travel between spawning and death, and spheres represent flag carrying. Red lines and spheres are for the red team members and flag, and purple lines and spheres are for the purple team members and flags, respectively. The rendering of the HIX map is not perfect (base textures are not rendered, at least one teleported is colored incorrectly). I have a version in WebGL that allows one to rotate and zoom as desired.

In this game you can see a fairly typical use of the back rail for defensive flagging, with the diagonal obstacles being used for offensive flagging, and defensive flagging when necessary. Other non-flagging players occupy many other points that the flags never seem to get to. Also, while the standard advice for HIX is to avoid jumping, because it makes you vulnerable, there is a lot of jumping on these and the other games I have looked at.

The data for this come from an actual recorded GU game played sometime in June 2007. I have a database of other games which I can draw similar maps for, and I am working on conducting some statistical analysis in order to understand how the map objects are used in tactics and play styles. I am hoping to make a number of presentations on this work at games conferences, maybe as early as July (CGames). It has taken me a very long time to work this up, with lots of (not particularly good) programming, database design, etc. involved. I have lots of potential plans for this work in the future, so if anyone is seriously interested, please PM me. Other comments are also welcome.


(2012/06/01 edit: changed uploaded image; added text below)
The new image corrects a problem I had with the flag carrying data. Basically, it was bogus in that big chunks of it were missing. As a consequence, it was not possible to see the flag captures; this version improves that to some extent. There are three captures by Purple against Red, and seven captures by Red against Purple in this game. Rotation and zooming helps, which you get in the WebGL version but not in this still PNG version.

Part of the trouble I have had is that the data come from recorded games files, where each packet is essentially an instruction to the client to update the game state appropriately. In some packets, a lot of information is explicit, whereas in others, it requires matching against some other information to figure out what the full game state is and how it gets changed. Since I am handling the data in SQL, I don't really have a "game state" (or I couldn't create one in advance, not knowing entirely what had to be in it yet, or how exactly it was to get "updated"), and that means there are a whole lot of messy joins with nested selects and window functions and every manner of abomination unto Rightful Good Sense.

When I have some time, I'll say more about the aims of the project in another post, in a different topic.
Last edited by gnu-sense on Sat Jun 02, 2012 1:36 am, edited 1 time in total.
Private First Class
Private First Class
Posts: 89
Joined: Fri May 06, 2011 4:58 pm
Location: Hang on, let me get a map...

Re: One kind of game visualization

Post by mr64bit »

Very cool! (I was wondering where your profile pic came from) What is the sampling rate?
I would call this a "One of a kind game visualization"! Good work!
Post Reply