Category Archives: Game Engines & Tools

Game production doesn’t happen without efficient tools and engines: these posts will give you practical information about the game development tools and sites which can help you in games production.

Any Good Notepad Killers?

I want a simple editor. Simple editor that can handle multiple tabs. And can find & replace stuff. And has UTF-8 support. And possibly a possibility to change font. Maybe background color as well. It must not have anything extra. And must load fast.

Notepad is not good enough. Wordpad has too much buttons. Something in between?

What are you using for text editing?

Video Editing Tools?

I’ve heard that Sony vegas movie studio is a good tool for video editing, and would like to know if this could suit for me as well. Windows Movie Maker has been working for my purposes just okay until some recent Windows upgrade (or something) that made the fonts incomprehensible).

Now, I’m after some decent tool. Required functionality for my purposes are (I’m using Windows vista):

  • I can put video there
  • I can throw some comments there
  • Some effect thingies are a plus
  • Simplyish user interface (I have no need for über pro video editing)
  • No-hassle installation
  • Price: $1 – $100 (I don’t want free)

What tools are you using? If you use Sony Vegas movie studio, how it has been working for you?

Any other recommendations?

Opera Unite – “Platform” For Games?

Opera Unite (“a Web server on the Web browser”) looks really, really interesting concept. These guys are making it easy to share stuff between platforms, and I of course immediately thought “how to make games with this?”

I checked the system, and there might be possibilities for all sort of multiplayer games for example. If they can share files and stuff easily, then what would stop creating some sort of fancy games for this platform (they actually also mention “games” as one possibility for doing things).

Here’s one pretty descriptive article about this system: Developer Primer.

So, anyone gonna try this out? (If so, what kind of game you think you could do with this. Perhaps some sort of collaborative RPG or turn based games at least)

Update:
Ian gave a good insight why Opera Unite is NOT for gaming (thanks Ian):

Nope, definitely not; and here’s why in a (long, detailed) nutshell http://factoryjoe.com/blog/2009/06/16/thoughts-on-opera-unite/

Read, especially, the section covering the EULA for Unite, it’s highlighted in yellow so you can skim down to if if you’re impatient.

Oh, and hope you have a great time on your midsummer trip!

You can check out the link on your own, but what I got out from it was that basically Opera guys are taking anti-spam approach on this (which is kind of good for people), but by doing this it also makes it little tough place to start doing games if Opera gets to control over things. Reading EULAs is sometimes problematic, and things change… so I wouldn’t draw too many conclusions out of this yet. Read the article and use your own brain.

We’ll see how it goes.

Leadwerks Engine Review (Great Tool For 3D Development)

Josh (the Leadwerks creator) gave me a free copy of his Leadwerks gaming engine. I normally don’t have much use for game engine licenses, but after hearing that Leadwerks is a BlitzMax compliant (basically offers a Blitz3D like syntax, and state of art 3D capabilities) I decided to give it a test run.

I was hooked. (And nowadays using it for 3D game development)

Brief overview
Before going deeper in the review, I must say that Leadwerks engine is 5 our of 5 star engine for indie/casual games development. You can use BlitzMax or C, C++ to program it (C# and Delphi are community supported). Leadwerks offers great rendering capabilities with cool looking shadows and lights.

I’m using Leadwerks with BlitzMax which let me write games for Windows. Anyone who has Blitz3D background will be delighted to see that the rendering syntax is very close to Blitz3D commands.

Video says more than thousand pictures, so check out the system.

I have been using Leadwerks for less than a few months, but I can warmly recommend the system to anybody who wants to create 3D games. Especially those who have used Blitz3D should immediately step into using Leadwerks.

The good, bad and ugly
There aren’t much things that I could say were ‘ugly’, but there are some good and bad points. Here’s my thoughts on these. On a good side:

  • Very easy syntax (very Blitz3D like)
  • Object-oriented: Blitz3D like syntax doesn’t mean that Leadwerks wasn’t about using object oriented coding practises. After all, it’s a framework that can be programmed using BlitzMax for example.
  • Beginner-friendly forums (there are members who are willing to help people)
  • Ready enough for creating 3D applications (as far as I’m concerned, it’s possible to create 3D game with the engine, without need to think “when certain features will be finished”)
  • Documentation is okay (I’d say it’s sufficient, and if you own Blitz3D, you can actually use Blitz3D online documentation too to some extent)
  • Tutorials (decent amount, enough to get you started)
  • Features: lighting, materials, shaders, ok asset management, decent art pipeline, physics, audio, terrain system)
  • Performance: it’s superb fast.
  • Frequent updates: the engine is getting patched in frequent basis.
  • Tools such as the Sandbox editor is great for example to artists
  • Price: at the time of writing it’s only $150 which in my opinion is dirt cheap compared to the deal you get (it could easily be $300 or $400 or even more). I don’t know, but my guess is that this price will go up at some point when Josh figures it out that he could be asking for higher price :)

I’ve mentioned that performance is fast, and here’s one small example that proves it. I was testing to have 200 different textured, shadowed zombies all animating in their own sequences (they are individually animated, even though on this video they are all in sync) and was able to see smooth FPS rates. My estimation is that when there’s particle effects, different materials and other game logic added we are still talking about at least 50-100 different zombie meshes to be seen on the screen simultaneously (and please notice that this is only on-screen, there can possibly be hundreds of more off-screen where they aren’t rendered). Here’s the video for you to check out:

Then some cons, since there’s always the dark side with everything:

  • Content pipeline requires a bit effort to get used to (only .GMF are supported, but exporters are provided to get models from various formats such as .3DS, .B3D and many many others)
  • The asset file sizes can grow big, since the asset mechanism uses file name to identifier meshes. For example, I have one zombie mesh in my Dead Wake game, but 10 different materials/textures. I could not paint different materials on different zombies meshes, but needed to first create separate files (zombie1.gmf, zombie2.gmf etc.) to be able to assign materials. This isn’t a big deal if you don’t need this type of system, but it means the file sizes can grow quite big.
  • Strict license: you should check out the terms before buying. Now there are some restrictions if you want to make your game moddable.
  • Attitude on the community forums: sometimes it feels that there’s some quite young developers with the Right Opinions… and sometimes it feels that it’s bit of “my way or highway” style of threads. I suppose this happens in any forums, and while the overall apperance is pretty positive I’d say there’s some negativity on the forums too.
  • Compatibility: Leadwerks requires Shader Model 3.0 which means that some older cards won’t work (according to Steam hardware survey we are roughly talking about range of “50-60% of computers can handle” it – roughly speaking, since there’s no direct data about SM 3.0. This figure is approximation at the time of writing. The good news of course is that this percentage gets better all the time)

Overall I’d say the none of these ‘bad sides’ are really that bad (well, except the compatibility if you were dreaming of creating 3D games for older computers). I’ve managed to deal with all of these in my project, so I’d say people should simply try the engine and see if it works for them. All engines have some problems, and to my thinking Leadwerks engine has no single major flaw.

Bottom line
This has been quite of praise for the Leadwerks engine, and that’s simply because I think the engine is very good option especially for indie developers (the price is low, the quality is very high) who want to create 3D games. Developers with Blitz3D background (like me) are pleasantly surprised to see such familiar syntax.

Beginner developers have a gentle learning curve in the game development (if you know BlitzMax, then you have no problems with Leadwerks) although I think it’s perhaps not ideal for starting development since there’s vectors and materials and other things that might confuse total newbies.

More advanced users find it a very good solution for a gaming engine solution that’s easily expanded (you can create your own networking lib for example, by using BlitzMax or C++) if you have the skills. The performance is excellent, so making a nice 3D game is no longer about tools, it’s about the guy using the tool.

I very much recommend Leadwerks engine for all game developers who have a bit of programming experience and wish to start making 3D games.

Game Producer Christmas Calendar – Day 10 (Christmas Spam)

One of the best moves I’ve ever done was getting Akismet for this blog. The second best move was when I got it working in the game producer forums.

Akismet costs some per month (that means cheap, and there’s some sort of free version available too) and gives you a warm feeling when you see that text “Akismet has protected your site from 10,234 spam comments already”. It works, is easy & cheap to use.

In this Christmas I won’t be worrying about eating spam.

Switch To BlitzMax (and Leadwerks)

I’ve been using Blitz3D to develop the couple of newest Dead Wake versions, but recently decided to finally switch to BlitzMax (and Leadwerks). Since I have strong background in BASIC languages (started with C64 Basic, then QBasic, Visual Basic, Blitz 3D’s basic and now finally BlitzMax’s basic like syntax) this feels like a natural progression from me. I feel completely familiar with BlitzMax (which I could not say about C++ nor C#, although there are many similarities in BlitzMax). With Object Oriented programming support (to pretty good extent), BlitzMax feels like a good choice.

The couple of weeks I’ve spent learning the tools has given me idea about the tools and I must say that I should have listened to those people who mentioned this option earlier… Anyway, what’s done is done, and now I’m working on to get Dead Wake ported to BlitzMax. Basically this means also refactoring some existing code, dropping some things away and doing some new stuff.

I’m using Leadwerks game engine which is absolutely awesome (something that you really need to go and buy right away. It’s dirt cheap compared to stuff it has). I will do a lengthy review about the Leadwerks qualities in the nearly future, but basically it has almost everything I need for my Dead Wake zombie game and since I can program using BlitzMax, I feel like I’m home.

I did a small stress test to see how well it works. Here’s 200 separately animated zombies (even though they all animate the same frames), with lighting, shadows – and all plays smoothly. In terms of gameplay this is important, since after I get the physics, particles, scenery, AI, etc. in game, I expect to see about 50-100 simultaneously zombies on screen. I think there aren’t many zombie games (Dead Rising comes to my mind) that would have this many zombies simultaneously on screen. In terms of gameplay that’s an important factor. Here’s the clip:

I’m pleased with the result and feel good about taking this step forward into a more advanced tools that I can use well with my skills. Anybody looking into 3D game development engine and easy-to-use tools should check out BlitzMax and Leadwerks engine.

Beginners Guide to Editing Your Game Videos (Using Windows Movie Maker)

The “Beginners Guide to Recording Game Videos and Showing Them on Your Website” showed you how to create videos, and in this guide you’ll get information about how to edit your videos.

All you need to have is the basic Windows Movie Maker. In fact, the tool is so easy to use that there’s not much to do: after you’ve recorded some .avi files, and launched Movie Maker, you need to Import Media.

After importing some media files (.avi files for example), you need to drag the clips to the storyboard. Then you can add effects (fade in/out to/from black can come handy) to the dragged clips. Play around with the Titles and credits too.

You can switch to Timeline mode (Ctrl+T when in Storyboard) and you can split & reduce clip sizes (notice that you need to drag from left, or drag from the right to clip the file properly). It’s quite easy thing to do, and in the end you can simply publish your video.

I’ve published videos in .avi format and done the converting to mpeg later.

Example clip
Here’s something I created using the movie maker, and was quite pleased how simple & fast it could be. Take a look at this:

How to Set Up The World’s Simplest Version Control & Backup System (Takes Like 5 Minutes)

I’ve used some version control system such as SVN, and different backup software but all of them have one problem: these complex systems might require quite a lot of work to set up, and it’s quite likely that you’d need technical guidance to get them to work (well, I suppose unless you happen to be an unix geek). That’s why I wanted to try something different. Something simpler that does the job.

The simple version control system
During the last weekend I looked into setting up a very simple backup / version control system, and it took me like 10 minutes to find the necessary information and set everything up. It isn’t the most optimized system to back up stuff, but at least it’s extremely simple and it does what’s it supposed to do: it backs up data and creates versions.

I used the information provided by the LifeHacker simple version control and did some modifications to make it work for me.

Step-by-step guide for setting up a version control system
(I’m using Dead Wake game example here)

  1. First I created a folder “G:\Dead Wake\versioncontrol” (it’s on my second hard drive)
  2. Then I created a “versioncontrol.bat” file and put the following code inside it (this all should be in one line):

    xcopy “D:\Dead Wake\development” “G:\Dead Wake\versioncontrol\%DATE%” /V /I /S /Y

    (This copies my development folder files under the versioncontrol folder, and creates a ‘date’ folder there. Notice that I use the /Y to overwrite files automatically: since I launch this backup script several times a day, but want to store only the latest version for one day, I have made it to overwrite possible files)

  3. Last but not least, I used the Vista’s Task Scheduler to create a “Dead Wake version control” task: it will launch “versioncontrol.bat” several times a day.

    I created 3 triggers and set up it to launch version control “Daily at 10 o’clock”, “Daily at 14 o’clock”, “Daily at 18 o’clock”. (LifeHacker provides information on how to set up scheduled tasks)

And that’s it.

The results
Now the system will automatically backup the project folder three times a day and copy it under the version control folder. It also puts a date, so I can easily see on what date the version was created. If I want to manually launch the backup process, I can simply double click the “versioncontrol.bat” file.

Some notes
I realize that this isn’t as sophisticated nor optimized system. For example, it would copy only modified files (if you want to do that, then check out “xcopy /?”, there’s help information for that too), but to my needs this is good enough. The files aren’t compressed (zipped), but since I have only like 70 megs of data (and a big harddrive), it’s not a big deal.

Simple system
On a good side: you don’t need much expertise to set this up, and it’s very quick to run (of course depends how many megs you have) – and you can launch old versionsvery easily (since you don’t need to unzip anything) if needed.

Simplicity & easy of use in backing up data were my goals, and if you want to do something more sophisticated & optimized, then you gotta look from somewhere else.

Variation
If you don’t want a daily data, you can also use something like: (in the “versioncontrol.bat”)

xcopy “D:\Somestuff\” “G:\Somestuff Backup” /V /I /S /Y

This would copy everything under “D:\Somestuff\” folder to “G:\Somestuff Backup”. Notice, it wouldn’t create “date” folder, so it would be merely a one-time backup of your existing data. This can be useful for bigger amount of data, but this system would benefit from “copy only changed files” type of solution.

This way, the ‘mirror’ wouldn’t become too big. (Imagine if you copy 100 gigs of stuff, just to notice couple of days later that your harddrive got filled since there was so much data).

Anyway, this can be a good way to backup data that doesn’t change so often (unlike your current projects).

Word of warning
I think this system is as simple as it can get, but if you don’t know what you are doing, then be careful with the data folder sources and destinations, and do an alternative backup of your product files first (zip everything for example). You don’t want to overwrite your original stuff. Make some test folder backup first to see it actually works. I won’t be taking blame if you manage to overwrite your project files when setting up this backup system.

It shouldn’t happen, but I just want to make sure we know what we are doing here.

Thanks to LifeHacker.com for the helpful tips.

Update: Tip from Toni for compressing files:

I did make something similar but I added a command-line compressor because them files tend to add up fairly quickly. I used 7-Zip cmdline version.

Here’s instructions on how to get 7-Zip command line version working

Beginners Guide to Recording Game Videos and Showing Them on Your Website

This article shows you what tools I’ve used to create game videos, and how I’ve embedded them in my website. You’ll need couple of tools that are either free or inexpensive to get.

Recording videos
I’ve mentioned this earlier, but I’ll mention this again to make this guide as complete as possible. I use Fraps for recording game videos. Fraps is inexpensive and provides easy-to-use recording of your games. Fraps has everything you need for recording sound and video.

Editing your video
I actually haven’t done much video editing (and have survived pretty well without editing), and don’t know many of them but somebody mentioned Sony Vegas Movie Studio which might be handy. (If you have any more recommendations on video editing, please feel free to suggest)

I haven’t used Sony, so can’t personally recommend it – but it seems to be pretty feature rich tool. If you don’t need to edit your videos, then you can skip this phase and just move to the next step.

Converting AVI to MPG
Fraps records movies in .avi format, so it’s a good idea to compress them to MPG (I usually convert to MPG1 instead of MPG2 format to make sure it works as many place as possible). MPG videos are much smaller than AVI files, yet they can provide good quality. (Those who want to have HD quality videos need to find some other tutorial though… I’m not covering those here)

I tested a loads of different AVI-to-MPG tools and there were some free, some expensive and many, many crap ones. Finally I found WinAVI which does everything I need (and I only need to convert AVI to MPG). It’s inexpensive tool and worth checking out. I personally like the simplicity of the tool. It does what it’s supposed to do.

Update: Toni and Stoper recommended VirtualDUB – it’s free converter.

Uploading your video
I’ve used mainly YouTube to upload videos, but some other places worth checking are for example WeGame and Vimeo.

Showing videos on your website
Google YouTube API provides some tools that you can use to show videos on your website. Recently I discovered the Videobar which I’ve used in Dead Wake game website to show latest videos I’ve uploaded to YouTube. Basically I just used the wizard and wrote my YouTube username to “Youtube Channels:”, unchecked the “Most Viewed Videos” and the widget provided the code to use in my website.

If you have a WordPress blog, you can google for various plugins that help showing uploaded videos on your blog. I haven’t used those, but they seemed to look pretty easy way to publish videos.

Naturally you can embed videos (they give you code after you’ve uploaded videos) on your site using HTML. That’s very easy way to upload videos as well.

That’s it folks
This is how I’ve recorded and published videos, and even though there’s several steps I think overall it can be quite easy to get game videos on your website.

And gamers love seeing videos.