¡Hola a todos!
El proyecto del que vengo a hablaros es algo que se me ha ocurrido hoy mientras dormía. Espero que no acabe en Vaporware, como casi todos los proyectos que he empezado.
La idea es hacer un instalador genérico multiplataforma. Algo así como un ejecutable que descomprima de otro archivo las fuentes del juego lo compile en esa plataforma y lo introduzca en la carpeta adecuada, ponga los accesos directos/lanzadores en donde tienen que estar etc...
Además, había pensado que podría hacerse de forma que depende de qué extensión tenga el archivo comprimido sepa si dentro hay fuentes o juego compilado (para aquellos que no quieran distribuir su código).
He pensado en emplear Mono, porque si se emplea el Standard es compatible con Windows y Linux. Pero he leído por ahí que dentro del mundo Linux no está muy bien visto mono. Java lo quiero evitar porque lo odio, así que he pensado que podría hacerse un pequeño javascript o así que lance un ejecutable distinto según el OS en el que esté (.exe en Windows, y archivo ejecutable en Linux), pero tengo otro problema, en Linux sólo se programar en C. A secas, en consola. Y poco.
¿Alguien se apunta a echarme un cable o a pasarme documentación de cómo programar para Linux?
Te paso unos tutoriales sobre linux que tengo, pero no me los he llegado a leer.
Yo me ofrezco para echarte una mano siempre que me venga bien, ando algo atareado. Tampoco se mucho de linux ni windows, y menos mono... :-\
ya tienes varios de esos productos... no hace falta reinventar la rueda...
chequea:
innosetup
nixstaller
hay otros tambien, pero no creo valga la pena hacer un instalador, o quizas puedas hacer alguna especie de UI para estos que acabo de poner arriba, seria genial.
Gracias Alex, les echaré un vistazo.
La cosa, Splinter es que busco algo simple. Que le puedas marcar una url donde buscar actualizaciones, por ejemplo, y pocas cosas más.
url de actualizacion? eso ya no es un instalador... eso ya es otra cosa... o una tarea en background o un api o app anterior a ejecutar el juego, y ademas, no solo eso, sino que requiere de un servidor donde alojar los juegos... no todos los programadores indie pueden darse ese lujo.
demas esta decir que estos instaladores son muy simples...
A ver, con url de actualización me refiero a que a la hora de instalar mire a ver si hay alguna actualización. Imagina que distribuyes el juego y te das cuenta de que hay unos bugs. Pues lo arreglas y lo subes a tu servidor. Todo el mundo se descargará esa versión, pero los que tengan la vieja al ir a instalarlo, el instalador se bajaría la nueva versión y la instalaría.
Sería una opción disponible. La cosa es que podría decirse que tengo una obsesión con que los usuarios de mi software tengan la última versión sí o sí.
Eso ya existe o al menos en ubuntu, synaptic y centro de software de ubuntu...
Quote from: Yawin on January 13, 2013, 06:00:26 PM
A ver, con url de actualización me refiero a que a la hora de instalar mire a ver si hay alguna actualización. Imagina que distribuyes el juego y te das cuenta de que hay unos bugs. Pues lo arreglas y lo subes a tu servidor. Todo el mundo se descargará esa versión, pero los que tengan la vieja al ir a instalarlo, el instalador se bajaría la nueva versión y la instalaría.
Sería una opción disponible. La cosa es que podría decirse que tengo una obsesión con que los usuarios de mi software tengan la última versión sí o sí.
oh, no, eso es un error... si yo voy a instalar la primera vez, y me bajo una version X es porque esa version X quiero instalar... si quisiera la nueva bajaria la nueva... en todo caso, el programa (juego o applicacion) me deberia informar que hay una nueva instalacion disponible... pero no el instalador... cuantas veces instalamos una version vieja porque con la nueva tenemos problemas o queremos hacer algo que la vieja si permite y la nueva no... o por X motivos...
A ver, preguntaría al usuario qué versión quiere instalar. Pero, el caso es hacer un instalador optimizado para Bennu, que tenga toda una serie de opciones.
A ver, la cosa es que a mi me gusta hacer todo de mi software, desde el programa en sí hasta el instalador. En mi empresa hacía así el software y los clientes estaban contentos. Sobre todo, porque mis actualizadores estaban diseñados exclusivamente para un estilo determinado de distribuir el software. No se si me exlplico.
Además, así ahorraría muchos quebraderos de cabeza a los que empiezan y no saben cual es la mejor forma de distribuir el juego que acabn de hacer. No sería la mejor forma, pero sí una válida.
si pregunta esta bien... igual me parece interesante un sistema de instalacion y un sistema de notificacion de updates, porque el que ya lo tiene instalado, sino no se entera.
Lo que tenía pensado, una vez terminado el instalador este sería hacer un launcher generico que pueda llamar a un script de actualización antes de llamar al juego. De forma que si has preparado un sistema de actualizaciones o repositorio puedas hacer tu propio script, y si no sabes puedas usar uno por defecto, o algo así. No se, poco a poco.
bien... igual todo eso puedes hacerlo con los instaladores que te mencione... de hecho nosotros usamos uno de esos y tenemos el sistema de consulta al servidor y demas para validar licencias, pero lo mismo puede ser para actualizar.
Como ya he dicho, yo soy seguidor de la filosofía DIY (Do It Youself), así que intentaré hacermelo yo. Pero, prometo echarle un vistazo a lo que me has dicho si veo que me atasco mucho.
simplemente lo digo para hacerlo mas profesional... el innosetup crea instaladores del aspecto windows y el otro crea con aspecto linux... y se ven profesionales y estandars.
El programa q quiere hacer Yawin intenté hacerlo .. y me encontré que tenia un error raro del rato en linux .. utilizaba la mod_curl y la tinyxml ... lo tenia bastante bien montao .. Pero para evitar el error del raton .. instale la version de bennu oficial .. y ya no podia usar mod_curl ni tinyxml .. asi q lo deje asi .. despues en windows no me funcionaba la mod_curl .. y asi se quedo ...
pero era operativa .. chequeaba cual version del juego tenia, cual habia en el server y se bajaba los archivos necesarios.
BennuGD .Net tendrá opciones similares, al grabar un CD podrás elegir la plataforma destino y tendrá como una plantilla que tednrá un listado de los ficheros a incluir, y en el editor prg se podrá generar el setup con opciones de tu juego, al estilo de lo que hacia DIV2
En sí lo que yo pretendía era hacer uno que sirviese para Linux y windows. Pero sí, más o menos es eso lo que quiero hacer. A mi estilo, pero eso xDD
igual depende para que, aca hicimos un instalador en windows de bennugd, porque se quejaban que era dificil instalarlo, y cuando se armo un instalador, ahora si era simple instalar desde un zip... :D
y nadie quiere usar el instalador porque no sabe lo que lleva dentro... y desconfia...