[casual_games] implementing the new IGDA data reporting standard...

James Gwertzman james at popcap.com
Tue Nov 7 05:51:07 EST 2006


You've all probably heard by now about the new IGDA data reporting
standard that we are working to implement across the industry. The goal
of this standard is to make it possible for business partners to report
sales to each other electronically (as opposed to using paper reports or
non-standard electronic reports which must be manually reentered into a
sales database).

 

Several companies are now actively participating in this initiative, and
plan to begin distributing royalty reports using this new format in the
next month or two, including RealNetworks, PlayFirst, Reflexive
Entertainment, and PopCap Games. I asked the engineer at Reflexive
responsible for implementing this standard to write up a description of
the work involved; his report is below. My hope is that for anyone
considering implementing the standard, but worried about the work
involved, this report will help you realize that it's really pretty
easy.

 

---------------------------

James Gwertzman

Director of Business Development

PopCap Games, Inc.

+1-206-256-4210

 

============

 

Reflexive Entertainment sends out monthly royalty reports in PDF format
to our developers and affiliates.  Although PDF documents are portable
and look great, they are not suited for automated data transfer.  This
means that hundreds of developers and affiliates must manually import
our data into their own systems, if they want to run sales reports
across all their channels.  Since the IGDA Casual Games Data Reporting
Initiative helps eliminate manual entry, and therefore reduce error, we
thought it would be a great idea to implement the XML output in our own
reporting system.

 

Integrating the XML standard into our existing reporting tools was
painless.  It took about one full work day from the time I started
reading the specifications to the time our report engine was correctly
spitting out data in the new XML format.  Since our reporting software
already loads in all of the data from our remote sales database in order
to create the PDF files, I didn't have to deal with retrieving or
calculating the data in the code.  Therefore, the entire process for me
consisted of the following:

 

1. Figure out which values need to be included in the XML report.

2. Create a new function that accepts sales data for an account and
outputs their values as XML.

3. Call the new function for each account.

 

To determine which elements to output, I referred mostly to the
"XDRI_Report.xsd" and "amazing.xml" files included in the IGDA Casual
Games Data Reporting downloadable zip file.  For example, the XML schema
included optional elements for Subscription and Tournament data.  Since
Reflexive does not offer subscription or tournament sales, I didn't need
to write those elements to the XML file.  Determining whether an element
is optional is as simple as reading off the "minOccurs" value in the
schema for that element.  If minOccurs=0, then the element is not
required.  

 

Only basic understanding of XML is required.  Luckily, XML creation is
well supported in most programming languages.  Our reporting software is
written in C#, which means that I was able to use an XmlTextWriter
object to output the data values as XML elements.  For example, to
create a new XML document that contains the "title" value, one can
write:

 

string ReportTitle = "Reflexive Arcade Royalty Report";

XmlTextWriter writer = new XmlTextWriter();

writer.WriteStartElement("report");

writer.WriteElementString("title", ReportTitle);

writer.WriteEndElement();

 

This would create the following XML:

 

<report>

    <title>Reflexive Arcade Royalty Report</title>

</report>

 

Using similar commands as above, I was able to create an entire XML
document per the specs.  Reflexive includes additional information in
our PDF reports than is required by the IGDA standard.  However, the
standard provides a way for us to include this data as well in the XML
reports through the use of optional <note> elements.  The "amazing.xml"
document provides some examples of the <note> element that we chose to
implement, such as information about game file sizes, MBytes served,
download costs, phone orders, phone costs, and e-commerce fees.

 

In conclusion, integrating the XML standard into our existing reporting
system was quick and straightforward.  We look forward to the time when
all developers, affiliates, and publishers can share data using this
standard format.

 

Isaac Shepard

Senior Software Engineer

Reflexive Entertainment

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://seven.pairlist.net/pipermail/casual_games/attachments/20061107/47a435c8/attachment.html


More information about the Casual_Games mailing list