top of page
Buscar

Todo lo que debes saber sobre "TheXTech" creado por Wohlstand basado en C ++


Como ya sabrán hay muchas versiones de SMBX, pero esta vez se viene una versión de Wohlstand creador de PGE Engine llamada TheXTech. El ha estado trabajando arduamente para poder hacer que SMBX se reproduzca en C ++ lo cual ya lo ha podido hacer y tiene avances de lo que se ha trabajado.


Ha continuación les dejamos lo que el nos cuenta sobre esto:


Hice mucho trabajo que les voy a presentar a todos: es un puerto C ++ completo del motor SMBX original que ahora funciona en múltiples plataformas (probado en Linux, Windows y macOS), y representa con precisión el original juego con el resto de características y errores!


¿Que es esto? Es un puerto de un antiguo motor VB6, escrito puramente en C ++. Reproduce un motor antiguo por completo (excepto un editor), incluye muchos de sus errores lógicos (errores bloqueados donde se encontraron y luego se corrigieron).


¿Cómo lo hice? Desde el 2 de febrero, el código fuente original de SMBX ya está abierto. ¡Este hecho me proporcionó una gran cantidad de material útil que me ayudará a hacer que PGE Engine sea mejor y más rápido! Sin embargo, lidiar con el entorno VB6 no es conveniente y, al mismo tiempo, no es estable en Linux (debido al motor gráfico y al riesgo de que VB6 IDE falle debido al uso de bibliotecas DLL externas). Entonces, para que funcione más fácilmente, recordé mi vieja idea de migrar todo el código SMBX a C ++. Entonces, después de una semana de investigación inicial comencé a trabajar. Después de una semana y media conseguí algo completamente funcional (pero con errores en algunos lugares). Luego, dediqué tiempo a depurarlo y hacer que todos pudieran usarlo. Es la réplica completa de SMBX 1.3 con el resto de sus errores lógicos (con algunas excepciones: solucioné una cantidad de errores de bloqueo que eran una gran molestia mientras jugaba). Funciona en múltiples plataformas: funciona en Windows tanto de 32 como de 64 bits.

¿Por qué lo hiciste? ¿Por qué? Tengo varios propósitos por los que lo hice:

· Es un modelo de vida muy conveniente para la investigación que quiero usar en el desarrollo del motor PGE.

· Para que funcione sin que sea necesario usar Wine en plataformas que no sean Windows y permitir que se ejecute en plataformas distintas de x86.

· Poder optimizarlo para que use menos recursos de hardware que la versión original de un juego basada en VB6.


Algunas capturas:

Tiene PGE Engine, ¿por qué ha pasado más de un mes para crear esta cosa? Lo necesito para el desarrollo de PGE Engine directamente, es mucho más fácil de piratear e inspeccionar en lugar de lidiar con el antiguo e inconveniente entorno VB6.

¿Cuál es el futuro de PGE Engine ya que TheXTech existe ahora? Continuaré con el desarrollo de PGE Engine ya que todavía tengo que pasar el segundo objetivo del PGE Project. Desde su fundación, el Proyecto PGE tenía dos objetivos: 1) salvar SMBX; 2) ofrecer un conjunto de herramientas flexible para nuevos juegos de plataformas. La apertura de fuentes SMBX y la introducción de TheXTech ha resuelto el primer objetivo: SMBX se ha guardado y ahora es un software multiplataforma gratuito y de código abierto. El motor PGE se utilizará para pasar el segundo gol, proporcionando un conjunto de herramientas para nuevos juegos. A diferencia de TheXTech, PGE Engine ofrece una flexibilidad total que permite a cualquiera construir algo nuevo desde cero sin heredar una base de juego antigua. Sin embargo, TheXTech es necesario para PGE Engine como modelo de investigación funcional para desarrollar un nuevo motor. Será similar a los puertos GZDoom y Chocolate Doom del juego Doom: GZDoom es un motor potente y funcional, la mejor elección de modders; a Chocolate Doom es una adaptación precisa del juego original a una plataforma moderna con el propósito de representar un juego original que incluye incluso errores. El motor PGE pretende ser como un GZDoom, mientras que TheXTech es un análogo de Chocolate Doom para representar un juego original en las plataformas modernas.


¿Puede LunaLua trabajar en esto? No, LunaLua no funcionará: este proyecto es binario-incompatible con LunaLua. Esto también significa que el contenido SMBX2 es incompatible.

¿Como usar esto? Aquí hay muchas formas de jugar con él: - hay algunos paquetes listos para usar, simplemente tómelos y utilícelos como lo hizo con SMBX. - [usuarios de macOS, omita esto]: use de la misma manera que un juego original: coloque un archivo ejecutable en la carpeta raíz del juego con un "thextech.ini" que contenga el siguiente texto:


CÓDIGO: SELECCIONAR TODO

[Main] force-portable = true

, music.ini, sounds.ini y una carpeta adicional "graphics / ui". Una nota importante: todos los gráficos predeterminados deben convertirse a PNG, use la herramienta GIFs2PNG de PGE Project en su carpeta "gráficos" con un interruptor "-d". No use el interruptor "-r" para mantener los GIF originales junto con los PNG recién creados si planea continuar usando SMBX original escrito en VB6. - utilícelo para el modo de depuración: en su directorio de inicio, cree la carpeta ".PGE_Project / thextech" (en macOS, la "~ / Library / Application Support / PGE Project / thextech") donde debe colocar un conjunto completo de recursos del juego y cosas del mundo, esta carpeta funcionará como la raíz del juego en el juego original. ¿Cómo agregar episodios personalizados para la versión de macOS? Si tiene una compilación integrada de TheXTech, todos los recursos predeterminados están dentro de su .app: "Contenido / Recursos / activos /". Puedes modificar el contenido, ¡pero no es recomendable! En cambio, después de la primera ejecución de un juego, en su directorio de inicio aparecerá el siguiente directorio:


CÓDIGO: SELECCIONAR TODO

~/TheXTech Episodes

En este directorio, encontrará una carpeta vacía de "batalla" y "mundos" para poner sus cosas personalizadas. En los registros de ruta "~ / Library / Application Support / PGE Project / thextech", se almacenarán las configuraciones y los juegos guardados. Si desea reemplazar los activos predeterminados con los suyos propios, puede modificar el contenido del paquete de aplicaciones o compilar una nueva compilación dando los argumentos de CMake necesarios que necesitaban para empaquetar la raíz y el icono de sus activos personalizados en el nuevo paquete o crear los activos -less build (si no da argumentos, resultará la compilación sin activos). Por lo tanto, debes poner el contenido completo de la raíz del juego en la carpeta "~ / Library / Application Support / PGE Project / thextech", incluir recursos predeterminados (gráficos, música, sonidos, niveles de introducción y salida, carpetas predeterminadas de batalla y mundos ).

¿Qué es diferente con esto en comparación con la versión VB6 original?

· En primer lugar, está escrito en C ++, mientras que el original (como ya sabemos) está escrito en VB6.

· No tiene editor. En cambio, en el futuro cercano tendrá una integración profunda con PGE Editor que permitirá usarlo con la misma funcionalidad que en el editor original (la funcionalidad de "mano mágica" se mantuvo para permitir la edición en tiempo real del nivel durante la prueba, es necesitaba utilizar la comunicación IPC con PGE Editor para tener la capacidad de utilizarlo mejor).

· Soporte completo de UTF-8 en rutas de nombre de archivo y datos de texto internos (el juego original tenía el único soporte ANSI de 8 bits).

· Para gráficos y control, usa una biblioteca SDL2, mientras que el juego original ha usado llamadas WinAPI y biblioteca GDI.

· Utiliza PGE-FL que tiene un mejor soporte de formatos de archivo.

· Un soporte para los mapas del mundo WLDX permite líneas de crédito ilimitadas y música personalizada sin que sea necesario utilizar un music.ini para reemplazar música.

· Algunas características exclusivas de LVLX ahora funcionan: envoltura de sección vertical, deformaciones bidireccionales, mensaje personalizado de "estrella necesaria", evento de entrada de deformación, capacidad para deshabilitar la impresión de estrellas en episodios HUB para puertas específicas, capacidad para deshabilitar la visualización entre escenas al pasar a otro nivel. una deformación.

· Soporte integrado para episide y music.ini y sounds.ini de nivel amplio para anular la música y los recursos de sonido predeterminados.

· Los mapas del mundo ahora admiten un directorio personalizado para almacenar recursos específicos como mosaicos / escenas / rutas / niveles personalizados y ya no enviar spam a la carpeta raíz del episodio con recursos de mapas wolrd.

· El formato de configuración predeterminado es INI, el antiguo formato config.dat ya no es compatible, principalmente debido a valores de código clave incompatibles (SDL_Scancode versus enumeración VirtualKeys de la API de Windows).

· El juego se guarda ahora usando el formato SAVX en lugar de un SAV clásico. Sin embargo, si ya tiene un guardado de juegos antiguo, aún puede reanudar su juego usando un nuevo motor ahora (el próximo intento de guardado de juegos resultará en un archivo SAVX, el guardado de juegos antiguo en formato SAV se mantendrá intacto).

· Soporte PNG incorporado para gráficos personalizados y predeterminados. Sin embargo, los GIF enmascarados todavía son compatibles por compatibilidad con versiones anteriores, sin realizar una conversión automática inesperada como lo hace SMBX-38A.

· ¡Los puntos de control ahora tienen multipuntos! ¡Puedes usarlos en tus niveles varias veces sin límites!

· Utiliza un algoritmo de descompresión diferida para acelerar la carga de un juego y reducir el uso de memoria.

· Para música y SFX, la biblioteca MixerX se utiliza para dar soporte a una amplia cantidad de formatos de sonido y música.

· No incorpora ningún gráfico: NO hay gráficos realmente codificados, ¡ahora todo está representado por gráficos externos!

· Se han ampliado algunos límites internos.

· Grabador GIF integrado con la tecla F11 (F10 en macOS, F11 está reservado por la interfaz de usuario del sistema para una acción de "mostrar escritorio") ¿Cómo construirlo? Puede leer una guía sobre cómo construir este proyecto a partir de un código fuente que puede encontrar aquí: https://github.com/Wohlstand/TheXTech/wiki/Building-the-game Para construirlo, necesita tener lo siguiente:

· CMake

· Ninja opcionalmente (para acelerar el proceso de construcción)

· Compilador C / C ++ compatible (GCC, Clang, MSVC aún no se han probado)

· Git (necesario para extraer submódulos y clonar la fuente de las bibliotecas dependientes para construirlos en su lugar)

· Mercurial (necesario para clonar un repositorio oficial de SDL2 para construirlo en su lugar aquí)

· Opcionalmente: dependencias instaladas en todo el sistema: SDL2, libFreeImageLite (una implementación modificada de FreeImage), biblioteca de sonido MixerX, colección de bibliotecas AudioCodecs. Tenerlos instalados en un sistema aumenta la velocidad de construcción. Sin embargo, es posible construir todas estas dependencias aquí con un costo adicional de tiempo de construcción agregado.

 
Puedes ejecutar los episodios "basicos sin modificaciones personalizadas hasta el momento" de SMBX 1.3, SMBX 1.4.X y SMBX2. Aun no esta disponible modo editor."

Lo puedes descargar acá. Ten en cuanta que aún falta trabajo para que se puede jugar tus episodios sin ningún problema.

83 visualizaciones0 comentarios
bottom of page