Estudiante
Análisis y Diseño 2
URL, Quetzaltenango
Batalla por Wesnoth
Juego de fantasía des estrategia por turnos, se produce en un modelo de código abierto basado en una licencia GPL2. Ha sido un éxito moderado debido al modelo de desarrollo que permitió a un grupo de voluntarios de los niveles muy diferentes de interactuar de manera productiva.
Motorcentral: escrito en C++, representa el motor principal del juego. Permite que el contenido del juego en el que se definirán en un lenguaje de datos única que se denomina Wesnoth Markup Language (WML). La siguiente figura representa la arquitectura del juego, el área blanca representa dependencias externas, mientras que las otras son mantenidas por los desarrolladores de Wesnoth.
El proyecto trata deminimizar las dependencias en la mayoría de los casos con el fin de maximizar la portabilidad de la aplicación. Esto tiene el beneficio añadido de reducir la complejidad del programa, y disminuye la necesidad de los desarrolladores a aprender los matices de una gran cantidad de APIs de terceros.
Wesnoth utiliza SDL(Directmedia Layer) para el video y E/S y gestión de eventos, esto fue elegidopara proporcionar una interfaz q nos permite ser multiplataforma y ser muy portable, en vez de la alternativa para una API especifica en diferentes plataformas.
Bibliotecas utilizadas por SDL:
* SDL_Mixer para audio y sonido
* SDL_Image para la carga de PNG y otros formatos de imagen
* SDL_Net para la red de E / S
Además, se utilizan las siguientes:
* Impulso a una variedadde avanzadas características de C + +
* Pango con Cairo para las fuentes internacionalizados
* zlib para la compresión
* Python y Lua para soporte de scripting
* GNU gettext para internacionalización
El uso de objetos MWL, muchos de estos pueden ser construidos a partir de un nodo, y también ser serializados a uno. Algunas partes del motor mantienen este formato los datosbasados en WML, interpretando directamente en lugar de analizar una estructura de C++.
Wesnoth es dividido en varios subsistemas, la mayoría se hicieron lo mas autónomo posible. Esta segmentación tiene la ventaja de ser muy accesible, las principales divisiones son las siguientes:
* Un analizador de WML con el preprocesador
* Básicas de E / S analógicas que nos abstraen de las bibliotecassubyacentes y el sistema de llamadas, un módulo de vídeo, un módulo de sonido, un módulo de red
* Un módulo de interfaz gráfica de usuario que contiene la implementación de widgets para botones, listas, menús, etc
* Un módulo de visualización para la prestación del tablero de juego, las unidades, las animaciones, y así sucesivamente
* Un módulo de inteligencia artificial
* Unmódulo de búsqueda de caminos que incluye muchas funciones de utilidad para hacer frente a un tablero de juego hexagonal
* Un módulo de generación de mapas para la generación de diferentes tipos de mapas aleatorios
*
También hay diferentes módulos para controlar las diferentes partes del flujo de juego:
* El módulo titlescreen, para controlar la pantalla de la pantalla del título.
* Elmódulo de historia, para mostrar la escena de corte secuencias.
* El módulo de vestíbulo, para mostrar y permitir la instalación de los juegos multijugador en el servidor.
* El "juego juego" módulo que controla el modo de juego principal.
También hay funciones auxiliares que forman parte del proyecto global, pero están separados del programa principal. Esto incluye un servidormultijugador, que facilita los juegos multijugador en red, así como un servidor de contenido que permite a los usuarios subir sus contenidos a un servidor común y compartirlo con otros. Ambos están escritos en C + +.
Wesnoth Markup Language (WML)
Se utiliza para codificar casi todo en Wesnoth, incluyendo escenarios, unidades, savefiles, y el diseño de la interfaz de usuario. Archivos WML son...
Regístrate para leer el documento completo.