Screencap of the latest game I was making until it got axed due to external reasons =((( Be patient, my beloved Kellogg’s Vs. Capcom. We’re almost there!

Screencap of the latest game I was making until it got axed due to external reasons =((( Be patient, my beloved Kellogg’s Vs. Capcom. We’re almost there!

Manu’s Classics of Fun: Bionicle - Space Battle

I’m particularly fond of this one because it was the first commercial game of my own design. The game was part of a campaign where two Bionicle toys were included in several Nestlé products, namely Trix, Nesquik and Zucosos.

While my primary inspiration for this game was Konami’s Gradius series, the end result is more like Galaga but with crazy weaponry.

Click here to start playing! If you have a PC gamepad I highly recommend you to play the game with it by using the Joy2Key tool.

New Game: Froot Raiders!

Play NOW! If you’re a gamer, chances are of you finding familiar stuff in this one =)

Te tripeas el Barça? Entonces juega esta vaina!

Te tripeas el Barça? Entonces juega esta vaina!

A WILD Eladio Appeared…!

A WILD Eladio Appeared…!

Speaking of Ninjas…

I did a couple of nice changes to the Java function I posted before to swap colors in a previously loaded BufferedImage, including variable saturation and brightness to ensure full ninja goodness! =D

Here we go:

void colorearNinja(BufferedImage image,int n_hue,float sat,float val) {

    int c,r,g,b;

    int w = image.getWidth(this);
    int h = image.getHeight(this);

    float hue = n_hue / 360f;
    float hsb[] = new float[3];

    for(int j = 0; j < h; j++)
        for(int i = 0; i < w; i++) {

            c = image.getRGB(i,j);

            b = c & 255;
            g = (c » 8) & 255;
            r = (c » 16) & 255;

            if(r <= g) {

                Color.RGBtoHSB(r,g,b,hsb);

                hsb[1] *= sat;
                hsb[2] *= val;

                image.setRGB(i,j,Color.HSBtoRGB(hue,hsb[1],hsb[2]));
            }
        }
}

Now the function works with a Sub-Zero sprite sheet. Sub-Zero is a very interesting character here because of his color combination: dark grays, blues and oranges for the skin.

In a color wheel, blue is exactly opposite orange, which means they are like totally different colors. So this time we are looking for blueish pixels (the ninja suit), while ignoring anything orange enough to pass like flesh.

With a given hue of 50°, we get all that boring blue replaced by Glorious Yellow:

And by toying a little more with the function we get a bunch of extra ninjas:

colorearNinja(image,50,1,1);    // Scorpion
colorearNinja(image,0,1,1);    // Ermac (0° means red)
colorearNinja(image,120,1,0.8f);    // Reptile (less brightness for darker green)
colorearNinja(image,0,0,0.8f);   // Smoke (no saturation for graying out)
colorearNinja(image,320,1,0.8f);   // Rain (totally fabulous values!)

Noob Saibot is a special case but not a difficult one. I’ll take care of him later,
I guess.

Ahhh&#8230; Palette Swaps.
I&#8217;m leaving some Java snippet below. It takes an image containing red pixels (e.g., Ermac&#8217;s sprite sheet) and adjusts the hues of these pixels to match the given one.
void colorear(BufferedImage image,int n_hue) {            int c,r,g,b;    int w = image.getWidth();    int h = image.getHeight();            float hue = n_hue / 360f;    float hsb[] = new float[3];            for(int j = 0; j &lt; h; j++)        for(int i = 0; i &lt; w; i++) {                            c = image.getRGB(i,j);                            b = c &amp; 255;            g = (c&#160;&#187; 8) &amp; 255;            r = (c&#160;&#187; 16) &amp; 255;                            if(r &gt; 0 &amp;&amp; g == 0 &amp;&amp; b == 0) {                                    Color.RGBtoHSB(r,g,b,hsb);                image.setRGB(i,j,Color.HSBtoRGB(hue,hsb[1],hsb[2]));            }        }}
To Part II -&gt;

Ahhh… Palette Swaps.

I’m leaving some Java snippet below. It takes an image containing red pixels (e.g., Ermac’s sprite sheet) and adjusts the hues of these pixels to match the given one.

void colorear(BufferedImage image,int n_hue) {
        
    int c,r,g,b;

    int w = image.getWidth();
    int h = image.getHeight();
        
    float hue = n_hue / 360f;

    float hsb[] = new float[3];
        
    for(int j = 0; j < h; j++)
        for(int i = 0; i < w; i++) {
                
            c = image.getRGB(i,j);
                
            b = c & 255;
            g = (c » 8) & 255;
            r = (c » 16) & 255;
                
            if(r > 0 && g == 0 && b == 0) {
                    
                Color.RGBtoHSB(r,g,b,hsb);
                image.setRGB(i,j,Color.HSBtoRGB(hue,hsb[1],hsb[2]));
            }
        }
}

To Part II ->

This is a Space Invaders clone I made for a local bank company $$$

This is a Space Invaders clone I made for a local bank company $$$

I made this Tetris circa 2001 while making my first forays into hard computer science.

I made this Tetris circa 2001 while making my first forays into hard computer science.

Development screenshot from Gwen the Magic Nanny

Development screenshot from Gwen the Magic Nanny

Development screenshot from Gwen the Magic Nanny

Development screenshot from Gwen the Magic Nanny

Soon.

Soon.

Character sprites from an old indie Dragonball Z game.

Character sprites from an old indie Dragonball Z game.

NINJA POWER! Screenshots from an old college assignment (click to enlarge).

NINJA POWER! Screenshots from an old college assignment (click to enlarge).

Manu&#8217;s Classics of Fun
EL POTE!

Play NOW&#160;!!

Manu’s Classics of Fun

EL POTE!

Play NOW !!