Skip to main content
GameDev.net gamedev.net
🔒 Locked

Engines Performance

Started by diogopierrot Sep 2, 2011 at 12:02 AM 3 replies 1.7k views
Original Post
diogopierrot
diogopierrot
Hello guys!

Although I'm new here, I've been reading this forum for a long time.
A little about me (you can skip it if you want torolleyes.gif): I had learned some Basic, Pascal and PHP when I was younger, just for simple apps, but sadly I had to let it go when I got into college. But now I want to begin developing games, so I'm trying to figure out the way to go. After spending the last two weeks reading something like a hundred of topics here and FAQs and blogs, I think it's time to stop just planning and actually doing something.

So I decided to learn some programming language and develop some 2D games at first. But my main (medium to long term) goal is to produce 3D games, when I think I'll need to use some engine.
I think my options (or at least the ones I'd like to go for) are:
- Python -> Pygame -> Blender Game Engine
- C# -> XNA -> Unity

Well, coming to the title of this topic, I still have a question:
Can games made using BGE have a good performance or not? Is it suitable for "commercial quality" or big projects at all? I've seem a lot of videos on youtube of BGE's games and all of them looked "lagged". Is Unity3D a better option regarding performance and flexibility? Or if I want performance I must go with C++ or any low level language?
Furthermore, I've read that Boo is like a "dialect" of Python. So could I stick with Python even if later I use Unity? Being a high-level language its performance is also worse than C# (independent of the engine, for apps and 2D games)? For programming I'm really tempted to try C#, but as I already have some experience with Blender (just modeling) BGE is in the sight.

So...
Am I close to the right path? Or everything I said/assumed is wrong?

Sorry for writing that much, and also for my English mistakes. It's not my mother tongue.

Thanks,
Diogo
NickGravelyn
NickGravelyn
The core of Unity is native C++; the only managed code is their scripting languages (which use C#, a slight offshoot of JavaScript generally termed UnityScript, and a dialect of Python called Boo). But even those might get compiled to native code prior to distribution of your game. In any case, the point is that all the really expensive costly operations like physics and the rendering pipeline all run native code and not in your scripts so performance of the scripting languages is largely a non-issue. If you decide to use Unity, pick whichever of the three scripting languages you are most comfortable in.

For a beginner I recommend the approach of "pick one and work with it". You're unlikely to learn the be-all-end-all of game engines out the gate. If you are just starting out, the most important thing is to learn the basics of game development. Once you're comfortable writing games in one or two languages, it becomes much easier to take your experience and move to another system. So if you decide that BGE looks the easiest to get into, start there. Once you've gained experience and found out whether BGE can do what you want, then you can decide to jump to other technologies.

In short: don't worry too much about it right now. If you're just starting out, you're not going to make a AAA quality game for quite a while. It's just how it is for everyone starting out. Find a language and tool set you find easy to use and make some games.
Serapth
Serapth
First off, your English is fine, better than many native speakers ( although that isn't saying much these days... ).

Second, your basic idea of progression sounds pretty good. Here is my general advice on starting out, but your path is a good one.

As to Blender Game Engine, to be honest it just seems like a bad choice. It feels like a prototyping tool more than anything else, as the performance just doesn't seem to be there. Unlike Unity ( or UDK ) there just doesn't seem to be much actual output done in BGE. I have heard negatives about BGE's performance although I personally have no direct experience. With Unity's solid support for Blender as a content creation tool, and support for Boo, I can't see a single reason why you would choose BGE over Unity.

Otherwise, Nick's advice is dead on. You can't really make a mistake here and you aren't going to make a TripleA game your first time out. But, if it was me, I would choose Unity over Blender and I can't fathom why anyone else would either. ;)
diogopierrot
diogopierrot

The core of Unity is native C++; the only managed code is their scripting languages (which use C#, a slight offshoot of JavaScript generally termed UnityScript, and a dialect of Python called Boo). But even those might get compiled to native code prior to distribution of your game. In any case, the point is that all the really expensive costly operations like physics and the rendering pipeline all run native code and not in your scripts so performance of the scripting languages is largely a non-issue. If you decide to use Unity, pick whichever of the three scripting languages you are most comfortable in.

For a beginner I recommend the approach of "pick one and work with it". You're unlikely to learn the be-all-end-all of game engines out the gate. If you are just starting out, the most important thing is to learn the basics of game development. Once you're comfortable writing games in one or two languages, it becomes much easier to take your experience and move to another system. So if you decide that BGE looks the easiest to get into, start there. Once you've gained experience and found out whether BGE can do what you want, then you can decide to jump to other technologies.

In short: don't worry too much about it right now. If you're just starting out, you're not going to make a AAA quality game for quite a while. It's just how it is for everyone starting out. Find a language and tool set you find easy to use and make some games.


Thank you a lot for your answer!
I decided to learn C#. I think I'm not going to make 3D games for a while and for 2D XNA pleases me more than pygame.
So let's go for it wink.gif

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.