SetupProject v1.0

Ultimamente me esta cundiendo bastante, desde que cambie de puesto la verdad que no solo estoy mas inspirado si no que tengo tiempo libre, puedo trasnochar(que es cuando mas cunde esto de la programacion jeje) y luego levantarme a tiempo de ir a trabajar sin estar muerto de sueño.

El caso es que me puse con el SetupProject que tenia abandonado desde hace mas de un año y medio. Me imagino que pocos sabran de que se trata, pues bien, antiguamente tenia una aplicacion utilizando las MFC para configurar de un modo sencillo cualquier juego que utilice CRM32Pro pero claro, estaba restringido solo a Windows asi que aprovechando que CRM32Pro es multiplataforma, diseñe un nuevo SetupProject mas avanzado, completamente configurable sin tener que programar ni compilar nada(lo unico que hay que hacer es modificar un XML) y utilizando CRM32Pro. El resultado, a mi parecer, es bastante bueno y permite tener una herramienta para configurar el juego, acceder directamente a cualquier URL(local o en internet), cualquier fichero de texto(como las instrucciones del juego por ejemplo), ejecutar el juego despues de asegurarte que la configuracion es la correcta y voila! Ademas, funciona igual en Windows que en Linux(y proximamente en MacOS x86). Las configuraciones estan divididas entre 3 tabs:

En el tab general se encuentra el tipo de procesador, memoria disponible, multitasking friendly, etc.

SetupProject General tab

Tambien he agregado un boton que lanza un benchmark(prueba la cpu, memoria y velocidad de bliteo por software) que termina dando un indice de rendimiento, de este modo se podria recomendar que para correr el juego se necesita un indice de X como minimo. Los botones readme y web site acceden a un fichero de texto local y a una URL dada respectivamente. De este tipo se pueden configurar de 0 a 7 botones que realicen cualquiera de esas acciones.

En el tab de video se puede escoger el renderer deseado disponible para la plataforma en la que lo estas ejecutando, elegir la resolucion deseada de entre un maximo de 4, cada una de ellas puede ser el valor que uno desee(de nuevo, modificando el XML), la profundidad de color, etc. Lo interesante es que automaticamente y dependiendo de las opciones elegidas o disponibles se van activando y desactivando algunos controles y en el caso de que sea una combinacion no deseada, simplemente no permite guardar la configuracion actual.

 

SetupProject Video tab

Por ultimo, el tab de audio, podemos activar o desactivar el sonido, cambiar la configuracion de salida de output, muestreo, frecuencia, resolucion, modo sin olvidarnos del volumen de los sonidos y de la musica.

 

SetupProject Audio tab

El control que tenemos sobre cualquier elmento de cada pestaña es total: podemos deshabilitar un control, por ejemplo en caso de que no queramos que el usuario corra en modo ventana, con desahilitar ese control se termino :P, podemos modificar su posicion, de nuevo, utilizando el XML. El aspecto grafico esta basado en skins, yo he creado uno, el llamado “default” cuyo aspecto es el que podeis ver en los pantallazos pero es facil crear otro set de controles GUIs, fondos, icono, etc.. bajo otro skin(uno de Linux, otro de Mac, otro complemente nuevo…). Una vez mas, para cambiar de un skin a otro…en el XML :). Todo esto se puede modificar a gusto del desarrollador o grafista directamente utilizando el EditorDPF, sin programar ni compilar nada!!

Para los que hayan llegado hasta aqui…se merecen ver el aspecto del fichero XML que configura todo esto, el layout.xml:

layout.xml

Como no podria ser de otra manera.., tambien le he pegado a CRM32Pro :). La v4.99 saldra junto al SetupProject v1.0 ya que he agregado los famosos LoadConfig() y SaveConfig() de modo que desde vuestro juego tan solo teneis que llamar al metodo LoadConfig() y voila! cargara todos los valores generados por el SetupProject, vamos, mas sencillo imposible :). Para esta version estoy trabajando en la maldita rotacion y escalado de sprites, no prometo nada puesto que es la 2 vez que me pongo a ello pero esta vez hay un par de ases en la manga asi que espero que vaya mejor la cosa.

La pregunta podria ser…y todo esto para cuando? pues bien, el SetupProject ya esta terminado al 100%. Ahora estoy con CRM32Pro(si, de nuevo jeje) y luego ya actualizo la web con todo esto, como estoy de vacaciones… yo diria que para dentro de unos dias estara todo listo(siempre y cuando mi nivel de inspiracion no caiga jeje). Ah!! y no me olvido del scrollengine, ese ya esta terminado y tendria que subirlo a la web. Vamos, que me espera un mesecito de muchas actualizaciones 🙂

Pues nada, solo darte la enhorabuena si has sido capaz de tragarte todo este rollo 🙂

hasta la proxima!