Indierover: Indie game development and more

The monkeys are reading
crazy free box

Nintendo have bought my secret game project

April 1st, 2007

Yes! I can believe this is happening but it is! Nintendo Spain have bought the game that Over and me have been working together with the talented artist Zwitter.

It will be distributed for DS in all the markets really soon.

I’m sorry I can not talk more about this because it is… top secret!

What about a little image about the main characters?

CO

PS: Happy F’D!



Making games together!

March 31st, 2007

Something great is being cooked at the Tig Source forums.

Balding’s Quest game it’s a initiative from some crazy game designers, developers, programmers and other type of strange monkeys that are working together having fun making a small and already playable little project. I really love this kind of indie stuff, it’s better than a chocolate banana!

The best thing it’s that the project it’s open to everybody, so… you can contribute! Come on! Stop doing internet-zombie-reading and be yourself a game developer!

What do you think? Should we do the same here at Indie Rover? What about taking Killer Teddy Bear game like the base for starting a little cooperative project?

Tig Source



Interrail 2005: North Trip (1/8)

March 31st, 2007

Long time without writing anything in “Travels!” section. It’s not than I’m not travelling… It’s that’s I’m travelling so much I don’t have time for posting! :)

I’m going to upload some photos of my trips, starting for the old ones, so let’s begin for that great Interrail (a ticket that allow you to get all the trains you want in some areas of Europe) I made with my friends Tono, Emilio, Jesús, Beni and Colson.

So, once upon a time…

… two friends started the beginning of a summer Interrail travel. My friend Kisus and me started in my city (Murcia, Spain) and we took a flight to Munich. Later we visited Germany, Denmark, Austria, Swiss and France. We visited Hamburgo, Berlin, Copenague, Viena, Salzburgo, Zurich, Berna, Geneve y Lyon.



Killer Teddy Bear Tutorials

March 22nd, 2007

These tutorials are related to Killer Teddy Bear Game (open source game in java). You can read more about this game here:

Killer Teddy Bear will be open source
Killer Teddy Bear release

Tutorials

KTB Tutorial 1: 2d randomly generated terrain for Worms style game



KTB Tutorial 1: 2d randomly generated terrain for Worms style game

March 22nd, 2007

Important note: this tutorial is the part 1 related to Killer Teddy Bear Game (open source game in java). You can read the rest of the tutorials here.

You can also download the full game for playing online against other player. It is completely free and you can use it like a base for your own game. Don’t expect anything incredible, it’s more an experiment than a finished game:

* Download Killer Teddy Bear game (.jar file, you need the JVM)
* Download Killer Teddy Bear source code (Eclipse project)

0. Introduction

In this first tutorial I will explain how to generate 2d terrains like the one we are used to see in Worms games. The explanation will not be in any programming language but in a general way of tackling the problem. But you have here the source code of KTB game that uses these ideas. The classes that implements the terrain generator are TerrainGenerator.java and MapGenerator.java.

KTB Tutorial 1

1. Generating a random terrain in black and white (TerrainGenerator.java)

If you have played any Worms games you would probably have designed some worlds with the terrain editor. Basically, what this editor allow you is to draw a black and white 2d map. Later, in the game, the black areas will be considered as terrain and will be properly textured. Of course, these worlds can be textured with different layouts: forest, desert, snow, etc.

Furthermore, in order to share these worlds between players in a net, you only have to send the seed that generated the terrain. So, if the seed it’s an integer one map will be encoded in 4 bytes!

So the first step is to generate this black and white terrain (you can use alpha = 0 instead of white in order to be able to put a sky layout in the background), but of course, it has to be generated randomly. There are thousands of algorithms for doing this, for sure lot of theme will be faster than the one I will propose here, you are free for trying the one that would fulfill your needs.

The first thing I wanted was to generate some mountains, so I called my friend Google and we found together this approach to a terrain generator solution in robot frog.

Terrain Generator

The algorithm was, clear, well explained and “render independent”, so I quickly decided to use it. Basically it generates a matrix of vertex as big as you need. It is up to you what will you do with these vertex’s than “describes” the mountains. So, the generator is not linked to any render.

The first fix I needed to implement, after easily moving the code from c++ to java, was to change it from 3d to a 2d space. That was an easy task because in fact I didn’t touch the code. I just generated a 640* 640 matrix terrain (640 = width in pixels of my black mountains) and I basically got a “mountain line vertex’s” from (0, 320) to (640, 320). 1D noise function should be faster than this, I mean, to calculate only one line of mountains, you can experiment with the code as you wish trying other procedures for generating these mountains.

Terrain Generator

Later I drew vertical columns of one pixel width using these vertex heights. Et voila!

Terrain Generator

Of course, having only mountains it’s a bit sad, so I implemented a function that draws groups of ovals of random radius in different positions of the screen. This, together with the base mountains, generated a nice result.

Terrain Generator


2. Texturing the black and white generated terrain (MapGenerator.java)

This was my favourite part of the implementation. I remember that it take me only 3 hours to have a rough approximation and it was a great pleasure to see that the result was really near to the one used in Worms game.

The first thing you need are three textures for texturing. The first one will be the base texture, the second will texture the upper areas and the last one the lower areas. Changing these textures the whole map will look different. I used grass, sand and stone.



Applying base texture

This was the easier part. You just have to check all the black pixels in the map image and to put on each of them the appropriate pixel from the base texture. Take care of starting again from the beginning of the base texture if you arrive to the end.

Applying upper and lower textures

And this was a bit tricky… but funny!

The algorithm for upper and lower texturing is the same. Basically, once you find an upper edge, you will draw a column of grass pixels in down direction, and you will do the same for the sand but in opposite direction. But there is an important thing can not forget: the height of that column will be in most of the cases the height of the grass texture… but not always! If you take a close look at the textured images, in the floating islands the grass is very shallow along the edges, producing a curve as it progresses towards the center. This is because the height of the grass column is getting lower and lower in these areas.

These are the steps you have to follow (in this case for the upper texture, but the procedure for the lower texture is the same):

* In a nested loop
* For each pixel in the map check if the above pixel is white (so it’s an upper edge pixel)
* Go down from this position increasing a counter until you reach a white pixel (lower edge)
* If this valour is bigger than the height of a column in the grass texture, we can directly draw it. If not, we can get the height of the grass column we have to draw dividing this valour by 1.4 (I tried 2, but this valour gave me better results).

Please check the source code, there are additional comments that should be useful.

And this is the final result, with a background and some funny killer teddy bears.

And now… what about having destructible terrain?

Well, depending of what you want to do, this can be really easy. For example, you can just draw an oval with alpha = 0 and erase this area of the terrain directly from the textured map. The trick for having better results is to have a second background terrain (with a different texture, for simulating some distance) and erase it with an oval of less radius.

In Killer Teddy Bear game, what I do it’s just to erase the terrain with that oval of alpha = 0. But you can implement new weapons that chomp the terrain in other way! Just user your imagination!

And soon… the second tutorial of the game: how to make an online game using java sockets! Tell me if you are interested in this tutorial writing some comments, please!




Artwork Gallery

March 4th, 2007


Illustration




3d Architectural Design




Killer Teddy Bear Release!

March 1st, 2007

Better late than never :)

Sorry for the delay but finally here it is my open-source-online-java-game “Killer Teddy Bear”, that you might have already read about in this post. You can play with it, see the sourcode and use it as you want. Maybe for some of you will be useful.

The game, is for playing online against other player (using java sockets TCP/IP). For playing, just create a game and give to your friend your IP, he only has to write it for connecting. Thats all!

I didn’t have so much time so the game dosen’t have all the things I was expecting to implement on it. For example it dosen’t have animations, and when you achive to hit your oponent you will see that your points increase but nothing else will happen (I should have implemented a “resetGame” function for creating a new game, but I let you this like exercise ;P). So, more than a finished game, is just the starting point for learning jave game programming for online games.

I hope to have some time for explaining you how I developed the terrain generator and the network. Tell me if you are interested in such these things or others!

Hope you like it!

Download Killer Teddy Bear game
Download Killer Teddy Bear source code (Eclipse project)

Killer Teddy Bear


The snow and the sword

January 24th, 2007

Like I promised I will post some of my old stuff in 3d. This is an image I did lot of time ago, 5 or 6 years ago. And as you can see its more a proof than a final-good-finished-scene. As far as I can remember I used Final Render for the illumination. But no idea of the parameters of the material sorry. I will try to find the .max when I will be back in Spain.

I would like to have time in order to try to create a snowy scene with my actual skills in VRay. Maybe this year!



Killer Teddy Bear will be Open Source

January 23rd, 2007

Hi, his name is Teddy, the killer bear… and he is the protagonist of the game I developed this christmas for one subject of the university.

It is done in Java, using Java2d and the funny part is that you can play it online with other friend. I tried to play with one friend from Spain (I’m in Poland now) and it worked perfectly. Great Java sockets!

I didn’t do the graphics! They are collected from other games and I don’t use them for commercial purpose, just for having something to test the game. They are are protected by their respective copyrights. The funny sprite of the teddy bear was made by Squeaky the Zepa.

The good news is that I will release the full source code for you guys (under GPL license)! Let me some days for preparing the source code (I want to improve some things). I will publish it as soon as possible.

After the publishing I will explain a bit how it works the game and what were the tricky parts. Maybe a small tutorial.

Just a bit of patient!

Ah! I forgot to say I got the better mark for this subject :P



My last work

January 23rd, 2007

Hi all!

Here it is my last work I did for a commercial center in Águilas (Spain). I finished it in record time, 1 day of work.

Nothing special in this image, just some beautiful materials and more or less correct illumination.

Hope you like it :)

Specifications

  • Software: 3D Studio Max 8 + Vray 1.50.06
  • Work time: 10 hours
  • Size: 3000×1622. Download big scene.
  • Render time: approximately 30 hours


« Previous Entries Next Entries »