Zalo DS Blog

Monday, January 07, 2019


Summer has become that time of the year when I stop everything I am working on and focus on ZGB for a few weeks. The bitbitjam wasn't finally hold this past year and we were missing a bit of retro-action so I talked with sergeeo (who takes care of the Familiar Game Jam) about holding a 48h mini-jam specifically for the Game Boy and using only the ZGB engine. The jam was online but a small group of people gathered together on my current company Genera Games.

As usual to avoid people bringing their creations before the start of the jam we picked a theme: bouncing. The jam was celebrated during the weekend of July 27th-29th 2018. You can still access the jam website and play all the 8 entries:
Read more »

Labels: , , , , , ,

Thursday, November 01, 2018

Simple yet powerful FSM implementation

There is one thing common to all the games I have worked on and all the languages I have used: state machines, or how they are called nowadays: FSMs (finite state machines). You don't really need to learn anything before starting to use them and probably you have already used them without even knowing it. As seen in the Game Programming Patterns at some point you end up using them naturally.

But, event though the idea is pretty simple and intuitive, iterating it and creating something that really makes your life easier it's a bit more complicated than it seems. I'd like to show you how I have been iterating my FSM over the years and what are the main problems that I have seen in other approaches
Read more »

Labels: , , , , , , ,

Monday, August 14, 2017

Properly doing cameras interpolation through a target (II)

This is the 2nd post on the series Properly doing cameras interpolation through a target:

Having fun interpolating cameras? Let's take a look at some issues of the Camera interpolator we started on the previous post and fix them

The Rotation issue

If you test the interpolator a little bit you'll see it behaves very well even with moving objects. Because it focuses on the target it doesn't matter if it is moving or not, on any step of the interpolation it places itself on the target position and then interpolates from there.

But there is an issue interpolating between rotating cameras. Make the target rotate by adding the next script to it

and then set any of your cameras as children of the target so they rotate with them. Now pay attention to what happens when you interpolate from this camera to itself:
Read more »

Labels: , ,

Tuesday, August 08, 2017

Properly doing cameras interpolation through a target (I)

This is the 1st post on the series Properly doing cameras interpolation through a target:
- Properly doing cameras interpolation through a target (I)
- Properly doing cameras interpolation through a target (II)

Not sure everyone knows, but I am the kind of player that one day is enjoying the latest Zelda and the next day can be playing a Nintendo64 game on my favourite emulator. I don't play too many games (not that I ever had, usually when I was a kid I could get 5-6 different games a year, so I am fine with this) but the few ones I do I like to get to at least one of the endings.

Jumping from Banjo Kazooie to Zelda Breath of The Wild I could appreciate an evolution on the cameras Interpolation both games were doing. This is something that I wanted to work on for a long time, so after seeing it every night in Zelda BOTW I decided to implement it once and for all.

Read more »

Labels: , ,

Monday, July 31, 2017

BitBitJam 4 - Polka Sheep

It's hard to believe it's been a year already. I started doing some coding stuff for the Game Boy the past year for the bitbitJam 3. Me and sergeeo came up with Pretty Princess' Castle Escape and that was the begginning of ZGB a little engine for making games on this now 27th years old console.

I have been improving the engine a lot during the past year, but for this bitbitJam I wanted to work on something that's been annoying me the whole time: the compiler (see this post). If you've been following the scene you might already know that the current version of the GDDK is using an obsolete version of SDCC. I decided to sit down for a while and see if I could evolve it to use the latest one. The first thing I found was gbdk-n and interesting update to the library that uses the latest version of the compiler but it lacks one fundamental feature: banks support 

Read more »

Labels: , , , , , ,

Tuesday, January 03, 2017

ZGB, a little engine for the Game Boy

2016 has been an interesting year for the Game Boy scene. I remember back in 2015 talking with people developing for the Game Boy saying lots of docs with important info had been lost over the years and that the scene was dying... Well, I am not sure what happened, but in this past year I've seen some really cool games like: carazu, Rocket Man, Where's my cake?Soup Raiders: Jailbreak, Biotic Limit, Snake Bird, Araku Hime: The Red Princess, Guns & Riders... it seems that the game boy scene has revived!!

Read more »

Monday, January 02, 2017

Super Princess' 2092 Exodus

Initially developed for the gbjam5 this is the second game I develop for the Game Boy and also together with sergeeo doing the art and music.

The gbjam5 ran from October 1st 2016 at 7:00 AM to October 10th 2016 at 7:00 AM. 399 games were entered, wow! Contrary to the bitbitJAM the games were not required to work on real hardware, actually the games just needed to be thematized as Game Boy games. I already had the engine I created for Pretty Princess' Castle Escape and I wanted to give it another try. Most of the time I spent on the bitbitJam was actually on the engine and not the game itself, so I knew we could do something better.

Read more »