Archive for the ‘bge’ Category

Blender Game Making Challenge starts on the 20th of this month

Monday, October 7th, 2013

While not necessary only for FOSS games, all will be done with the Blender3D included game engine (BGE). Check out their website here and/watch the video below:

The overall theme will be announce on the 20th when the contest starts.

DevCorner: Underapprechiated game engines

Monday, June 17th, 2013

In my never ending search for a FOSS game engine that is usable for game modding with out having to reinvent the wheel (nor requiring to be a C++ code master) & having decent tools for content creation (because I am spoiled and think that is a minimum requirement for a game engine) I have become quite disillusioned lately. That is because *spoiler alert* sadly there is none so far… but a few are close luckily.

The usual contenders for 3D action games are your mixed assortment of idTech based engines, most notably ioQuake3. There are a few upcoming contenders like Unvanquished’s Daemon engine (which is a mix of ET:Wolf, ioQuake3 and Xreal) and a yet to emerge idTech4 based champion (my uninformed guess is that it will be dhewm3). But all of them lack a decent game-play scripting function.
On the other side of the idTech spectrum, there is the idTech1 based granddaddy DarkPlaces, which while having advanced to an quite impressive feature set, suffers a quite a bit from its nut-bolted & mostly undocumented client side add-on on the already a bit arcane script language QuakeC.

Interestingly the idTech2 based engines get little attention though. I have highlighted a few nice game projects based in it in the past, but it is probably due to the fact that each project is hacking on their own engine fork, that none has gained prominence as a game engine on it’s own. But feature wise the engines behind AlienArena, Overdose and Warsow are probably the most advanced.
The last one of these, has been probably the most overlooked, with the game itself not exactly open-source friendly and the engine being developed more or less behind closed doors. It seems however that this has changed now, although given recent project news it is unclear what made them change their approach. But an all new version of it is now on Github with the main developer mentioning a few really nice changes here. Let’s hope it isn’t just a “source-drop” of a dying project, as after digging into it a bit (the documentation is really fragmented and lacking) I have to say that it includes a few really awesome features not commonly seen in other FOSS engines:
Besides being really performant, it is fully scriptable and has some quite unique multiplayer features like awards, friendlists and persistent game statistics. It also seems to make good process in having easy to edit GLSL shaders, which I have realized is a much rarer feature than I originally thought. Last but not least it has a really modern looking and fully scriptable menu and HUD.

Ah and before I move on to non-idTech based engines I should mention Engoo for those looking for a modernized software rendering engine based on idTech1 (there was some controversy over it, so I am trying to show some support for its further development here).

Ok, that covered, what are some maybe under appreciated non-idTech 3D engines?
First of all I should probably mention the well known ones for the sake of completeness: Cube2, Ogre3D and the new big player Torque3D. All of which are IMHO still failing to provide a good platform for easy game creation (mainly due, following the same order: in-fexibility & lack of scripting; huge mess of independent parts & bad toolchain; lack of Linux port & buggy and overly complicated toolchain).

One of the shining but lesser known examples of trying to improve the status quo is the jMoneky3 engine. Even though it is still a bit bare-bone (e.g. lacking game frameworks) the nicely integrated SDK and the great new node based GLSL shader editor keeps on attracting my attention. Similary the BlenderGameEngine sure has a few great advantages due to its tight integration. Sadly it seems to be the unliked stepchild of the Blender3D project though, which some quite serious limitations and awesome additions like the candy branch never reaching the the main release.

Then there are the still very much alive big names of the past: Irrlicht and Crystal Space. I am not exactly sure why those never quite reached the required mass to become the engines of choice, but I guess the license mess around Irrklang (and other non free but more or less required addons) and the CS Yo Frankie disaster might have to do with it. But at least Crystal Space was accepted as a hosting organization for this year’s GSoC again, so they must be doing something right.

Last but not least, I would like to give a mention to a relatively new contender: Octaforge, which has supplied a steady stream of updated betas lately. The interesting things about Octaforge is that it takes all the good things from Cube2 and combines it with a much updated renderer (Tesseract) and full lua script support. But sadly it isn’t quite there yet, and the move to a scripting language required the removal of all the nice game-code that it inherited from Cube2.

As closing remarks I have to admit that this article was rather lopsided towards FPS game engines (and more general purpose ones). Of course there are many great other game engines in the FOSS sphere that focus on RTS or (MMO)RPG games etc. I do however feel that many of the grievances voiced here probably apply there too, but maybe it isn’t quite as frustrating there as in the FPS genre.
But if you have some better insights into those type of engines feel free to comment below!

tl;dr: the author (as an old school modder) is frustrated that after all these years there still isn’t an FOSS FPS engine that can be modded as comfortably as the Half-Life2 engine or UDK. Don’t miss the new qfusion stuff though.

DevCorner: Blender Game Engine

Saturday, January 26th, 2013

While Blender3D is one of the premier FOSS projects out there, its integral part the Blender Game Engine (BGE) is often belittled as not a serious game engine.

While the criticism is certainly not completely unfounded  and the integration of limited “non-programming” game code creation (via logic bricks) gives it a bit of a “RPG maker” image, it really is a quite interesting platform to work on it seems.
Ok, probably as of now the BGE is really more of a rapid game prototyping engine, but previous experience during the Yo, Frankie! project has actually shown that at least compared to some other well known FOSS engines, it is a serious contender (that Blender Foundation project originally started on Crystal Space, and after many problems was implemented in the BGE in a few weeks only).

So what makes it so interesting? Well for one there is the full integration with a creation tool (obviously Blender3D) so that getting your content into the game is only a matter of making it. No exporters or anything needed… it just works. Then of course there is the fully scriptability via Python, also integrated tightly. Basically you never have to exit Blender, and testing your game can be done right in the editor with one click (no compiling etc. necessary). Oh and did I mention the great physics capabilities via Bullet, also build right in?

In addition your created game will be immediately available on any platform the Blender Game player has been ported (all major desktop operating systems, with an Android port under development and a browser plugin, too). In addition you can choose to publish your game as a single .blend file, giving the users a direct access to all the source files of the game; a wet dream of any true FOSS game developer!
The tight integration with the GPLed Blender Player, has been a major source of discontent with the predominately propitiatory game developing users of the BGE however. Thus there now exists also a few options to encrypt your game and/or run it on an external engine that can be kept close source (but I will not go further into that here). 

You can find a lot of (sometimes really awesome looking: 1, 2, 3) game projects on the forum. Now as I said, most of it is sadly closed source with propitiatory artworks, but I also have the feeling that some simply don’t know or care about the legal implications of their “freeware” game (which sadly shows that even many people who use a great FOSS tool, mostly care about the “free as in beer” aspect of it). 

One of the more interesting projects right now (which might or might not become a full FOSS game) can be seen in this video:

It shows the most recent work by Martinesh, who is basically BGE’s resident game art guru. Two years ago we already featured previous awesome work by him, but sadly that Air Race project is by now canceled.
What he is now working on is however rather a show-case for the really nice new graphical features in the BGE which he and others are developing in the so called “candy” development branch (on his blog there are also more details and nice videos from some time ago).

Another cool recent project it the rewrite of the the logic bricks visual programming idea via nodal logic blocks called Hive.

While not completely integrated into Blender yet, you can already try it via an external editor (the created python code works fine inside Blender). There are also some tutorials and a documentation for it.
Since my programming skills also lack somewhat, I find that an interesting tool… however most likely it is rather a nice way to do some level scripting, than actually programming the real guts of a game with it.

So where can you get started with developing your own game using the BGE? Well, the sub-forums are always helpful, with some nice beginners video tutorials linked here, here, here and here ;)
There are even some books available (this one in particular is quite recent, which is a plus given the fast development of Blender3D) and there is of course the official Blender documentation.
Oh and a good source of content is (besides our friends of course) Blender Swap (nice interview with one of the creators here).

If you have further questions please comment below or ask over at!