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

DateVersionAuthorDescription
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 : 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

What Xnfo is not

Who is this project addressed to ?

What productions of demoscene is it addressed to ?

The goal is to cover all kind of demoscene production information.

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... 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.