Empaquetar juego + emulador en un EXE autoejecutable

Si sabes cómo hacer algo, prepara un tutorial y ayuda a tus compañeros

Empaquetar juego + emulador en un EXE autoejecutable

Notapor mambrino » 26/10/2010 13:50

En este tutorial voy a explicar cómo podéis empaquetar un emulador y la rom del juego correspondiente para que desde cualquier ordenador (HD/CD/USB...) se pueda ejecutar el juego sin necesidad de instalar el emulador.

En este caso, y como demostración práctica, he decicido empaquetar el emulador Z26 (http://www.whimsey.com/z26/z26.html) de Atari 2600 junto con la colección de minijuegos Swoops! (http://www.atariage.com/software_page.h ... belID=2727).

Este proceso también es válido para cualquier programa o juego que no requiera de dll's instaladas en la carpeta del sistema.

Allá vamos! :P

Vamos a necesitar:

- 7ZIP: Compresor / Descompresor 7Z (http://www.7-zip.org)
- 7ZSD.7z: Módulo instalador para 7ZIP (http://www.7zsfx.info/en/files/715/7zSD.7z)
- Los archivos del emulador y la rom del juego.

PASO 1: Copiar los archivos del emulador y del juego en la carpeta de trabajo (p.e.: Escritorio\juego)

En este caso, el emulador se compone de los archivos Z26.EXE + SDL.EXE y la rom del juego del archivo SWOOPS.BIN

PASO 2: Ejecutar el emulador y configurarlo adecuadamente, teniendo en cuenta que después el usuario tan solo va a ejecutar el EXE y a jugar (tener en cuenta la configuración de joystick, p.e).

PASO 3: Una vez configurado el emulador (probablemente genere archivos de configuración), comprimir todo el contenido de la carpeta de trabajo en un archivo 7Z mediante 7ZIP (no utilizar encriptación). Se recomienda utilizar el nivel de compresión Ultra, para reducir todavía más el tamaño. Yo he creado el archivo juego.7z, que contiene todos los archivos de la carpeta.

Imagen

PASO 4: Copiar a la carpeta de trabajo el módulo 7ZSD.7z. Si se quiere tener un icono personalizado en el exe final, hay que modificar el icono del archivo 7ZSD.7z en este paso (para evitar errores de CRC en el EXE destino). Para hacerlo, se puede utilizar Resource Hacker (http://angusj.com/resourcehacker/)

PASO 5: Crear un archivo de texto config.txt en formato UTF-8 y editar el contenido sustituyendo "carpeta" por la carpeta dónde queremos que se copie el juego al descomprimirse, "Titulo juego" por el título que queremos que aparezca en la ventana de carga, "emulador" por el archivo a ejecutar del emulador y "parametros" por los parametros que requiera este (p.e. el nombre de la rom del juego):

;!@Install@!UTF-8!
InstallPath="%TEMP%\carpeta"
GUIFlags="32"
ExtractTitle="Titulo juego"
ExtractDialogText="Cargando juego..."
ExecuteFile="%TEMP%\carpeta\emulador"
ExecuteParameters="parametros"
;!@InstallEnd@!

En nuestro caso queda de la siguiente forma:

;!@Install@!UTF-8!
InstallPath="%TEMP%\swoops"
GUIFlags="32"
ExtractTitle="Swoops!"
ExtractDialogText="Cargando juego..."
ExecuteFile="%TEMP%\swoops\z26.exe"
ExecuteParameters="swoops.bin"
;!@InstallEnd@!

PASO 6: Disponiendo ya en la carpeta de trabajo de los archivos juego.7z, 7ZSD.7z y config.txt: ejecutar desde la consola (Inicio -> ejecutar -> cmd) el comando:

COPY /B 7ZSD.7z + config.txt + juego.7z juego.exe

El resultado de este comando será un archivo "juego.exe" que contiene el emulador y el juego. Ahora, tan solo hay que hacer doble click sobre el EXE para iniciar el juego. El resto de archivos ya no son necesarios y pueden eliminarse.

Adicionalmente, si quieres, puedes comprimir el ejecutable con UPX (http://upx.sourceforge.net/) para reducir su tamaño.

Os dejo también el archivo comprimido para que os echéis unas partiditas, veréis que vicio de juego :mrgreen: :

swoops!.exe

Saludos y espero que os haya gustado! ;)
Avatar de Usuario
mambrino
Maestro
Maestro
 
Mensajes: 1697
Registrado: 20/10/2010 07:24

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor FIREB0Y » 26/10/2010 22:55

Por la maaadre del cordero!

Peazo tutorial, macho... :D

Lo pondre en practica cuando quiera llevarme algun juego de viaje...;)
Sistemas:Amiga500,600,CDTV,2K,1200,4K.MSX SVI 728,NMS 8250, Panasonic F1-AS.Commodore 64 Breadbin. AmstradCPC 464, 6128.Spectrum +2A.Sony Playstation 1,2,3,PSP1004.Sega Master Sys II,Megadrive II,Saturn,Dreamcast.Nintendo NES,Super NES,Gamecube,Wii.Atari 2600,STE 4mb,STFM 1mb.Xbox 1.1,1.4,1.6,360 FAT,360 Slim.
Avatar de Usuario
FIREB0Y
Maestro
Moderador | Maestro
 
Mensajes: 1445
Registrado: 20/10/2010 21:18

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor kripton67 » 27/10/2010 14:08

A ver si empezamos a tocar "titos" y autofinanciarnos.
Imagen
Avatar de Usuario
kripton67
Veterano
Veterano
 
Mensajes: 751
Registrado: 20/10/2010 22:48

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor kripton67 » 28/10/2010 05:29

Bien, para apoyar a la causa os paso 2 páginas con programas para hacer portables:
http://sites.google.com/site/jauntepe/Home
http://www.autoitscript.com/autoit3/index.shtml
Imagen
Avatar de Usuario
kripton67
Veterano
Veterano
 
Mensajes: 751
Registrado: 20/10/2010 22:48

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor kripton67 » 28/10/2010 05:48

Y para el asuntillo de los iconos os adjunto una buena utilidad (es freeware):
http://icofx.ro/
con ella podrás extraerlo y editarlos.
Imagen
Avatar de Usuario
kripton67
Veterano
Veterano
 
Mensajes: 751
Registrado: 20/10/2010 22:48

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor kripton67 » 28/10/2010 06:25

Y para facilitar las cosas.
El Autoit es muy potente pero complicado, he encontrado este programa que facilita mucho las cosas al principio, Lister Pack.
Y tb. un videotutorial, es que me preocupo demasiado :)

Saludos.
Imagen
Avatar de Usuario
kripton67
Veterano
Veterano
 
Mensajes: 751
Registrado: 20/10/2010 22:48

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor TitoTeclado » 02/11/2010 15:44

El tutorial genial, la explicación divina, pero la emulacion del Splatform con el z26 es de penurria!

Juegalo en una 2600 y viciate! :D
Avatar de Usuario
TitoTeclado
Maestro
Moderador | Maestro
 
Mensajes: 1246
Registrado: 20/10/2010 21:26

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor mambrino » 02/11/2010 21:18

Totalmente de acuerdo, si tenéis oportunidad jugadlo en la máquina original, merece la pena ;)
Avatar de Usuario
mambrino
Maestro
Maestro
 
Mensajes: 1697
Registrado: 20/10/2010 07:24

Re: Empaquetar juego + emulador en un EXE autoejecutable

Notapor kripton67 » 03/11/2010 09:44

Tikismikis. Peor es no tener nada.
Recordar para que se hace esto.
En la prox. quedada hablamos de los miniCD's, ok?

Saludos.
Imagen
Avatar de Usuario
kripton67
Veterano
Veterano
 
Mensajes: 751
Registrado: 20/10/2010 22:48


Volver a Tutoriales

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron