xNova está siendo desarrollado de una manera activa, excepto las últimas 2 semanas, por problemas personales. No obstante, actualmente no existe un plan de desarrollo claro que indique cuales vayan a ser los nuevos pasos a seguir. Por ello he decidido darle la vuelta a esto y crear un sistema que potencie el betatesting.
No es fácil mejorar un juego que viene de un montón de desarrolladores inexpertos, ya que en la mayoría de casos no hay tests unitarios, y hay muchísimos errores. En el caso de XG Proyect, solo en cuanto a errores de programación hay más de 3.000. Esta es una parte importante del desarrollo, pero no es la única. Mi objetivo es crear un nuevo juego, que use nuevas tecnologías. Es crucial la implementación de las nuevas tecnologías y adaptarlas a todos los dispositivos.
Esto ya ha comenzado, con la implantación de LESS3 y HTML5, con un diseño totalmente responsive, que por el momento se está implementando en el panel de administración. Se está haciendo esta parte por ahora para comprobar el potencial y la viabilidad del sistema. Pero para implementar todo esto en el juego, se ha planteado comenzar un ciclo de desarrollo completo, que nos va a llevar a una versión 1.0.0 totalmente nueva y rápida, con muchísimas mejoras.
Con esta iniciativa, se han planteado 9 versiones de desarrollo y las versiones candidatas finales antes de la llegada de la versión 1.0.0 final, de la siguiente manera:
- Versiones de desarrollo:
- Pre-alpha 1: Implantación del nuevo panel administrativo.
- Pre-alpha 2: Implantación de las nuevas tecnologías en el resto del juego.
- Alpha 1:
- Reducción de errores a un nivel por debajo de los 1.000 conocidos.
- Optimización del theme.
- Reducir al máximo el uso de Javascript.
- Alpha 2: Adaptación del estilo de la escritura PHP a los estándares de xNova.
- Alpha 3: Finalización del cambio de estilo y optimizaciones generales, mejoras y soluciones de errores varios.
- Pre-beta 1: Nuevas imágenes sin copyright.
- Beta 1:
- Reducción de errores conocidos a un nivel por debajo de 100.
- Solución de casi todos los errores de GitHub.
- Beta 2: IA de los bots
- Ataques
- Saqueos
- Mejoras generales de IA
- Optimización del sistema
- Beta 3: Optimizaciones generales y solución de errores
- Versiones candidatas:
- RC 1:
- Sin fallos conocidos
- Mejoras
- Solucionados los fallos encontrados
- 1 mes de pruebas
- RC2: (Si se encuentran errores) Solución de nuevos errores.
- RC3… Una cada semana si hay nuevos errores.
- RC 1:
- Si no se encuentran fallos, versión 1.0.0
Estos no son los únicos cambios. Uno de los grandes avances que se van a hacer es la optimización de la base de datos. Se va a cambiar casi por completo, para conseguir un mejor rendimiento. Ya ha habido muchas mejoras en este ámbito, pero todavía queda mucho que hacer.
Se va a mejorar el sistema de instalación y actualización haciendo una optimización y una reparación tras estos eventos. Pero la mayor mejora va a ser el nuevo sistema de plugins. Se va a poder cambiar casi todo el juego, y es probable que el panel de administración de plugins se haga mucho más completo para poder administrarlo todo bien. Todavía esta idea está en desarrollo, y no se han decidido todas sus nuevas características. Lo que se ha decidido es que llegue en la versión Alpha 1, pero que posteriormente según el feedback de los usuarios, se mejorará.
Los bots recibirán una nueva AI, con muchas más opciones, y con la que serán lo suficientemente listas como para equipararse a un jugador. Podrán atacar, granjear, hacer expediciones, usar el mercader, oficiales etc. con materia oscura… y uno de los grandes cambios será que cada bot podrá hacer un número ilimitado de cosas en cada actualización.
En cuanto al versionado, una vez llegado a la versión 1.0.0, el primer dígito será el número de versión general. Para aumentar este número se deberá hacer una gran cantidad de cambios, y su desarrollo requerirá de un nuevo ciclo. El segundo número traerá cambios importantes, con mejoras potentes. Y cada cambio en el número anterior, será el mismo juego, pero con soluciones de errores. Para ello se usarán las ramas del repositorio, para así poder gestionar todo mejor.
Este desarrollo comienza a partir del próximo commit.