index.php

Chipmunk physics bindings for BennuGD

Chipmunk logo in graphics

Chipmunk logos taken from their Google Code website

Forum member Prg has announced one of the most amazing and awaited user-contributed modules to BennuGD: A 2D physics module based on the Chipmunk physics library.
“What is a physics library?” you might wonder. Well, it’s a library that, given the physical properties of the bodies in the screen (their size, mass, friction coefficient and moment of inertia) will automagically perform reallistic calculations of their movement and update them onscreen.

Here’s the introductory video as found in their website:

The library itself is pretty easy to use and the downloadable file contains 7 examples that show how easy it can be to create a very reallistic game. Ever thought of creating a game like Angry Birds, World of Goo or Xmoto in BennuGD? This is what you needed.

As said, you can get the game from here or, if you’re using a Debian derivative like Ubuntu, from the unofficial BennuGD PPA.

Thanks, Prg!

Progreso (parte II) – librerías DCL

Siguiendo con el último artículoacerca de los recientes avances de BennuGD, hoy vamos a hablar de una nueva característica disponible: DCLs (Data Code Libraries, Librerías de datos de código).

Estas son como DCBs que puedes reutilizar en tus programas. Imagina que quieres compilar la librería key_event de Splinter. Lo harías así:

bgdc --libmode key_event.lib

Esto te dará un fichero key_event.dcl que después podrás usar en tus proyectos o compartirlo con otros.

Para compilar tu código usando un DCL, entonces sólo tienes que escribir:

bgdc -L key_event.dcl yourcode.prg

Este sistema tiene una limitación. DCLs no exportan constantes o #defines, por lo que deberás incluir un fichero de cabecera con ellos.

Puedes leer el anuncio de Splinter (que proporciona bastante más información, e incluye la cabecera para los DCL que puedes usar) aquí.

¡Feliz programación!

Algunos blogs interesantes sobre creación de videojuegos

Normalmente hablamos sobre nuevas características disponibles en BennuGD o (en menor medida, perdón por ello) sobre proyectos creados por los usuarios. Esta vez me gustaría hablaros de la inspiración detrás de vuestros proyectos, y cómo se hacen realidad actualmente. Como BennuGD es básicamente un lenguaje orientado al desarrollo de juegos indie, nos centraremos en ese segmento.

¡Sigue leyendo para saber más!

El primer enlace que nos ha llamado la atención, gracias al usuario gukan, en los foros (aquí, link en español). Es un post en inglés por Tony Downey, un diseñador de juegos, que muestra mucho de los problemas a los que se tiene que enfrentar un desarrollador cuando crea un juego indie con un muy buen nivel de detalle. No da respuestas definitivas, pero te señala los problemas, los analiza y da algunos ejemplos de cómo otros los han solventado.

Ciertamente es un hilo que merece la pena leer. Asegúrate de tener una buena taza de café a mano y algo de tiempo libre, es un mensaje largo.

La otra fuente de información que os voy a sugerir es el blog de Wolfire. Estos chicos crearon un juego de lucha en tercera persona muy bueno hace unos años, cuando el autor estaba en el instituto (¡!) llamado Lugaru. No hace mucho actualizaron el juego para añadirle texturas en alta resolución. Aunque los gráficos no estén a la altura del estandar de hoy, la fluida jugabilidad lo convierten en un juego muy fluido, además está disponible para los principales Sistemas Operativos y el código fuente está disponible bajo la licencia GPL, por lo que siempre puedes pasar el juego a nuevas plataformas. Aquí hay un video del juego en acción:

Su blog es muy interesante de leer, como lo han indicado dos campañas de promoción muy interesantes llamadas”Humble Indie Bundle” (1 & 2) donde podías conseguir un pack de juegos pagando lo que quisieras. Aunque pareciera una locura en su momento, recaudaron 1,273,613$ en el primer pack y 1,825,499$ en el segundo.

Volviendo al tema, estos chicos están creando una secuela de su primer Lugaru llamado “Overgrowth”, y están documentando todo el proceso del desarrollo, sus pensamientos, los problemas a los que se enfrentan, las convenciones a las que van…. y encima escriben sus actualizaciones semanales de desarrollo con videos. Lo mejor de todo es que puedes descargar esas alphas semanales y jugarlas si reservas tu juego, además estarás apoyando el desarrollo de un juego indie. No sólo eso, algunas personas han empezado a modificar las alphas conmuy buenos resultados.
Aquí puedes ver su último video semanal de su alpha, hasta hoy:

Su blog es una lectura muy interesante, podrás ver cómo el juego evoluciona, y a veces escriben mensajes muy interesantesacerca de diseño conceptual del juego, muy en la linea del blog de Tony.

Eso es todo por hoy, ¡espero que encontreis los links útiles!
¡Feliz programación!

Some interesting blogs on indie game creation

We usually speak about new features available in BennuGD or (to a lesser extent, sorry for that) about user created projects. This time I’d like to talk about the inspiration behind your projects, and how to actually make them come true. As BennuGD is mainly a language aimed at indie game development, we’ll focus on that segment.

Click on “Read More” for more info!

The first link was brought to our attention by user gukan in the forums (here, link in Spanish). It’s a post in English by Tony Downey, a game designer that looks into most of the issues a developer will face when creating an indie game to a great level of detail. He doesn’t give definitive answers, but instead he points to the issues, analyses them and then he gives some examples of how others have solved them.
It’s certainly a post that’s worth reading. Just be sure to have a cup of good coffee handy and some free time, as it’s a lengthy post.

The other source of information I’m going to suggest is Wolfire’s blog. These guys created a very cool third person fighting game a few years ago, when the author was in high school (!) called Lugaru. Not too long ago they updated the game to include higher-res textures. Even if the graphics are not great for today’s standards, the fluid gameplay certainly doesmake it a very fun game to play, plus it’s available for all major OSes and source code is available under the GPL, so you can always take the game to new platforms. Here’s a video of the game in action:

Their blog is a very interesting read, as they’ve set up two very interesting promo campaigns called “Humble Indie Bundle” (1 & 2) where you’d get a set of games by paying as much as you wanted. Even if it seemed a crazy idea at that time, they raised $1,273,613 in the first bundle and $1,825,499 in the second one.

Going back to the topic, these guys are creating a sequel for their first Lugaru game called Overgrowth, and they’re documenting all the process of the making, their thought, the trouble they face, the conventions they go to…. plus they post weekly status updates with video. The cool thing is that if you can actually download those weekly alphas and play with them if you preorder their game, plus you’ll be supporting indie game development. Not only that, but some people have already started modding the alphas to a great success.
Here you can see their latest weekly alpha video, as of today:

Their blog makes a very interesting read, as you can actually see how the game evolves and they sometimes write very interesting posts about conceptual game design much in the line of Tony’s blog.

So that’s all for today, hope you find the links useful!
Happy coding!

Progress (part II) – DCL libraries

Following the last article on recent progress in BennuGD, today we’ll talk about a new feature available: DCLs (Data Code Libraries).

These are like dcbs that you can reuse between programs. Imagine you want to compile Splinter’s key_event library. You’d do it as follows:

bgdc --libmode key_event.lib

That will give you a key_event.dcl file that you can later use in your projects or share with others.

To compile your code against some DCL, you’d then just do:

bgdc -L key_event.dcl yourcode.prg

The system has one limitation, though. DCL’s don’t export constants or #defines, so you’ll have to include a header file with those.

You can read SplinterGU’s announcement (which provides pretty much the same info, and includes the header for the DCL that you can use) here.

Happy coding!