He estado tratando de volver a implementar algunos títulos 2D simples y antiguos de una manera más moderna y compatible con varias plataformas, al igual que Gigalomania vuelve a implementar el marco MegaLoMania, cargando los gráficos originales si están disponibles. Mis pensamientos iniciales fueron usar algo como libgdx, ya que he estado trabajando mucho con las API de Java y sentí que podía crear prototipos con bastante rapidez. Sin embargo, la mayoría de los motores que he examinado exigen que las imágenes y el audio se presenten en formatos muy específicos, o que se incluyan en el proyecto como un todo (como Monogame, por dar un ejemplo). Como mi intención detrás de este proyecto es ser un reemplazo directo del ejecutable original, el tiempo de ejecución necesitaría poder llamar y procesar los datos de la instalación original, lo que limita los tipos de motores estándar que puedo usar.
¿Existen motores 2D (independientemente del idioma base) sin estas restricciones? Me sería útil tener algo extensible que pudiera hacer al menos parte del trabajo pesado del lado de la implementación y facilitar la portabilidad, en lugar de que tener que codificar todo desde cero y dejarme concentrarme en agregar las pocas funciones que necesitaría para hacer el resto.
Aprecio que este sea un conjunto de solicitudes particularmente extraño, por lo que para que sea un poco más fácil de comprender, aquí está el tipo de lista de funciones de la que estoy hablando:
NOTA: En mi caso, era aceptable extender un motor existente, su millaje puede variar. He dejado la pregunta en su contexto completo para aquellos que la deseen.
¿Por qué no convertir los archivos según sea necesario, quizás en la memoria, con una biblioteca para la conversión de formato de archivo?
He usado LibGDX, y también algunos otros marcos populares ( Cocos2d-x y Haxe Flixel son los más destacados), pero siempre se reduce a tener buenas herramientas y un buen ecosistema con el que trabajar, es decir, editores de niveles, complementos/extensiones, soporte de la comunidad. , y si no tiene un gran presupuesto, también es imprescindible que sea de código abierto y gratuito. Es por eso que siempre sigo regresando a Unity , Unreal Engine y el nuevo chico en el bloque Godot Engine .
Aunque recientemente me he inclinado más hacia Godot Engine porque es gratuito con una licencia permisiva que permite el uso comercial y de código abierto con un gran apoyo de la comunidad.
En su caso, puede escribir un complemento para que Godot importe sus activos en C ++ o GDScript , y habrá más idiomas en el futuro.
james wallace