Alternative 3D Game Creator - options?

I’m looking around at alternative engine’s websites, but much of the choices and technical terms go over my head. So I thought I’d ask for advice here, as I assume most people reading this forum are reasonably experienced game developers.

So, for those who have some background with different game software, what would you recommend in my case? My main criteria are:

-Multiplatform; I’m developing on Linux, the game needs to run on Windows. It would be nice to also run Mac. It would also be nice to keep nebulous dependencies to a minimum.

-Speed/ease of use; While I do know python, and can brush up on my C/C++, I’m keen to get a working demo out quickly (three weeks before college starts and all free time stops) and I want to speed as little time as possible mucking about trying to get to grips with the internals of yet another big complicated engine.

-Capability; It’d be nice to get graphics and performance as good as/better than what I’ve been working on so far (the BGE). As at the moment I’m gunning for a demo, this actually isn’t as important as the other two.

The two I’ve heard the most about are OGRE and Crystal Space. I’ve heard good and bad things about both. I’m investigating them now;

If anyone has any advice or other suggestions, please let me know.

my advice is to stick with bge

I’ve seen a wide variety of different game engines. Out of all of them, the game engine that has the best performance, fastest work flow, cheapest price (free), and is cross-platform would be the Blender Game Engine itself.

However, I personally believe that the “best” game engine, is one that you build yourself (in C++).

If the terms go over your head, maybe you’re not quite ready to be using a game engine for more than learning?

BGE is clearly the optimal solution. The easyest Game Engine i ever used , very simple to use and very powerful.

You can check Director and Virtools…
I used that before for a couple of years previously… now, I’ll stick with Blender.

Well, one of my hobbies has been to check out a lot of different Game Engines and review them (specially the ones that have official support for Blender), and right now, the most promising are: Unity, Sandbox and C4.

And of course, for sketching game concepts, nothing is better than the BGE itself. However, if you want to experiment with another engine, my recommendation would be Sandbox. It’s open source, and though its support for blender is a bit odd (you have to make your model face a certain direction, which is not an obvious one), it’s easy to learn.

I’m really keen on not using the BGE. I’ve spent all summer trying and achieved nothing for my efforts. Over that time, my initial zen-like patience gave way to a slow-burning frustration and has now exploded into a psychopathic hatred that borders on clinical. I have found everything about it convoluted, unpredictable and inexplicable. I have spent days introducing dafter and dafter workarounds to accomodate stupid quirks when I wanted to be getting on with creating a game. Josip Kladaric, you say the BGE is simple to use: please, please tell me how. Clearly something about my mindset is not compatible with that of the blender devs.

This is a shame, because on the surface, the idea of an engine integrated into its development environment is a good one. Maybe I’ll come back in a year or two and see what Twilight 22 and the 2.5 refactor have made of it.

Captain Oblivion: I am quite prepared to learn what I need to know. I just don’t want to pick an unsuitable engine and spend two weeks learning what I don’t need to know. Time is unfortunately a factor.

Vexelius, mziskandar: Thanks for the suggestions - I’ll check them out.

What is it that you dont know?

Although I’m not the one who’s being addressed the question, I also believe that the BGE is by far, the most simple to use, yet powerful 3D game engine to date.

So, my answer would be: Suppose that you want to make a simple demo (A ball falling down to the ground, which is then moved with the arrow keys).

  • In Blender: You add the objects to the scene, click the ball, add an actuator, sensor and controller for each action that it’ll perform. Join them and you’re done!
    In order to make the ball fall to the ground, just click “Actor”. Press P for testing.

  • In C4: The models have to be already modeled, each one in their own file and in the same folder. Just to make the scene appear before your eyes, you have to define a class (through scripting) that will load every object, call every needed library, and all the other classes you’ll be adding.
    To add interactivity, you’ll need (if you want to keep your project readable and modular) another class that’ll receive key input, and another one that will move the objects according to it.
    And, another one to handle the falling object and the properties that make it possible, as C4 doesn’t have a built-in physics engine (Blender has Bullet). Then, compile all your source files, hope there isn’t any error, and run the exe to test it.

And most of the engines you’ll find out there are like C4. Blender is different.

Well… the engine depends on what you need, and which game you’ll be creating. Blender is able to do any kind of games without forcing you to learn a programming language, in exchange of a (relatively) low framerate. C4 and Unity too, but they force you to learn a language (C/C++ and JAVA) and it’s more difficult to learn how to use them. Not counting that they are commercial.

Sandbox is easier to use than Blender, and you’ll get nice results quickly, in exchange for limited functionality. It won’t help you to make a racing game.

If you want a comparison, I’d say that Sandbox is like RPG Maker (the beginner level, easy to use, but only makes RPG’s), Blender is like Game Maker (able to do any kind of games, the “intermediate to advanced” level) and other engines are mostly of the “pro” level.

I would recommend C++ and OGRE because they’re really powerful and OGRE could make pretty much anything if you know how.

Josip Kladaric: Paradox. Very profound.

Vexelius: The thing about classes and libraries and all that is, yes, they are more work, but you can see what you’re getting. Each class has its methods and variables clearly documented. I can look and see what each function takes as a parameter, what it does, and what it returns.

Compare that to blender. Yes, the API is documented, and all my python scripts run fine. Where I’ve used bricks, they pretty much work fine too. In fact, pretty much everything I have the direct ability to influence does what I expect it to do.

The problems start where I can’t see them. The game engine seems to handle every possible thing contrary to my expectations. I’ll encounter some strange behaviour, which will delay me for days of trial, error and frustration, until I finally stumble upon a workaround. I’ll end up with an object that won’t move unless it’s parented through about five Empties, or has twenty unnecessary one-off properties. Then when I come to add in some new functionality, I have to use trial and error again to work out which of these Empties to add logic to, which properties to change, and if the property in question isn’t attached to the same Empty, how to get them to cooperate without spawning a whole load more useless spaghetti. In the end I have to bin the lot and start from scratch, and the process repeats.

For example: I found no information on how the game engine deals with groups. There was a rather useless Library Linking video on the Yo Frankie! site that walked you through the two-step process of adding a group that had no logic and sat there doing nothing. There was something else stating that groups had been successfully used for ‘logic sharing’ in Yo Frankie - it had pretty Venn diagrams and directed me to the game’s source files. On opening any of these files on my laptop (Ubuntu 8.10) blender crashes immediately, and even if they didn’t I’m afraid I’ve always found it impossible to understand things by looking at other people’s blends.

Eventually one of the devs on the forums (think it was ideasman) explained, and the explanation made sense enough once you knew about it. But since then, there have been thousands more related complications. There’s one bothering me at the moment which seems to have sprung from nowhere because I didn’t see it in the last attempt:

If I make an object and tie it to my module control.py, I can control it with the arrow keys. If I use an Empty instead of this object, with a mesh object parented to it, it works too. If I delete the mesh object and just use the Empty (which I’ve just proved works fine) as a Dupligroup instance, the orientation controls work fine, but the object won’t move backwards. Moves forwards, which is exactly the same code plus a minus sign, but doesn’t move backwards.

So I’ve ended up with one Dupligrouped Empty parented to another plain Empty with logic. Which will work fine, until tomorrow when I try to add anything else.

So, in light of that, I don’t particularly think that using another engine in place of the BGE is that bad an idea. I would rather learn a new language from scratch and do twice as much writing in exchange for being responsible for all my own bugs and able to just look through documentation instead of having to constantly second-guess the software I’m using. It may well be a lot more work, but at least I will have some confidence that I’m actually making progress.

The way you describe Sandbox, it sounds a bit too simple for what I need (I’m working on a space shooter, so I need proper physics and collision detection with 6 degrees of freedom, plus some level of scripting ability for the AI.) Unity’s website looks fantastic but it seems to be only for Mac. I’m looking at C4 now.

Sasori: I may do that, OGRE for graphics and Bullet for physics. Will spend just a bit more time looking for that mythical all-done-for-you gamekit solution and then plough in.

If anyone else has any other suggestions, please don’t hesitate to post them.

Hi, actually I started focusing on Blender and BGE on April this year (2009)… and I made mistake on “learning to blend” previously.

Learning Blender is very easy - if you have a good Internet connection - which I don’t have - and I’m 90% depending on wiki’s downloaded pdf and downloaded “test249” and demos.

I think, to learn BGE, you really need to have a goal and trying hard archiving that goal - which I don’t have previously.

Forget about learning step-by-step! - understanding variable, declaration, etc. Just design one game and quickly build it. I learn BGE along the way from zero from making “toys” (3d objects). animating it, put some control… put some ai and interaction and some enhancement gfx/python… GLSL + shaders programming… etc. - there are no restriction on what to learn first…

Suddenly you’ll know that you can Blend!

Further optimization, techniques and stuff…you’ll learn along the way - and I learn a lot by digging blenderartists.org

Really! Big thanks to everybody here… to all experts for their replies and also all newbies who asked. A good answers came from a good questions.

Cheers!

i think bge is easier than gamemaker 0.o

@evilkillerfiggi: First off, I must say, that Blender is going to be about the simplest solution you’re going to find. Especially if you want to make something in 3 weeks. Also, I think you may be over complicating your setup. I’ve made stuff with shared logic and such, in fact, I use groups often. Granted, they have some problems still, but nothing like what you’re explaining. Please come to #gameblender and we can help you sort out your problem. :wink:

If you’re really that fed up with Blender, then by all means move to another engine. But, I think you’ll find that you’ll be spending a lot more time one setup and prep work then working on your game. That 3 week time budget is not going to allow for a lot of flex room. Especially learning C++, OGRE, and Bullet.

Moguri: would you be able to show me a working setup with groups?

I have tried IRC before, and never really had much luck. My questions are usually either ignored or answered by people who don’t really know what they’re talking about. Don’t think I’ve been on #gameblender before, though, so it might be worth giving that a try.

Now I’m unsure whether to stick with blender. If its way of doing things can be made to make sense to me, as it seems to with everyone else here, then of course it’s the better option… but this software has already cost me two months over summer, with nothing to show for my efforts, so I’m reluctant to trust any more time to it.

I’d actually recommend Unity if you’re serious and don’t mind spending some cash – I know some guys at a relatively well-known Unity-based shop, and I’ve seen bits of the Unity tool-chain. It’s sexy, to say the least. Their workflow is Maya->Unity, though – not sure how well Blender’s export works.

Two examples that I can thinking (although, I’m certain there are more) are YoFrankie! and Concept RPG. You probably already know where to get YoFrankie!; you can get Concept RPG from here: http://sites.google.com/site/conceptrpgbge/download-1?pli=1