0 A.D.

Contenido:

Publicado el: 10 July 2009

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

Swamp Defense screenshot

¿Qué es 0 A.D.?

0 A.D. es un juego de estrategia en tiempo real gratis, multiplataforma, en 3D y basado en hechos históricos.

¿Qué están haciendo?

Hemos cambiado desde un proceso de desarrollo cerrado a código abierto: haciendo que el código esté disponible como GPL y el contenido artístico disponible como CC-BY-SA, y animando a las contribuciones externas. Hemos estado trabajando en 0 A.D. en nuestro tiempo libre por años, y ahora queremos mostrar lo que hemos logrado y hacer así más fácil que la gente se involucre.

0 A.D. es un proyecto ambicioso y muy complejo. Hemos puesto sobre éste un enorme trabajo, pero aún queda mucho por hacer. Aún no liberamos un juego ya jugable - tendrás que esperar bastante tiempo, si eso es lo que te interesa. Aún hay una cantidad de características faltantes y algunos bugs y otros problemas por resolver. Liberaremos esto como un trabajo-en-progreso, proyecto pre-alfa, destinado a los desarrolladores que podrían estar interesados en este tipo de cosas, en la esperanza de compartir recursos con una comunidad que de otro modo sería excluída de nuestro proceso de desarrollo.

Ésta es todavía un paso experimental y aún no sabemos qué funcionará mejor, por lo que nos moveremos con cuidado e intentaremos adaptarnos basados en la experiencia. Este documento describe nuestros planes actuales; ¡se apreciarán los comentarios! Contáctanos en nuestros foros o en #0ad en QuakeNet IRC.

Discovery screenshot

¿Por qué me interesaría?

Creemos que hay una buena chance de que podamos producir un juego decente con características únicas. Quizás quieras ayudar a traer el juego a existencia.

Quizás quieras aprender de la experiencia de trabajar en un complejo proyecto de software, o particularmente en un juego. Hay un amplio rango de áreas envueltas: gráficos y audio, IA e IU, manejo de archivos y escritura de juego, redes y más. La estructura básica ya está en su lugar, y de por sí ya es bastante sólida, pero aún hay muchas posibilidades para los detalles y el trabajo en sus variados componentes.

Quizás quieras hacer que el juego funcione mejor en tu plataforma favorita. Quizás quieras mostrarnos que no somos los mejores y puedes escribir códigos mucho mejor (¡Estamos lejos de la perfección!).

Quizás quieras usar partes de nuestro código o arte en tu propio proyecto. Quizás quieras usar nuestro juego para enseñar una clase práctica de desarrollo de un juego. Y quizás tengas otras razones.

Gaugamela screenshot

¿Por qué están haciendo esto?

Hemos estado trabajando en este juego de una forma u otra desde el año 2001. Ha pasado mucho tiempo, pero hacer este tipo de juegos ya es en realidad complicado. Los miembros originales del equipo eran estudiantes ya mayores, que ahora tienen sus vidas y no pueden entregar mucho tiempo al proyecto. Atraer a nuevos desarrolladores es difícil y lleva mucho tiempo – poca gente tiene el tiempo y la habilidad para aprender a trabajar en nuestro código existente o para hacer contribuciones significativas. Por esto queremos bajar las barreras de entrada, haciendo fácil para la gente que vea nuestro proyecto y por ende, si le interesa, esperando que alguien decida que sí.

Además, tenemos algunas ideas y herramientas y código que creemos que son buenas y nos gustaría compartir. Debemos ordenarlas y documentarlas apropiadamente para que sean más útiles a la gente, pero hacer disponible el código es el primer paso. Y, particularmente en Linux, el código abierto simplifica un número de conflictos de distribución y depuración, por lo que hace las cosas más fáciles para nosotros y para los usuarios.

Hasta ahora, el acceso al proyecto ha sido limitado a los miembros 'oficiales' de nuestro grupo, aunque la intención siempre ha sido el producir un juego no comercial y la membresía siempre ha sido abierta. El concepto de código abierto simplemente no era considerado interesante hace algunos años, pero los tiempos han cambiado y ahora parece la forma natural de desarrollar nuestro proyecto.

Magna Graecia screenshot

¿Cómo estará organizado el desarrollo?

Al abrir este proyecto, necesitamos respetar a la comunidad entregándole tanta información, comunicación y soporte como sea posible, para que pueda beneficiarse de participar en el proyecto (esperando que contribuya de vuelta beneficiándonos, claro), equilibrado con nuestro deseo de tener el juego terminado con un alto estándar y con alguna coacción de nuestra organización pasada.

En el pasado, todos los desarrolladores eran parte del 'equipo' oficial: cualquiera podría figurar para unirse, tendríamos una corta entrevista por IRC para conocerlos, y si creemos que tienen el tiempo, energía y habilidad para contribuir útilmente para hacerlos miembros. Aún mantendremos el grupo de desarrolladores central y los métodos de comunicación privada – no queremos arriesgar la destrucción del equipo que ya tenemos. Mantendremos el curso a una visión de diseño particular, no queremos desviarnos mucho de eso – preferimos no sumar (y tener que mantener) características que no son parte de nuestra meta. Liberaremos el arte y la información de juego de dos de las seis civilizaciones del juego, pero mantendremos atrás las civilizaciones que aún son trabajo en progreso hasta que sean más completas y utilizables.

Aparte de estas restricciones, abriremos el acceso al servidor de control de código (Subversion), y la documentación y el sistema de rastreo de conflictos (Trac), y moveremos nuestras discusiones técnicas a un foro abierto. Cualquiera puede descargar, compilar y ejecutar la última versión del juego. Nuestro proceso inicial de las contribuciones será muy básicos: si haces algún cambio, deberías crear un parche y enviárnoslo, entonces lo revisaremos y quizás sugeriremos algunos cambios y los ingresaremos al SVN.

La licencia de las contribuciones es una pregunta abierta. Por un lado, aceptar el código GPL podría garantizar a los contribuyentes que no vamos a usar injustamente su trabajo. Por otro lado, quisieramos mantener nuestras opciones abiertas por sólo aceptar el código de licencia BSD, quizás para producir una versión especial vinculada con software propietario de detección de engaños para descartar hackeos de mapas en multijugador que podrían ser triviales para agregar a un juego de código abierto, o vincularlo a sistemas de propiedad de distribución digital para obtener una distribución más amplia. La solución ideal no está clara, por lo que nos interesaría discutir este asunto.

Savanna Biome screenshot

¿Cómo es el código?

Hay prácticamente 150.000 líneas de C++ para el motor del juego, y otras 25.000 en las herramientas de edición. El tiempo de juego utiliza JavaScript. Estamos compilando sobre bibliotecas de bajo nivel (OpenGL, OpenAL, ENet, ...) y no sobre un motor de juego ya existente (como OGRE).

El código no está extremadamente claro, o extremadamente modular o extremadamente bien escrito. Está escrito por una variedad de programadores, y está lejos de ser una base de códigos "completada". Queremos continuar limpiando las cosas como parte del proceso de desarrollo normal. No nos oponemos a reescribir subsistemas completos si es la forma más efectiva de satisfacer nuestros requerimientos. Pero en muchas áreas es bastante sólido.

¿Qué código reutilizable hay?

La mayoría de nuestro código es específico del juego y no muy útil fuera de él, pero algunas partes quizás sean interesantes para los desarrolladores que trabajen en otros proyectos. Algunos ejemplos:

¿Cómo se compara con otros juegos?

Ya estamos al tanto de otros juegos de ETR de código abierto. Glest ya alcanzó el estado de 'estable' y está centrado en un mundo medieval/fantasía, con un tiempo de juego y gráficos menos complejos pero con oponentes IA (que aún no están implementados en 0 A.D.). ORTS es una estructura enfatizada en la investigación de IA más que en un juego jugable. Spring es otro motor de ETR que parece diseñado para un juego similar a Total Annihilation. 0 A.D. procura diferenciarse entregando nuevas ideas de juego, gráficos detallados y una posición histórica precisa.

¿Cómo puedo empezar?

Revisa la Guía de cómo empezar para encontrar más información sobre el juego, foros para discusión, instrucciones de compilado y ejecución del juego, y vínculos a detalles mayores.