Tuesday, July 14, 2015

It was a lot of fun!

As you probably know, Satoru Iwata passed away last Saturday. In case you don't know him, he is credited as the mind behind the Wii console.
In the 90 previous technical posts I have described some of my mistakes and some of the lessons I learned while porting BennuGD to the Wii. I still consider this port as one of the coolest things I've done with computers to date.

It was a lot of fun coding for and learning with such a great console!
I might've not used the console in the way Mr Iwata intended it to be used but he was a hacker, he'd have understood.

Friday, June 8, 2012

Preview release of binaries based on official monolithic version

I'm releasing a preview version of BennuGD for Wii based on upstream monolithic code.

Known bugs:
  • There's something weird going on with directories and as a result of that BennuGD won't automatically set the working directory to the path where your DCB resides. This means that you won't be able to launch your games from the Homebrew Channel just yet.
    I've only tested the binaries to work when launched through wiiload.
    You'll also still need to change the working directory from your BennuGD code to the correct path, with something like:
    chdir("/APPS/MyAPP/");
This build only includes the official modules, but includes all of them. I've also left some debugging info on. It'll go away when the proper release arrives, obviously.
<<Get it from here>>

If you know how to compile and run your code through wiiload I'd like to ask you to download it and tell me if it's working fine for you.
Cautions from previous releases still apply:
  • Convert your music to 48kHz
  • Don't use FNT files compressed with gz
  • All that stuff
If it's not, please report bugs in the comments section of this post or -better- in the project's bugtrack section.

Thanks a lot.

Tuesday, June 5, 2012

Compiling the Wii port with the official monolithic code (Part II: BGDI)

So this is what the official monolithic version of bgdi looks like when compiled for the Wii and run without arguments.

It's noteworthy that it's a complete version of BennuGD: all and only the official modules are built in: I'll still have to merge unofficial modules (mod_wpad, mod_chipmunk) before doing a proper release but this is a completely up to date build of BennuGD.

I'll run a few tests and in case everything is working as expected I'll drop the binaries here for you to play.

[EDIT] Sorry, no release for you today: Modules are loading and some functionality is there, but there's some major stuff not working and I need to fix it before releasing anything useful :(

Friday, June 1, 2012

OpenGL coder needed!


[Cross-posted to bennugd-wii and bennugd-mobile blogs]
[Please note that this is my own personal initiative and, while Splinter is fully aware and approves it, he's not directly involved with it]


Over time BennuGD has achieved quite a few milestones: not only it's one of the easiest open source game programming languages around but people have used it to create very fun gamesthousands of people have downloaded BennuGD games for the Wii and hundreds of thousands of people (if not millions) downloaded SorRv5 in the few days before it was taken down by Sega. It also hit the front of many game related magazines. And even after the official links were removed, loads of people continue to post Youtube videos with SorRv5 game content, which is really cool.

More importantly, BennuGD now works in most PC OSes, but it has also been ported to some really interesting platforms: classic game consoles and handhelds plus iOS and there's a WIP port (that's proving to be more difficult than initially thought) for Android. This enables you to create your game in your computer and, if you take a few basic precautions, run it in your favourite platform.
In most platforms performance is not a problem but in others it is not ideal. For example, trying to run a BennuGD game with a multi-plane scroll in iPad 2's native resolution results in a more than sub-optimal experience, and we want that situation to improve. Games need to render faster and for that to happen we need a new hardware-based blitter that can co-exist with the current software based blitter.

Day after day we see games that could easily be made with BennuGD (plus some unofficial extensions) succeed in those new mobile patforms but we need that new 2D blitter if we want to allow people to create such games.

Right now it doesn't look like the current members of the community can step up and create the new blitter themselves, so I'm asking for help. As I said before, this is not an official effort in the sense that the BennuGD project leader is not behind it but he also feels the need for this and if some good code appears I'm sure he'll be happy to see how it fits in the official code base.

Technically the work that needs to be done roughly consists in rewriting/modifying some of BennuGD's core libraries to be OpenGL (+OpenGL ES?) based. Those would be libgrbase, libvideo, libblit, librender and probably others, too.
The new code should be written in C and your code would be distributed under the zlib license (just like BennuGD is) so that games created with it can be distributed in any manner no matter the platform.

If you feel like you can help and want to use some of your time helping an open-source project please leave me a note in the comments and I'll get in touch with you. Don't worry if you don't know how Bennu works internally, I can help you with that.

Thanks a lot in advance!

Sunday, May 13, 2012

Compiling the Wii port with the official monolithic code (Part I: BGDC)

Yesterday I spent an hour or so playing around with the official monolithic code.
I got BGDC to compile from SplinterGU's monolithic code.

What you're seeing is the standard info message you get when you call "bgdc" without any arguments.
Not really impressive but it's progress, in a sense :)

PS: The patch includes one small dirty section; we'll fix it before release

Thursday, May 10, 2012

Official Monolithic architecture now available!

(Cross-posted to bennugd-wii and bennugd-mobile blogs).
SplinterGU just made an official monolithic implementation of BennuGD available in the official SVN repo.
The implementation is pretty-similar in design to mine but SplinterGU has managed to make it much easier to mantain (the header with the list of required symbols are generated automatically so he basically just maintains the modular version). That said, future updates to my ports (both for the Wii and for mobile platforms) will be based upon this design. I don't yet know if I'll publish full sources or just a set of patches against the official repo.

In any case, SplinterGU has expressed interest in the Wii port so it might become official at some point.

Not much more to announce: I advanced quite a bit with the iOS port and should published an updated template shortly. The android port still has troubles with the sound, and those don't seem to be going away shortly.

Happy coding!

Friday, December 2, 2011

La Red Resiste

(This is a post about the Spanish government passing a ruling by decrete that bypasses judiciary power just to please a moribund industry and the US government, please excuse the off-topic if you're only interested in programming)

Hace exactamente dos años tuvimos conocimiento del anteproyecto de Ley Sinde. Gran parte de la ciudadanía señaló de inmediato su rechazo en las redes a través del #manifiesto por los derechos fundamentales en Internet. En estos 24 meses el debate social sobre esta iniciativa ha sido intenso y ha aglutinado a ciudadanos y organizaciones preocupados por la merma de derechos y libertades. Ahora, pocos días después de haber sido deslegitimado por las urnas, un gobierno moribundo pretende aprobar el reglamento que desarrolla esta ley en abierta connivencia con el gobierno entrante.

La Ley Sinde tendrá numerosos efectos indeseados: al introducir una fuerte inseguridad jurídica en la regulación de Internet, se dificulta gravemente la actividad de los emprendedores tecnológicos que el Partido Popular pretende que contribuyan a reactivar la economía. La redacción de la Ley Sinde señala claramente que se aplica a todos los servicios de la sociedad de la información; no deben confundirnos los mensajes que afirman que su única razón es la de cerrar webs de descargas. Nada es peor para el crecimiento de un mercado que la inseguridad de no saber si al día siguiente un negocio puede ser cerrado por la aplicación arbitraria de una norma en manos del gobierno de turno.

El panorama de la propiedad intelectual en nuestro país es atroz: la Embajada de los Estados Unidos ha impuesto la aprobación de la Ley Sinde, el canon digital a empresas y administraciones fue declarado ilegal por el Tribunal de Justicia de la Unión Europea pero tras año y medio se sigue pagando, los antiguos dirigentes de la SGAE -siempre defendida por el Ministerio de Cultura- se hallan imputados en la Audiencia Nacional por el saqueo generalizado del dinero de los autores. Este panorama cuadra con el general: una corrupción política extendida y no censurada en las urnas, unida a la subordinación de la democracia a los intereses de unos pocos con nombres y apellidos a los que sin embargo se les llama “mercados”.

Sólo con inteligencia, diálogo y trabajo se pueden resolver los actuales retos de la propiedad intelectual y comenzar a construir una salida a la preocupante situación económica actual. Como el Tribunal Europeo de Justicia, entendemos que la tensión entre la propiedad intelectual y la libertad de empresa, el derecho a la privacidad y el derecho a recibir o emitir información ha de resolverse en favor de estos tres últimos derechos. Será la única manera de crear riqueza y de mantener las libertades que tanto ha costado conseguir.

Frente a la arbitrariedad, la defensa histórica de la ciudadanía ha consistido en asegurar la garantía de los derechos fundamentales sustrayéndolos de la política, esto es, de los poderes de la mayoría y del mercado: se trata de derechos inviolables, indisponibles e inalienables. Los gobiernos van y vienen. La red resiste.