Ghornon's Hammer

Nokturn, 07 June 2005

For all those who are wondering what happened to the GameBlade: The GameBlade has reached a point where any further development would make it more and more similar to SDL itself. That's why I decided to start a new project, but not a library this time. It's a multi-platform 3D Strategy-Adventure called Ghornon's Hammer which is quickly progressing through the Alpha state at the moment. If you want to see more of my work, please visit the homepage of Ghornon's Hammer!

CVS News

Nokturn, 13. Jan. 2004

After a long break I decided to work on the GameBlade again. Today, I tried to improve the CVS version a little by adding a feature of blitting one image onto another, which was not possible in earlier version. I got inspired by some RPGs, where the character-sprite is composed of several different elements like head, torso, hands, etc.

SpaceBlade Release

Nokturn, 9. Jul. 2003

Today the first version of the SpaceBlade got released. You can download it at the download page. We also opened a new SpaceBlade section to give you some more info about the game. The page is still simple and pretty empty at the moment, just two new screenshots of a famous battle are shown :)

SpaceBlade Scores

Nokturn, 7. Jul. 2003

Well, SpaceBlade is on it's best way of being a good RPG. At the end of each battle, the status of all teamships is shown. The stats include values like Accuracy, Inflicted Damage and Courage, which based on how dangerously you played. I am having a lot of fun testing the game, I am looking forward to the next stage of the gameplay. Here is one of my fabulous scores. Note that it is hardly possible to survive a battle with the Courage value of more than some 100%...

A really courageous ship!

Working on the SpaceBalde

Nokturn, 7. Jul. 2003

The development of SpaceBlade got a high tempo. The current CVS is now playable. There are two teams of ships that battle each other in RPG manner, but in realtime. There are many explosion effects, experience points, hitpoints and a lot of action. See the screenshot and meanwhile I will continue working on the game!

My ship already exploded, but I scored the most points anyway ;) it was a very quick battle


Nokturn, 6. Jul. 2003

In order to keep a steady GameBlade development process going, I decided to start coding a full game using the GameBlade. Well, the result is SpaceBlade, a new module in the project. SpaceBlade will be a roleplaying game in which two teams of spaceships battle each other in realtime, but the damage etc. is calculated using RPG rules.
I took the main game elements from the Spaceship Galaxy, so it looks very similar. Here is a screenshot of what it looks like now:

You can check out the latest CVS of the game, but it is not very playable yet ;)

Mouse Support

Nokturn, 6. Jul. 2003

The latest CVS of the GameBlade has mouse support. Mouse button states can be checked using GB_GetButton(int). The mouse position relative and absolute to the window can be acquired using the new functions
- GB_GetMouseX()
- GB_GetMouseY()
- GB_GetMouseMotionX()
- GB_GetMouseMotionY()
I hope this will help you with coding your games.

No OpenGL support yet

Nokturn, 30. Mar. 2003

Though we were promising it again and again, the OpenGL support (which was already working pretty well) was removed from the CVS repository. We decided to put it on ice because a lack of time on the hands of all developers had frozen the project. Now we will be able to work on smaller features, like mouse support a better sound system and a tile system in future. We will also develop some more example games sooner or later.


Nokturn, 13. Jan. 2003

Today there's a surprise release! For all those who have been waiting for Base20021022, there is bad news, because they will have to wait a little longer :) Today's release, 20030110 helps all those, who had problems with compiling the GameBlade. Base20030110 should compile with VC++ and the new gcc 3.2, too, which it had difficulties with before. I would like to thank all those, who have contributed patches and tips, and also those, who have reported compilation problems to me! Happy GameBlading! :)

Release of Base20021016 + Future Plans

Nokturn, 24. Oct. 2002

Today is the scheduled release of the fourth base distribution of the GameBlade. It took a little longer this time, but the changes are really big. If you want to learn about the changes, read the previous news post.

The next version of the GameBlade is already worked on. Look forward to things like sprite lists, OpenGL support and maybe a tile system and much more!

Base20021016 almost done + expansion of the GameBlade

Nokturn, 23. Oct. 2002

I am sorry for no updates in the last few days but we were all busy with preparing tomorrow's release of the fourth GameBlade base distribution. It is almost done. All we still need is some testing and updated documents, especially the HOWTO file.

The changes in this version are rather huge:

  • Collision detection mechanisms using the BOX method and the perfect pixel method
  • Big changes to the GB_Sprite class, like automated enabling/disabling of rotation/zooming
  • Event handling system completely rewritten
  • Duration of a key being pressed is logged
  • Centralization of the system start through GB_Init
  • Functions for timing - setting the frame rate, waiting a frame, calculating dropped frames etc

I am also glad to announce that the GameBlade has gained new development team members! Welcome!


Nokturn, 18. Oct. 2002

Today, a new example distribution is released. It is the EXRotZoom20021015 distribution and it demonstrates the zooming, rotation and smoothing functions of the GameBlade.


I also rewrote the description of the "About GameBlade" page :)


Nokturn, 17. Oct. 2002

First of all, I want to thank my friend Dimitri S. ( ) for the new logo! He is also working on an icon for the GameBlade, which will be included in every distribution ;)

Next, there is of course a big event today: The release of GameBlade base 20021015. Here is what is new:

  • The whole file structure of the GameBlade was changed. Source was put into seperate files (not into headers) and the makefile was updated.
  • Three new features were introduced to the GB_Sprites class: Rotation, Zooming and anti-aliasing of zoomed/rotated surfaces. Zooming and rotation is applied only to the choosen frame and rotation is done around the center, so no worry about an "eggy" behaviour of rotated sprite coordinates. In order to accomplish rotation, the library SDL_rotozoom was added to the project. The advantage of that addition is, that SDL_rotozoom does not have to be installed, it is compiled along with the project.

The next base is also in work, it will feature collision detection (Box, Reduced Box and maybe even Perfect!) among other features.

GMSpaceBreakout20021013 release + other news

Nokturn, 16. Oct. 2002

Today is the release date of GMSpaceBreakout20021013. It is, like the name says, a breakout game. It is pretty difficult to play, but that was the same with GMSpaceshipGalaxy20021007 (which is still my favourite game).

Another great news is, that we have a new developer for the GameBlade. His nickname is NIMGIL and at the moment he is working on a collision detection system for the GameBlade. Welcome! : )

If you look at the release schedule, which was not updated recently, you will notice that Base20021015 is scheduled for tomorrow. And in fact, the base is finished but still needs a little testing and needs updated documents. There are only two changes in version 20021015, but huge ones:

  • The whole file structure of the GameBlade was changed. Source was put into seperate files (not into headers) and the makefile was updated.
  • Three new features were introduced to the GB_Sprites class: Rotation, Zooming and anti-aliasing of zoomed/rotated surfaces. Zooming and rotation is applied only to the choosen frame and rotation is done around the center, so no worry about an "eggy" behaviour of rotated sprite coordinates. In order to accomplish rotation, the library SDL_rotozoom was added to the project. The advantage of that addition is, that SDL_rotozoom does not have to be installed, it is compiled along with the project.

Another great news is, that the GameBlade will be getting a new logo and icon soon! Thanx to the work of a great fan of the GameBlade ; ) But seriously, it looks really great : )

Work on a new distribution has already been started. The GameBlade base 20021016 will have functions for collision detection between sprite (box and perfect) among other features. The release has not been scheduled yet.

EXExplosion20021013 - Fireworks : )

Nokturn, 15. Oct. 2002

The GameBlade has received a very convenient system to draw pixels with it's new Base20021013. The distribution released today is an example distribution which is rather complicated because it uses particle systems to simulate fireworks. Of course "complicated" is to be seen rather relatively because the GameBlade is not complicated at all : )

The number of particle is adjustable, I have tried numbers between 1 and 100000 and found 500 the best, so I let that one : ) Note that the example is not optimised at all, it uses floating point math and the sin and cos functions instead of fixed point math and lookup tables!

By the way, please use the forum to give feedback about the GameBlade, join the Open Discussion or present the project using GameBlade.

EXAlpha20021013 - GameBlade v. 20021013 in action

Nokturn, 14. Oct. 2002

In accord with the release schedule, it's the turn of EXAlpha20021013 to be released today.
EXAlpha20021013 is an example distribution (the very first one) demonstrating the new feature of GameBlade version 20021013, which is per-surface alpha blending. The example is a little longer than the previous ones (a little less than 40 lines of code, not counting empty lines and the file description at the top).

The example loads a background graphic from a jpg file, loads a sprite file from a bmp file ( maybe you know Mr. Mario from the sprite example already ;) ) and displays the sprite 5 times over the screen, where each sprite has a different alpha value which is increased or decreased every frame. Ever tried that in less than 40 lines? ;) Well, here is a screenshot:

GameBlade Base Version 20021013

Nokturn, 13. Oct. 2002

After a lot of testing of the first version of the GameBlade base, I noticed that there are many useful functions which I missed in the first base distribution.

All these functions are now present in the second base distribution. The most important changes include:

  • Functions for drawing and getting single pixels
  • Functions for clearing the screen or filling all of it or a part of it with one color
  • Centralized quit system for video, audio etc, which takes care of releasing surfaces, closing the mixer etc. ( just call GB_Quit() )
  • Functions for setting and getting the alpha (transparency) value of sprites and backgrounds
  • Functions for showing and hiding the mouse cursor
  • Examples for all new features in the HOWTO file

I decided to update the event filtering system in the next version, because it proved to be a bit clumsy, but still is functional enough.

I will release the example distributions EXAlpha20021013 (example of setting and getting alpha values) and EXExplosion20021013 (example of drawing pixels to the screen) tomorrow and the day after tomorrow.

Now you might ask about how to "update" to the new version. Actually, you don't need to change your code or anything. If you need a certain function, just copy and paste it into your old files. But since the GameBlade is not "installed" on your system, the games and examples you wrote for version 20021007 will of course still work and if you feel that 20021007 is good enough for you, please use that one!

I also opened a new section of this site, which is the release schedule. You can inform youself about past, current and future distribution releases.

Second game example - Spaceship Galaxy

Nokturn, 12. Oct. 2002

Well, after 5 hours of coding, the second game example is done. It is a horizontal scroller (arcade game) with the striking name "Spaceship Galaxy" ;) I find it pretty playable, but a little difficult. If I will have some free time, maybe I will work on it a little more to add things like more enemies, more weapons etc.... erm and better music! The distribution does not include any sound nor code for sound because I didn't feel like looking for space sounds! But if you have some free space sounds, please contact me, I will add them to the game!

Some will also notice that I have rearranged the menu bar of the homepage which was a bit messy with all the long items... and I put the source code of Space Pong, which can be viewed through the page, into an extra file to shorten the HTML loading time!

I already have a new idea for the next example game but first I will release the next version of the GameBlade Base, which will include things like functions for drawing single pixels, filling an area with a color and clearing the Screen surface. Furthermore, I will rearrange all the header files a little and update the documents. Maybe I will also make changes to the event filter system because it is a bit unlucky at the moment.

GameBlade readme version 20021007 uploaded + new game example in work

Nokturn, 11. Oct. 2002

I converted the readme file version 20021007, which is included in every distribution, to HTML and added some links (GCC, SDL, SDL_image, SDL_mixer) as well as two links to this page and the project page on You can find the doc at exactly that project page in the documents section: or the direct link to the document section:here.

Today, I started working on a new example game. It is a vertical scrolling space game and it's called "Spaceshit Galaxy" :) I know this is not a very innovative title! Anyway, I have been coding for 2 hours already and I already coded the Spaceship and Shot class, now the player can move around the screen and shoot at the emtpy space :)
I plan the game to be done tomorrow :)

First GameBlade Game: Space Pong

Nokturn, 10. Oct. 2002

I promised you a complete game example yesterday. Today, it is done. I have coded a complete Pong game, including AI, scores, title screens and even an eye candy effect in just 2 hours, of which I spent 1 hour for that eye candy :) The distribution is called GMSpacePong20021007 and you can download it in the download section! It's a game, you can play it, you don't have to code :) I also put the main file into the Source Example section, convince yourself of how easy GameBlade is :) I will be using it myself for games.

During the coding process, I have found out about many features I would like to add/change in the next release of GameBlade. If you have feature requests, use my page or contact me!

Two new example distributions

Nokturn, 10. Oct. 2002

I built two new example distributions for GameBlade:

EXMusic20021007, which covers the looped playback of an Ogg Vorbis music file ("music/Cool.ogg") included ;) (4 additional lines of code)

EXText20021007, which covers displaying a text (2 additional lines of code) As you see, it is VERY simple to play music or display a text :)

I am planning to post a complete source code example of a simple pong game on the site. I will try keeping the code below 150 lines... will I reach my goal?

GameBlade Homepage Opening!

Nokturn, 09. Oct. 2002

This is a great day for the GameBlade project: Not only did it had the very first release today, but it also got its site opened. I hope that this project will be as useful to everyone like it is to me!

Anyway, if you are new, look at the About page, look at the source examples and convince yourself :)

SourceForge Logo