0 A.D.

Contenu:

Published: 10 July 2009

English 简体中文 Español Português Português Русский Français Deutsch Türkçe Polski Español de Chile Česky עברית Galego   French translation by lmg.

Swamp Defense screenshot

Qu'est ce que 0 A.D.?

0 A.D. est un jeu de stratégie en temps réel, basé sur des faits historiques, en 3D, en développement, multiplateforme, et libre.

Que faites vous?

Nous passons d'un processus de développement fermé à un open source: il s'agit de rendre disponible le code sous GPL, et le contenu artistique sous CC-BY-SA, et d'encourager les contributions extérieures. Nous avons travaillé sur 0 A.D. pendant notre temps libre depuis des années, et nous voulons maintenant montrer ce que nous avons réalisé, et de permettre à plus de gens de s'investir, plus facilement.

0 A.D. est un projet complexe et ambitieux. Beaucoup de travail a été fourni, mais beaucoup reste à faire. Nous ne publions pas un jeu jouable - vous allez avoir à attendre biens plus longtemps si c'est ce qui vous intéresse. Il y a un grand nombre de fonctionnalités importantes manquantes, de bugs et d'aspérités. Nous publions ce projet en tant que Work in Progress, pre-alpha, destiné aux développeurs qui seraient intéressés par ce genre de choses, dans l'espoir de partager des ressources avec une communauté qui sinon serait exclue de notre processus de développement.

C'est une étape expérimentale et nous ne savons pas ce qui va marcher le mieux, donc nous allons progresser précautionneusement, et essayer de nous adapter à partir de notre expérience. Ce document décrit nos plans actuels; du retour serait apprécié! Contactez nous sur nos forums, ou #0ad sur QuakeNet IRC. Discovery screenshot

Pourquoi devrais-je m'y intéresser?

Nous pensons qu'il ya une chance pour que nous produisions un jeu plutôt décent avec quelques fonctionnalités uniques. Peut-être voulez-vous aider ce jeu a naitre.

Peut-être voulez-vous acquérir l'expérience du travail sur un projet de programme complexe, ou particulièrement sur un jeu. Il y a un large panel de domaines concernés: les graphismes et le son, l'IA et l'interface utilisateur, la gestion des fichiers et l'écriture de scripts de gameplay, le réseau, etc... Le cadre de base est en place, et une partie est déjà très solide, mais il y a du travail pour plonger dans les détails et travailler sur divers composants.

Peut-être voulez-vous améliorer le support du jeu sur votre plateforme. Peut-être voulez vous nous montrer combien nous sommes stupides et comment vous pouvez améliorer le code (Nous sommes loin de la perfection!)

Peut-être voulez-vous utiliser des morceaux de notre code ou de nos graphismes dans votre propre projet. Peut-être voulez vous utiliser notre jeu pour donner un cours pratique sur le développement d'un jeu. Et peut-être avez vous d'autres raisons. Gaugamela screenshot

Pourquoi faites-vous cela?

Nous travaillons sur de jeu sous une forme ou l'autre depuis 2001. Nous avons parcouru beaucoup de chemin depuis ce moment, mais réaliser ce genre de jeu est vraiment très difficile. L'équipe originale était largement composée d'étudiants, qui on maintenant menés leur vie et ne peuvent pas dépenser autant de temps pour ce projet. Attirer de nouveaux développeurs est difficile et prend du temps – peu de gens ont le temps et les compétences nécessaires pour apprendre comment travailler a l'intérieur du code existant et à faire des contributions significatives. C'est pourquoi nous voulons diminuer les barrières à l'entrée, rendre plus facile aux gens de regarder notre projet pour voir si ça les intéresse, dans l'espoir que quelques-uns déciderons que oui.

D'autre part, nous avons quelques idées, des outils et du code que nous pensons êtres plutôt sympas et que nous voudrions partager. Nous devrions les nettoyer et les documenter proprement pour qu'ils soient plus utiles à d'autres gens, mais rendre le code disponible n'est que la première étape. Et, particulièrement sur linux, l'open-source simplifie beaucoup de problèmes avec la distribution et le debuggage, et rend les choses plus faciles pour nous et les utilisateurs.

Jusqu'à maintenant, l'accès au projet était limité aux membres 'officiels' de notre groupe, malgré le fait que le but ait toujours été de produire un jeu non-commercial et que l'adhésion ait toujours été assez ouverte. Le principe de la simplification par l'open source n'était pas considéré intéressant il ya quelques années, mais les temps ont changés et ce semble maintenant le chemin naturel pour développer notre projet. Magna Graecia screenshot

Comment le développement va-t-il être organisé?

En ouvrant ce projet, nous avons besoin de respecter la communauté en fournissant autant de supports d'information et de communication que possible, pour que vous puissiez bénéficier de la participation au projet (En espérant que vous contribuiez en retour et nous bénéficiez, bien sur !), ayant d'autre part le désire de mener le jeu à un haut niveau et avec quelques contraintes de notre ancienne organisation.

Par le passé, tous les développeurs faisaient partie de 'l'équipe' officielle: n'importe qui peut demander à rentrer, nous aurons alors une courte entrevue par IRC pour les connaitre, et si il semble qu'ils ont le temps, l'énergie et les compétences pour contribuer utilement, alors il deviennent membres. Nous allons garder le noyau de développeurs et les méthodes de communication privées – nous ne voulons pas risquer de détruire l'équipe que nous avons déjà. Nous allons continuer à viser une conception particulière, et nous ne voulons pas diverger trop de celle-ci – nous préférons ne pas ajouter (et avoir à maintenir) des fonctionnalités qui ne font pas partie de nos buts. Nous publions les données de graphismes et de gameplay pour deux des six civilisations, mais conservons les civilisations non terminées jusqu'à ce qu'elles soient plus complètes et utilisables.

Mises à part ces restrictions, nous ouvrons l'accès au serveur de gestion des sources (subversion), et à la documentation ainsi qu'au bug-tracking system (Trac), et déplaçons nos discussions techniques sur un forum ouvert. Tout le monde peut télécharger, compiler, et faire fonctionner la dernière version du jeu. Notre processus initial pour les contributions sera très basique: Si vous voulez des changements, vous devrez créer un patch et nous le soumettre, et nous devrons alors le passer en revue et peut-être soumettre des changements ou le committer sur SVN.

La license des contributions est une question ouverte. D'un coté, accepter du code GPL garantirait aux contributeurs que nous n'allons pas faire un usage non prévu de leur travail. De l'autre, nous aimerions garder nos options ouvertes en acceptant uniquement du code sous BSD, peut-être pour produire une version spéciale, reliée à un système propriétaire de détection de triche pour décourager les hacks de maps multijoueurs qui seraient trivials à rajouter dans un jeu open-source, ou alors pour le relier à des systèmes de distribution numérique propriétaires pour obtenir une diffusion plus large. La solution idéale n'est pas évidente, donc nous serions intéresser d'en discuter. Savanna Biome screenshot

A quoi ressemble le code?

Il y a peu près 150 000 lignes de code en C++ pour le moteur de jeu, et encore 25 000 pour les outils d'édition. Le script de gameplay utilise JavaScript. Nous nous basons sur de librairies bas-niveau (OpenGL, OpenAL, ENet, ...), pas sur un moteur de jeu existant (comme OGRE).

Le code n'est pas extrêmement propre, modulaire ou encore bien écrit. Il à été écris par un grand nombre de programmeurs, et il est loin d'une base de code "complète". Nous voulons continuer à nettoyer les choses, en tant que partie du processus normal de développement. Nous ne sommes pas rétifs à la réécriture ce sous-systèmes entiers si c'est le moyen le plus efficace pour les rendre satisfaisants à nos exigences. Mais dans beaucoup de domaines c'est assez solide.

Quel code réutilisable y-a-t'il?

La plus grande partie de notre code est spécifique à notre jeu et n'est pas très utile en dehors de lui, mais quelques parties pourraient peut-être être intéressantes pour les développeurs travaillants sur d'autres projets. Quelques exemples:

Comment cela se compare à d'autres jeux?

Nous avons connaissance de quelques autres RTS open sources. Glest à atteint un statut stable, et prend place dans un monde médiéval/fantastique, avec moins de gamplay complexe, mais des IAs (qui ne sont pas encore implémentées dans 0 A.D.). ORTS est un framework qui souligne la recherche autour des IA plus qu'un jeu jouable. Spring est un autre moteur RTS qui semple conçu pour un gameplay similaire à Total Annihilation. 0 A.D. essaye de se différencier en proposant de nouvelles idées de gamplay, des graphismes détaillés et des paramètres historiques précis.

Comment puis-je commencer?

Voyez le Guide pour commencer pour trouver d'autres informations à propos du jeu, des forums de discussion, des instructions pour compiler et faire tourner le jeu, et des liens pour plus de détails.