
portar un juego de gamemaker
Porta un juego de GameMaker a un proyecto sin licencias de exportación
Portar un juego de GameMaker significa reconstruir un proyecto que te pertenece. Las rooms pasan a escenas, los objetos a nodos y los eventos GML a callbacks de script.
Portar un juego de GameMaker significa reconstruir en otro motor un proyecto que te pertenece. GML es específico de GameMaker, y los archivos de proyecto .yyp, las rooms y las definiciones de objeto no tienen importador en ningún otro sitio. Aun así la reconstrucción es mecánica, porque el modelo de GameMaker se mapea limpio a un árbol de escena.
Tu GML y tu propio arte son tuyos, así que la mayor parte de un port de GameMaker puedes moverla. Revisa aparte cualquier asset de marketplace, porque su licencia puede restringir el uso a proyectos de GameMaker.
Summer Engine te da el destino de la reconstrucción, con escenas y nodos con scripts, herramientas 2D que cubren lo que hace GameMaker y 3D disponible si el juego crece. El proyecto es tuyo, no hay royalties, y la exportación a escritorio para Steam e itch.io forma parte del motor y no de una compra aparte.
Rooms, objetos y eventos se mapean a un árbol de escena
Una room se convierte en una escena. Un objeto se convierte en un nodo con un script, y las instancias de objeto se convierten en escenas instanciadas. El evento Create se convierte en un callback de ready. El evento Step se convierte en un callback de proceso por cuadro. El evento Draw se convierte en un callback de dibujo. Las alarmas se convierten en temporizadores. La herencia de objetos se convierte en herencia de escena o de script. Los sprites con origen se convierten en nodos sprite con un desplazamiento, y las máscaras de colisión de GameMaker en formas de colisión.
Patrones de GML que hay que reescribir
Algunas costumbres de GML no se traducen directas. Las variables globales y la sentencia with fomentan una estructura plana que un árbol de nodos maneja de otra forma, normalmente con referencias a nodos y señales. ds_map, ds_list y ds_grid se convierten en diccionarios, arrays y arrays anidados con gestión automática de memoria, así que las llamadas manuales de destrucción desaparecen. instance_create e instance_destroy se convierten en instanciado de escenas y eliminación de nodos en cola. La persistencia de rooms y el orden de instancias necesitan manejo explicito en vez de depender de los ajustes de room.
Pixel art, cámaras y resolución
Los proyectos 2D de GameMaker suelen definir un tamaño de room fijo y un viewport de cámara. Reproduce eso con un viewport ajustado a tu resolución base y escalado entero con filtrado nearest neighbor para el pixel art. El movimiento por subpíxel es la regresion típica: los proyectos de GameMaker a menudo redondean posiciones para mantener los píxeles alineados, y si te saltas ese paso en la reconstrucción, los sprites titilan al mover la cámara. Decide tu política de ajuste al pixel al principio en vez de parchearla objeto por objeto.
Exportar sin licencias por plataforma
GameMaker históricamente repartió los destinos de exportación entre niveles de licencia y módulos. En Summer Engine, la exportación a escritorio para Windows y macOS forma parte del motor, y el proyecto es enteramente tuyo, sin royalties y sin reparto de ingresos. Un proyecto en GDScript también exporta una versión web para Summer Games, y consola necesita la aprobación del fabricante de la plataforma. Si tu juego de GameMaker quisiera más adelante 3D o trabajo de shaders más pesado, ese margen existe en el mismo proyecto en vez de exigir otra herramienta.
Preguntas frecuentes
Se puede importar un archivo de proyecto de GameMaker a otro motor?
No. Los proyectos .yyp de GameMaker, las rooms y las definiciones de objeto no tienen importador en otros motores, y GML no se ejecuta fuera de GameMaker. El port es una reconstrucción, pero mecánica, porque las rooms se mapean a escenas y los objetos a nodos con scripts.
Como se traducen los eventos de GameMaker?
Create se convierte en un callback de ready, Step en un callback de proceso por cuadro, Draw en un callback de dibujo, y las alarmas en temporizadores. La herencia de objetos se convierte en herencia de escena o de script, y las máscaras de colisión en formas de colisión.
Que sustituye a ds_map, ds_list y ds_grid?
Diccionarios, arrays y arrays anidados, todos con gestión automática de memoria. Las llamadas manuales de destrucción que exigen las estructuras de datos de GameMaker ya no hacen falta, lo que elimina toda una clase de fugas del código reconstruido.
Por que titila mi pixel art después del port?
Por el movimiento en subpíxel. Los proyectos de GameMaker suelen redondear posiciones para que los sprites queden alineados a la rejilla de píxeles. Si la reconstrucción mueve sprites en posiciones fraccionarias, titilan al mover la cámara. Fija una política de ajuste al pixel para todo el proyecto desde el principio.
Necesito licencias separadas para cada plataforma de exportación?
No. La exportación a escritorio forma parte del motor, y el proyecto es tuyo sin royalties y sin reparto de ingresos. Los juegos se escriben en C++ y GDScript, con C# también disponible en el editor de escritorio.
Sigue explorando
Más formas de crear con Summer Engine
Creador de juegos con IA
El centro para crear juegos 2D y 3D completos describiéndolos.
AbrirMake a game from a picture and the idea it holds
Bring a picture and Summer Engine builds a game inspired by its look and concept: scenes, gameplay, and matching art in one project you own.
AbrirPort a 3DS game by rebuilding it, not converting it
Porting a 3DS game means rebuilding a game you own as a new project that runs on platforms that still sell games. There is no file converter for this.
AbrirPort a Nintendo DS game to platforms that still sell games
A Nintendo DS port is a rebuild of a game you own. The stylus design is the asset worth keeping, because touch is native on every phone.
AbrirPort a Wii game and decide what happens to motion control
Porting a Wii game means rebuilding a title you own for hardware without a Wii Remote. The pointer and the motion gestures need a new input design.
AbrirPort a Wii U game off the smallest console audience
Porting a Wii U game means rebuilding a title you own for platforms with a single screen. The GamePad layer is the part that has to be redesigned.
AbrirPort a PSP game and give it a second analog stick
Porting a PSP game means rebuilding a title you own. The camera design is the biggest change, because the PSP had one analog nub and no right stick.
AbrirPort a PS Vita game before the platform disappears entirely
Porting a PS Vita game means rebuilding a title you own. The rear touch pad is the one input with no modern equivalent.
AbrirPort a GameCube game from 480p to a modern project
Porting a GameCube game means rebuilding a title you own. The analog triggers and fixed camera design are the parts that need deliberate decisions.
AbrirPlantillas de plataformas
Empieza con un proyecto listo y describe tus cambios.
ExplorarVer todas las plantillas de juegos
Empieza con un proyecto listo y describe tus cambios.
Explorar
Empieza a crear tu juego ahora
Descarga Summer Engine, describe lo que quieres y míralo cobrar forma. Gratis para empezar, sin programar.