Distribuir juegos en linux

Started by gecko, September 12, 2011, 05:55:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gecko

Bueno, esa es la duda que me asalta en este momento!  ???

Ademas del DCB y los recursos correspondientes, lo que tengo claro es que...

Para windows con incluir el bgdi.exe y las dll correspondientes era suficiente.

Para Wiz / Canoo con incluir el runtime de bennu (con los .so y demas) y completar correctamente el .gpe era suficiente.

Pero para linux como es la cosa? Hay forma de "empaquetar" mi juego con los runtime de bennu para linux? Hay alguna forma mas eficiente? Hay alguna forma que recomienden? O alguna que no?
Torres Baldi Studio
http://torresbaldi.com

La momia que fuma

A mi también me gustaría saberlo, la verdad es que tampoco tengo ni idea y es una pena tener un juego y no distribuirlo en todas las plataformas posibles...

josebita

Yo diría que lo mejor es distribuírlo igual que en el resto de las plataformas: con runtime y todo y lo suyo es que el "ejecutable" principal sea como el de la Wiz: un script que ponga en el path la copia de Bennu que distribuís y sus librerías antes que las que pueda tener el usuario en sus sistema, de forma que siempre se ejecute esa copia y no la instalada.

De esa forma os evitais que posibles futuros cambios en el intérprete que hagan incompatibles los DCBs rompan vuestro juego.

Ahora bien, otra posible vía es que empaqueteis el juego para que se compile el prg cada vez que se ejecute con el bennu del sistema. Eso -evidentemente- os obliga a distribuir el código fuente.

Salvo que Bennu entrara a los repositorios de Debian/Ubuntu y vosotros empaqueteis vuestros juegos para los repositorios creo que la opción evidente es la primera: Quizás tengais que reempaquetar el juego para incluír un runtime actualizado dentro de un par de años, pero por lo demás funcionará bastante bien.

KeoH

Pero lo ideal no es hacer como la version de Wiz?, con el runtime este, los datos del juego, el dcb (por cierto ni idea de cual es el runtime para linux xD) y meterlo en un repositorio, del cual no dependa de los repositorios de bennu (incluir el interprete con el juego para evitar q actualizaciones de este rompan la compatibilidad)
....

Aunq ni idea de hacer repositorios xD

gecko

Bien... y donde encuentro bennu en mi computadora??  (insisto en que soy nuevito en esto de linux y todavía mucho no entiendo)

La primera opción es la mas convincente me parece.

Y esperemos llegue el dia de Bennu en los repositorios, por lo menos del lado del usuario es una forma excelente de acceder al software. No se que tan complicado será del lado "administrativo"...
Torres Baldi Studio
http://torresbaldi.com

josebita

Si te bajas a mano los debs de mi repositorio y los descomprimes, lo tienes todo.
Trastea un poco en mi página del repositorio en launchpad y encontrarás el enlace directo.

gecko

voy a empezar a entretenerme con eso entonces!

Gracias por la ayuda, y karma por la buena onda :)
Torres Baldi Studio
http://torresbaldi.com

La momia que fuma

Estaría bien si alguien es tan amable (Josebita? :P) un mini-tuto para los mu tontos (Y que no tenemos linux instalado para probar xD) sobre como empaquetar los juegos, que poner en el script y todo eso...

gecko

Si, vendría bien saber un poco mas.

Yo hice una prueba, y en mi Ubuntu funcionó, pero no se si será lo correcto.
No se si habrá una forma de ocultar la consola, por ejemplo.

Para el que quiera/pueda lo publiqué en http://torresbaldi.com.ar/juegos/zombies-2012/
(iba a esperar a tener el sitio terminado y completo antes de darlo a conocer, pero bueno... :( jajaja)
Torres Baldi Studio
http://torresbaldi.com

josebita

Quote from: La momia que fuma on September 14, 2011, 03:30:50 PM
Estaría bien si alguien es tan amable (Josebita? :P) un mini-tuto para los mu tontos (Y que no tenemos linux instalado para probar xD) sobre como empaquetar los juegos, que poner en el script y todo eso...
Gracias, por la parte que me toca :D

A ver si saco un rato, pero vamos, que ya verás cómo es igual que los de la wiz.

KeoH

Quote from: gecko on September 14, 2011, 04:48:44 PM
Si, vendría bien saber un poco mas.

Yo hice una prueba, y en mi Ubuntu funcionó, pero no se si será lo correcto.
No se si habrá una forma de ocultar la consola, por ejemplo.

Para el que quiera/pueda lo publiqué en http://torresbaldi.com.ar/juegos/zombies-2012/
(iba a esperar a tener el sitio terminado y completo antes de darlo a conocer, pero bueno... :( jajaja)

A mi en mi ubuntu me funciona tambien xDD creo q te voy a copiar el archivo sh y los directorios descaradamente xDD

gecko

Torres Baldi Studio
http://torresbaldi.com

KeoH

gecko ... siento decirte q no funciona xDDD le faltan librerías ... se ve q a mi me funciona porq tengo bennu instalado ... te cuento lo q he hecho.

He cogido el cd de ubuntu 11.04, me he ido al pc de mi padre y lo he arrancado desde el cd. Después he arrancado el juego con el run.sh  y me pide librerías .so xD ... prueba a ver cuales son y si hay q incluirlas con el juego

gecko

Gracias por avisar, voy a seguir probando entonces...
Torres Baldi Studio
http://torresbaldi.com

josebita

Os cuento lo que yo hago para mi karaoke.

Básicamente meteis todas las librerías que se necesiten en la carpeta bin/lib y los binarios de bennu en bin.
Luego uso este script para lanzar el juego y ya.

Lo único importante es meter tantas librerías como sean necesarias y lo mejor es copiarlas de algún linux que tengais a mano (podeis usar un live-cd/live-usb de ubuntu para cogerlas: os dejará instalar algunos paquetes). Además, normalmete la librería que hace falta no es la que acaba en .so sino la que tiene el número de versión detrás "libloquesea.so.2". Es fácil de ver: si la librería .so no es más que un enlace (en ubuntu salen en azul clarito al hacer un ls en la terminal y tienen una flecha en el icono desde nautilus) la que tenéis que probar es la otra.

Y por supuesto probadlo. Yo usaría un live-cd de ubuntu: arrancais y tenéis básicamente el mismo sistema que un usuario que acaba de instalarlo, así que copiais ahí el juego y si arranca es probable que al usuario le vaya  a arrancar.

En cuanto a librerías que necesitais: libSDL, libSDL_mixer, libmikmod, libpng, libz, libogg, libvorbis y libcrypto.so.1.0.0
Algunas están instaladas por defecto en el sistema pero no es mala idea copiarlas, por si acaso.

Luego os asegurais de que el script de ejecución y tanto el bgdc como el bgdi tengan permiso de ejecución ("botón derecho en nautilus->pestaña de permisos->permitir ejecutar este fichero como un programa" o algo así) y comprimís la carpeta del juego directamente desde el gestor de ficheros. Mejor en un formato .tar.bz2 porque los .zip y los .rar muchas veces no respetan los permisos de ejecución.

Luego se puede hacer un paquete deb o rpm, pero eso lleva más trabajo :)