Document
| Title : | Introduction to Xnfo |
| Project : | Xnfo (http://xnfo.sf.net) |
| Reference : | xnfo-intro |
| Version : | 0.04 |
| Date : | 09/02/2003 |
| Author(s) : | Sanx |
|
Changes
| Date | Version | Author | Description |
| 09/02/2003 |
0.04 |
Sanx |
Updated the xnfo example, with a 1.1 valid standard.
|
| 11/01/2003 |
0.03 |
Sanx |
Removed deprected parts.
Typo fixes.
|
| 08/01/2003 |
0.02 |
Sanx |
Translation of information from french draft.
|
| 07/01/2003 |
0.01 |
Sanx |
Initialization of the document.
Document plan and ideas.
|
|
Subject
This document presents an overview of the project. It explains where it comes from, and where it wants to go. It does not go deep in technical details, for that read the Xnfo Specification document. Xnfo is built on demoscene information, have a look at the Xnfo Glossary to see definitions.
Motivation
Demoscene
Demoscene has a great power of production, it also has a great power of organizing.
What have been done
As everybody knows that demoscene has very important online databases :
- pouet.net : The more recent, but the bigest production database, covers the subject of groups and productions.
- scene.org : The demoscene archive.
- ojuice.net : Demoscene news center, demosceners and demogroup database.
- scenemusic.net : Music productions database and news center.
- gfxzone.org : Graphic productions database and news center.
- Other platform specific databases.
Demoscene started using BBS, and file/release identification and description problematic started; file_id.diz was born (as a BBS standard). Also .nfo files appeared, it still exists but the information is not standard, and it's more and more replaced by readme.txt files.
On an other part, party organizers created their custom competition entry system, and their own process or software for party shows.
What to do
For sure, demoscene is about creating demos, and not nfo files. But standardizing the form of the information, and the way to use it could be helpfull. Demoscene is also about spreading and beeing aware of recent productions, it may help.
Standardizing the information through a standard based on an industry standard, say XML. Standardizing with the ability to reference online databases information.
It should be nice to have tools that help demo spreading and referencing, that help party organizers to manage competitions.
General idea
The idea behind creating a standard, is that in every group or system, there are process that could be formalized.
The first idea was to create only a tool suite, but it was a bad idea, demosceners like to create their own tools (like they already do well), so people should create their own tools on an open data model.
Xnfo could be a replacement for nfo files, but it think it would be a bad idea to want nfo files disappear, both should coexist, one dedicated to human (nfo), one to automatic systems (xnfo).
Example
To make it more concrete, here is a valid example of what Xnfo looks like. This example is really huge, and may present lots of aspects of information, productions do not need that much information.
<?xml version="1.0" encoding="UTF-8"?>
<xnfo standard="1.1" version="1" mode="complete" author="sanx(at)fxteam(dot)net">
<demo pouet_id="12">
<name>example</name>
<remix-of pouet_id="1234">
<url>http://www.mygroup.org/demos/myoriginal.xnfo</url>
<file>myoriginal.zip</file>
</remix-of>
<version>
<preview/>
<major>1</major>
<minor>0</minor>
<build>1</build>
</version>
<authors>
<group pouet_id="12" ojuice_id="123">the other group</group>
<person pouet_id="123" ojuice_id="12">mynickname</person>
</authors>
<category type="demo">Demo</category>
<release>
<party url="http://www.mystic-party.org">mystic party</party>
<date>08/21/2002</date>
<rank>12</rank>
</release>
<support>
<configuration>
<platform type="win32">Windows</platform>
<api type="direct3d">Direct 3d</api>
<recommended>
Gforce class graphic card
</recommended>
</configuration>
<configuration>
<platform type="macosx">Mac OS X</platform>
<api type="opengl">Open GL 1.2</api>
<recommended>
Gforce class graphic card
</recommended>
</configuration>
</support>
<credits>
<person name="mynickname" email="me(at)mydomain(dot)com">
Modeling and texturing
</person>
</credits>
<greetings>
<group>epidemic</group>
<group>fx team</group>
</greetings>
<messages>
<message from="mynickname">
I hope you liked this example :)
</message>
</messages>
<runs>
<run platform="win32" config="default">runme.exe</run>
<run platform="linux" config="default">runme-elf</run>
<run platform="macosx" config="default">runme</run>
</runs>
<autoupdate>http://www.mygroup.org/demos/mydemo.xnfo</autoupdate>
<archive>
<url>http://www.mygroup.org/demos/mydemo.zip</url>
<file>mydemo.zip</file>
</archive>
<soundtrack scenemusic_id="1234">http://www.mygroup.org/demost/mydemo.mp3</soundtrack>
<screenshots>
<screenshot desc="my first screenshot">sshot01.jpg</screenshot>
<screenshot desc="my second screenshot">sshot02.jpg</screenshot>
</screenshots>
<compo>
<category type="demopc">PC Demo</category>
<messages>
<message to="audience">this is a example demo, be surprised.</message>
<message to="orgas">please, run it in 640x480x32, or using the xnfo launcher.</message>
</messages>
<run platform="win32" config="default">runme.exe -res="640x480x32"</run>
</compo>
</demo>
</xnfo>
What Xnfo is
- A standard for information : it defines what information is interesting to define a demoscene production.
- An XML standard : today most information we can get (documents, news, math formulas, vector drawing, ...) has it's own "open" XML standard, defined by the actors of the domain where it applies.
Here the standard is exposed thru different documents :
- A Specification : Presents the way the information should be interpreted, should be considered as the semantic.
- An XSD Shema : The schema defines the structure of the XML document, should be considered as the syntax, or a DTD.
- A set of user scenarios : To see the possible use of Xnfo.
Some scenarios are written to explain what the example tools are for, and how you should be able to use Xnfo, depending on your role on demoscene. These scenarios defines basis for tools specifications.
- A set of example tools : Anybody should be able to exploit Xnfo without having to create his own tools. In this idea we will provide example tools that will not only allow people to use Xnfo, but also show possible use of Xnfo. It may help you to create your own tools.
What Xnfo is not
- A open source software : Xnfo is not an open source software. It comes with some example you should be able to use, these examples are released under LGPL. This software is the proof that the technology is usefull. As Xnfo is a specification, everybody can do his own software based on the specification.
- A replacement for online databases : (like pouet or ojuice). Xnfo will not be replacement for these databases, it will rely on it through references, permitting to link the information.
- A set of procedures or process : User scenarios are given as examples, but may not be followed.
- A world domination project : I prefer to let that to elitegroup :)
Who is this project addressed to ?
- Demoscene database admin : The people behind those great online databases the demoscene has.
- Party organizers : People that handle productions in the competition, that shows it on the big screen, and much more.
- Demoscener : Person that creates a demoscene production.
- Demoscene promoter : Person that presents the demoscene to spectators or to sceners. It can be people creating demoshows, or also people working for diskmags, etc. In general these people use intensivly demoscene information.
- Demo watcher : A person that watches demo on his computer.
What productions of demoscene is it addressed to ?
The goal is to cover all kind of demoscene production information.
- Demo (large meaning) :
- Demo
- Intro (4k, ...)
- Wild
- Specific productions :
- Music disk
- Art pack
- Diskmag
- Music (Tracked, mp3, ...)
- Graphics
- Game
- Fast
- Custom...
- Party :
- Invitation.
- Competition rules.
- Productions and results.
Planning of the project
Here is a preliminary planning, if you want precise information the up-to-date roadmap of the project, expect by the end of...
- January 2003 :
- Xnfo Glossary.
- Xnfo Scenarios (Xnfo edition, Party and competition management).
- Xnfo Specification (draft).
- XSD, DTD, examples Xnfos.
- February 2003 :
- Xnfo editing software.
- Party and competition management software.
- March 2003 :
- April 2003 :
- More software, it depends of the demand.
If more people join the project, the planning should be completed.
Responsible people
The person behind xnfo is sanx / fxteam (email), formerly president of a french demoscene organization epidemic, demomaker, and software engineer specialized in IT.
Anybody interested in the project is welcome, especially people expert in demoscene information (demoscene database admin, party organizer, ...).
Can I say something ?
Sure, any comment about this project is welcome, and can be given on this forum. If you find big english mistakes please post it on this forum.
This document belongs to xnfo project.