Blog transferido a nueva direccion / Blog transferred to a new URL

17 junio, 2014

Blog transferido a nueva direccion:

http://www.megastormsystems.com/development-blog


Blog transferred to a new URL:

http://www.megastormsystems.com/development-blog

internet


Novedades y por donde ando actualmente

5 septiembre, 2011

La verdad que el tiempo pasa muy muy rapido…hace casi 1 año y medio que no escribo nada por aqui… pero bueno… lo importante es no desaparecer del todo. Hace unos dias subi la nueva version de CRM32Pro SDK, la v5.10, con varias mejoras y algunos errores corregidos a la vez que actualice el EditorDPF y lo mas importante, libere el codigo fuente del SDK bajo la licencia GNU LGPL. Costo un poco de tiempo preparar todos los ficheros pero finalmente creo que merecio la pena ya que varias personas necesitaban tener acceso a las fuentes.

A dia de hoy estoy intentando terminar el juego en red estilo bomberman y afortunadamente la cosa esta muy proxima a su fin, aunque luego habra que buscar un grafista que quiera hacerlo mas vistoso porque mis graficos son no malos, son lo siguiente :P. Hay un musico por ahi que se ha medio ofrecido a crear un par de temas musicales y los efectos… asi que bastante bien, parece que lo terminare pronto.

Tambien he estado trabajando un poco en el MSSE (el scroll engine) para poder importar/exportar mapas creados con Tiled y asi me ahorro el crear un editor, mas existiendo uno que va francamente bien.

Ojala consiga durante Septiembre terminar el bomberman y luego en otro mes aprox., terminar el MSSE, de este modo podria dedicar tiempo a nuevas ideas que tengo en mente, pero vamos despacio… que luego no hay tiempo y esto es un desastre.

Por otro lado, a ver si ahora despues de las vacaciones puedo quedar con la gente de stratos a tomar algo y vernos que ya hace bastante tiempo que los veo y echo de menos esas sesiones ultrafrikis hablando en chino pero usando vocablos del spaninglish.

Nada mas por el momento, hasta la proxima actualizacion!


CRM32Pro SDK v5.00 ya esta disponible!!

24 diciembre, 2009

Menos mal que lo he conseguido :). Acabo de actualizar la web, de subir los nuevos paquetes y versiones. Esta vez ha costado bastante, el hecho de soportar 3 plataformas y una doble(Win32 con Visual Studio y GNU GCC) multiplica por 4 el trabajo a realizar pero bueno, cierro un ciclo finalmente al poder terminar la libreria y justo antes de las vacaciones!!! 🙂

Ahora me voy a poner a terminar el scrollengine para finalmente ponerme con el bomberman. Son dos proyectos que estan muy avanzados pero faltan los detalles finales que se llevan mucho, mucho tiempo asi que no dara ninguna fecha, hare como blizzard: “Cuando esten listos” 😛

La proxima semana, el lunes seguramente, quedemos algunos del foro de stratos para tomar unas cervezas y despedir este anio. La ultima quedada estuvo muy bien, finalmente conoci a muchos del foro que llevaba anios viendo y leyendo sus posts y bueno que decir, que somos todos unos frikis muy muy nerds!!! pero de bueno rollo jejeje

Mientras tanto, os deseo unas felices navidades!!


Y cuando parecia que…

3 diciembre, 2009

No!!! sigo vivo!!! 🙂

posteo dos veces al anio pero bueno…, tampoco me da para mas.

Dentro de unos dias es la quedada de Stratos (dia 12 en Callao) y esta si que no me la pierdo. Ademas, y como sorpresa.. CRM32Pro v5.0 esta por fin terminada. Realmente ha sido mucho mas duro de lo esperado ademas que me he tirado mas de 9 meses sin tocar nada pero me daba pena las pocas visitas que hacia a la pagina y ver que la ultima actualizacion es de hace 2 anios!!!!. Ademas, el port a MacOS X x86 tambien esta listo. Solo me falta agregar un poco de documentacion de como compilar contra Mac y asunto terminado, actualizacion de la pagina web y me pondre con el ScrollEngine que ya corre bajo CRM32Pro v5.0 pero habia un par de cambios que me gustaria realizar antes de liberarlo del todo.

Como ultimamente estoy inspirado (aunque muy cansado) creo que lo podre tener listo para antes de fin del 2009 y por si acaso… tengo vacaciones en Navidad para no tener excusas jeje.

Bueno pues nada mas por el momento, si todo va bien (y esta vez si porque ya esta terminado!), la proxima actualizacion sera de la web, cerrando por fin el ciclo de desarrollo de la libreria para finalmente poder terminar algun juego simple con los anios jaja

Hasta la vista!


Sigo vivo…

21 febrero, 2009

El tiempo pasa demasiado rapido y el libre escasea preocupantemente, no obstante, desde que empezo el año nuevo, he vuelto a darle a la tecla. Algunos ya habran perdido la esperanza en el soporte OpenGL en CRM32Pro… pues no lo hagais! no puedo prometer ninguna fecha pero ya queda poco por hacer, la verdad es que esta siendo mas duro de lo inicialmente pensado y esto unido a los largos periodos de inactividad han conseguido un retraso de mas de un año.

Gran parte de culpa de todo esto lo tiene el trabajo, se lleva muchas horas y cuando llego a casa estoy cansado para ponerme a diseñar y programar nada. Y cuando tengo esas energias… lo he solido aprovechar para terminar o investigar mas sobre algunos temas tambien relacionados con el trabajo. Por ello, he decidido abrir una nueva seccion donde añadire herramientas de sistemas que he ido creando a lo largo de este ultimo año, algunas son pequeñas utilidades y otras bastante mas “serias” y complejas. Esta idea la llevaba teniendo en mente desde hace mucho tiempo pero no me decidia a mezclar cosas de juegos con sistemas pero al fin y al cabo, es tambien diseño y programacion luego… porque no publicarlo? Mas pensando que hay herramientas bastante utiles que os podrian venir bien a alguno en el trabajo y ahorraros tiempo para dedicarlo a vuestros hobbies :). Pues bien, el ultimo empujon que me ha hecho decirme por ello ha sido que un compañero abrio un blog (FFelix – Historias de un Analista de Sistemas) y la idea es bastante interesante.

Resumiendo un poco, sigo trabajando en CRM32Pro v5 y a la vez espero ir subiendo poco a poco herramientas de sistemas. Tambien espero poder reaparecer algun dia por las quedadas de Stratos… pero es ya, otra historia…

Buen finde!


El renacimiento

30 julio, 2008

Renacimiento es el nombre dado al amplio movimiento de revitalización cultural que se produjo en Europa Occidental en los siglos XV y XVI. Sus principales exponentes se hallan en el campo de las artes…… (bla bla bla bla).

No, aqui hablamos de mi renacimiento :), tras 9 meses de parada, me ha vuelto el gusanillo y como no, el tiempo libre. La verdad es que he estado tan liado en el trabajo que se me ha pasado muy rapido, me daba pena no poder progresar en mis cosas (ScrollEngine, CRM32Pro, TitanBomber, etc.) pero sabia que en cuanto tuviera tiempo libre, volveria al lio 🙂

Mientras volvia a mi memoria todo, decidi hacer el port a MacOS X (solo x86 por ahora) ya que tenia bastante curiosidad en ver como se hacen las cosas en este sistema y he de decir que todo va sobre ruedas, actualmente CRM32Pro esta corriendo sobre MacOS X, todos los ejemplos funcionan a la perfeccion, solo me quedan pulir un par de detalles: instalacion de la libreria y de las aplicaciones. Dicho sea de paso, he descubierto los bundles y me parece algo muy comodo y practico, sobre todo por lo organizado que termina todo 🙂

Concluyendo, intentare sacar una pequeña version (4.99d) que corrige algunas cosas que me han ido diciendo por el foro/mail y luego la 5.0 que traera el puñetero soporte total a OpenGL y como sorpresa…el port a MacOS X. No digo nada de fechas porque en el ultimo post meti la pata y de que manera jajaja

Saludos y espero veros pronto!!


MapEditor v1.6 – SetupProject v1.0 – SpacePong v2.0

23 octubre, 2007

Debe de ser la primera vez que digo: “en una semana..” y es en 3 dias y encima mas cosas de las anunciadas jejeje, salgo ahora mismo de casa a comprar el cupon, hoy me toca fijo :).

Mike me sorprendio anoche con su nueva version para CRM32Pro v4.99 y con soporte a layers, ya me habia enviado la 1.5 pero tenia un par de cosillas por corregir y no solo lo hizo, si no que agrego mas cambios, otro que tambien cuando se pone se pone :).

Del SetupProject, poco mas que añadir que no haya dicho ya, solo que espero que todos aquellos que tienen algun proyecto con la lib, lo utilicen y se ahorren tener que crear ellos esa aplicacion. Ah bueno, el SpacePong v2.0 utiliza el SetupProject asi que es un buen ejemplo para fijarse como van las cosas.

Y ahora que? pues muy sencillo, tengo que pulir un par de detalles del ScrollEngine (MSSE) y despues lo subire a la web, aunque ya he visto que hay gente que lo esta utilizando jeje.

Venga, me vuelvo a arriesgar… si todo va bien, el MSSE estara pulido del todo en… 10 dias? veremos en que queda esto jeje.

Saludos!


CRM32Pro v4.99 SDK

21 octubre, 2007

Buenas!

al final y como casi siempre, unos dias se traducen en semanas que a su vez, se hacen meses… y es que el tema de los efectos en sprites(mirror,flip,resize y rotate) ha dado mucha mas guerra de la que me imaginaba. Para empezar, justo hace un año que intente implementarlo pero me rendi, habia otras cosas que hacer…por aquel entonces el proyecto PKM06 estaba vivo… pero como soy masoca, un poquito melon y tuve un momento de inspiracion..se me ocurrio antes de verano que podria ponerme de nuevo con los dichosos efectos. Pues bien, estan conseguidos y funcionando! 🙂

Esta version, tiene muchisimas mejoras y aconsejo a todo el que utilice la lib, pasarse a ella YA!.

Una de las cosas que estuve haciendo fue pasarla el BoundsChecker de forma intensiva y descubri varios bugs jodidillos pero que pude reparar.

Ademas, he aprovechado y he agregado soporte directo a las superficies y recursos en 8bits, hace años pense que seria una tonteria soportar 8bits pero ahora creo que es mas tonteria poner limites absurdos solo porque yo pensara que…. y esto no ha sido facil, sobre todo en el EditorDPF pero con tiempo y dedicacion, tambien lo he conseguido jeje.

Por ultimo, he subido la v1.2 del DPF2XML que no solo es muchisimo mas rapido importando de XML a DPF si no que ademas van los ejecutables para Windows y Linux.

Quizas alguno se pregunte…y el SetupProject? no estaba terminado? Sí, si lo esta. Lo subiré esta semana pero tengo que hacer unas mini-instrucciones y modificar muy levemente al SpacePong para que lo utilice y asi habra un ejemplo practico.

Si todo eso va bien, esta semana hare otro update de la web y acto seguido me pondre con el scrollengine para pulir un par de detalles y poder liberarlo cuanto antes, fechas? yo espero que antes de que termine este mes este en la web pero… yo ya no digo nada :).

Y bueno, la v5.0 la dejo un poco aparcada hasta el proximo año ya que me quiero poner con los jueguecillos, lease TitanBomber.

En fin, esto ha sido todo por el momento, que no es poco!

Dejo una lista de las mejoras de la v4.99:

· CRM32Pro main interface:

– Implementation of LoadConfig() and SaveConfig(). They now work!.

– Full working link between LoadConfig()/SaveConfig() and the SetupProject.

– Improved blitting optimization across all supported CPUs.

· ILogSystem:

– Added new Halt() and Resume() members to stop and resume the log output.

– New mode to append the log output to the same log file.

· ICursor:

– Fixed a problem creating a cursor from a 8bits surface.

· INetwork:

– Fixed some memory leaks on client and server code.

– Improved stability with client-server disconnections.

– Updated network examples.

· IButton:

– Raised MAX_LAYERBUTTON from 3 to 5.

– Fixed a problem with layer visibility. Now they works fine.

– Fixed a problem with ID buttons on layer 2 and upper.

– Better output of Info() member.

– Improved master buttons and cloned buttons functionality.

– Added new SetKey() and GetKey() members.

– Added new SetColorSelect() and GetColorSelect() members.

– Added new RemoveMaster() member.

– Inputbox type button now works better avoiding key repetition and delays.

– GetCurrentValue() has been renamed to GetValue().

– SetCurrentValue() has been renamed to SetValue().

– Function assigned to a button now supports two argument of any data type.

– Fixed a problem in Save() to DPF when the button was in video memory.

· IVideo:

– Fixed a critical bug on MPEG playback on multicores CPUs.

The problem was found and solved on SMPEG sources.

· IScreenFX:

– Improved Resize(): faster, support all color depth and optional render to a destination surface.

– Added new Flip() member to flip a surface.

– Added new Mirror() member to mirror a surface.

– Added new Rotate() and RotateScale() members to rotate a surface.

– All above members support surface clipping and the destination surface bounds.

– Note that all above features work in software mode. In hardware mode they are quite slow.

· IPrimitives:

– PutPixel() has been renamed and duplicated to PutPixelColor() and PutPixelRGBA().

– HLine() has been renamed and duplicated to HLineColor() and HLineRGBA().

– VLine() has been renamed and duplicated to VLineColor() and VLineRGBA().

– Rect() has been renamed and duplicated to RectangleColor() and RectangleRGBA().

– Added new LineRGBA() and LineColor() members.

– Added new BoxColor() and BoxRGBA() members.

– Added new RGBtoYUV() and YUVtoRGB() members.

– Added new RGBtoCYMK and CYMKtoRGB() members.

· CSprites:

– Added new SetEffect() member to activate special effects.

– New special effects: mirror, flip, rotate and resize.

– Fix a problem with colorkey in 8bits and 16bits surfaces.

– Full support for 8bits sprites surfaces.

– Fixed a problem in Save() to DPF when the sprite was in video memory.

· IImage:

– Added new LoadIMG() member to load a BMP or PNG.

– Fix a problem in SavePNG() trying to save RLE surfaces.

· CTiles:

– Full support for 8bits tiles surfaces.

– Fixed a problem in Save() to DPF when the tile was in video memory.

· Improved internal use of SDL_DisplayFormat(): it only performs the conversion when it is needed.

· Modified project files to support VS2005 and ready to add MacOS x86 project files.

· Improved documentation.

· Fixed a couple of mispelling words on sprites documentation. Thanks to Melkor to report it!.


SetupProject v1.0

14 agosto, 2007

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.

SetuProject 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.

SetuProject 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.

SetuProject 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!


MegaStorm ScrollEngine v0.90(MSSE)- First release

25 julio, 2007

Finalmente aqui teneis la primera version publica del scroll engine funcionando sobre CRM32Pro v4.98 (esta version aun no esta terminada asi que solo incluyo la version para VisualStudio).

El scroll engine es completamente funcional y aunque me quedan realizar algunos cambios internos, lo mas importante y complicado ya esta. Si alguien se pone a probarlo o incluso utilizarlo y se le ocurre alguna mejora o descubre algun problemilla que me lo diga y lo corregire para la v1.0.

He tardado un poco mas porque he preferido documentar todo y crear unos cuantos ejemplos de uso. Por ahora no va el codigo fuente, solo la libreria estatica para linkar pero en la v1.0 la idea es dejar todo el codigo libre bajo alguna licencia para que podais agregar lo que querais.

dot Native support up to 5 layers. Easy update to n layers.
dot Full and customizable parallax scroll support.
dot Independent or group fixed, with scroll or with parallax scroll layers.
dot Viewport and target surface can be selected in realtime.
dot OnUpdateEnd event which will be called at the end of each layer update.
dot Manual layer creation.
dot Import any external image file(BMP or PNG) and convert it to a valid layer.
dot Export any layer to an image file(BMP or PNG).
dot Level loading and saving on native format to an XML or to a DPF file.
dot Easy custom maps management to create almost any kind of game.

Aprovecho tambien para comentar que la idea de crear este engine vino a raiz del grupo PKM06 y nuestro proyecto de un shooter espacial en 2D con scroll vertical al estilo clasico. Por el momento la cosa esta bastante congelada y no se si la cosa se reactivara o se quedara donde esta ahora pero es justo nombrarlo ya que sin el, este engine no existiria.

Volviendo a CRM32Pro… espero tener lista la v4.98 antes de que termine Julio y rapidamente vendra la v4.99 que utilizara la recien estrenada SDL 1.2.12 corrigiendo muchos bugs y glSDL 0.8. Ambas versiones seran muy probablemente las ultimas antes de SDL 1.3/2.0 asi que CRM32Pro esta cerca de llegar al final de su evolucion y pasara al modo mantenimiento, aun y asi el plan sigue siendo el mismo, la v5.0 tendra soporte total con aceleracion OpenGL y el scroll engine como tal se aprovechara de todo ello.

Por ultimo, aqui teneis el enlace: MegaStorm ScrollEngine v0.90(MSSE) for VisualStudio

Y bueno, esto es todo por el momento!

Hasta la proxima actualizacion!