Game Programming and Development Tools

Game Engines – Mene-Mene

Mene-Mene

Member

Posts: 1398
From: Fort Wayne, IN, USA
Registered: 10-23-2006
I'm looking to learn to use a game engine, and haven't used one, except for a little bit of meddling in GM if that's considered one. I don't truely know what one, is.

Do you people have a recommended one thats free?

------------------
MM out-
Thought travels much faster than sound, it is better to think something twice, and say it once, than to think something once, and have to say it twice.
"Frogs and Fauns! The tournament!" - Professor Winneynoodle/HanClinto

I reserve the full right to change my views/theories at any time.

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
HA you've come to the right place.
Depends on what language and what dimension you want to play with.

C++ + 2D
i'd say your best bet would be to try out SDL. It's not a game engine but a media layer, so you build on top of that. I used this when i made the Jester Game Engine last year.

Java + 2D
GTGE!! aka, the Golden T Game Engine. AMAZING library. really. i love it. i use it all the time...

C++ + 3D
Irrlicht is a well designed game engine and it has some nice tutorials to teach you how to use it. Also, there is Ogre3D. This is a rendering engine, NOT a game engine but of course if you know what you're doing, then it's extremely powerful.

Java + 3D
Jirr! It is Irrlicht for Java. I use this a lot now. I'm really happy with it but it uses an old version of Irrlicht; not DEADLY old but still.
There's also LWJGL and JOGL or even Java3D if you want but you're on your own with those

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Mene-Mene

Member

Posts: 1398
From: Fort Wayne, IN, USA
Registered: 10-23-2006
What exactly is a game engine?

------------------
MM out-
Thought travels much faster than sound, it is better to think something twice, and say it once, than to think something once, and have to say it twice.
"Frogs and Fauns! The tournament!" - Professor Winneynoodle/HanClinto

I reserve the full right to change my views/theories at any time.

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
A game engine is a library that provides you with a set of functionality that you would use in a game. I'll give you a quick overview of GTGE:

Media Access:
GTGE has image and audio loading functions. You can play music, SFX, render images, etc. And it uses a standard BufferedImage object so for example, i used that and added a black and white filter for images.

Sprites:
GTGE gives you a list of sprites ranging from animated sprites to volatile sprites which disappear after they animate one time.

Backgrounds:
GTGE has a collection of backgrounds you can use; ColorBackground, TiledBackground or Image background are examples of thems

Collisions:
GTGE Has a whole whack of collisions libraries you can use. It has toggle-able pixel perfect collisions and the functionality can be encapsulated.


That's just a few things that a GTGE or any generic game engine generally would offer. Questions?

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
http://en.wikipedia.org/wiki/Game_engine

^ That's a pretty good explanation.

Mene-Mene

Member

Posts: 1398
From: Fort Wayne, IN, USA
Registered: 10-23-2006
I guess my main problem is I don't understand how they're used. I mean is it like GM, or is it more like B3d over C++.

Laz: I read that, and still don't quite understand the implementation.

------------------
MM out-
Thought travels much faster than sound, it is better to think something twice, and say it once, than to think something once, and have to say it twice.
"Frogs and Fauns! The tournament!" - Professor Winneynoodle/HanClinto

I reserve the full right to change my views/theories at any time.

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
It's like DirectX or OpenGL but it adds a layer of abstraction on top of them. It doesn't build a game for you like GM does, but it's easier than starting from scratch.
Think of it as controls to a car. It has a steering wheel, a radio and air conditioning. They're all separate components but when they're in a car, they let you have a lot of power and they handle the inner workings by themselves (power steering for example gives you better steering but you don't need to know how it works to use it)

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Matt Langley
Member

Posts: 247
From: Eugene, OR, USA
Registered: 08-31-2006
A lot of the confusion on what a Game Engine actually is usually is centered around the difference between the Game Engine Code/Core and the Game Engine Tools. Now some people don't consider the tools the engine but as a separate entity of tools that you can use to work with that engine, while some consider both sub-entities of the entire Game Engine. In the end it doesn't really matter what you consider part of the "Game Engine" term or not. So far there have been some great general definitions of Game Engines.

One thing you need to keep in mind the definition of what a Game Engine does and includes changes from engine to engine. For example some engines really are just libraries that give you functionality to tap into, meant to be a simple add-on to what you are working with. Such as render functions, collision functionality, particle systems, etc. Others incorporate that into an overall framework so you ideally either work inside the framework or modify the framework and work inside that, those tend to allow you to do things easier, though in a more specific way to that engine. Even on top of that many of the framework style Game Engines include a tool base. Sometimes this tool base is where the real value is. In the end if a set of tools saves you countless hours then it's just as viable as any other system that prevents you from spending hours developing it.

In general I'd say a Game Engine is the combination of sub-systems specific to game functionality... Some of these sub-systems can be:

- collision
- particles
- rendering
- networking
- creation tools
- editing tools
- file IO
- data management

... etc.

Each of these systems could be branched out into numerous sub-(sub)systems even, such as...

- rendering
-- Direct3D support
-- OpenGL suppoert
-- shader support
-- dynamic lighting

- collision
-- polysoup
-- BSP
-- custom hybrids

etc...

There really are a lot of possibilities a Game Engine can encompass. The thing to keep in mind is what your goal is, what will save you the most time, and then simply trying various engines until you find one that fits you best.

The engine I personally would recommend starting out on(obviously I have a bias towards Torque lol).

- Torque Game Builder (TGB)


Game Maker isn't a bad learning tool/engine. Though keep in mind you will want to take a step beyond it eventually, especially to a much less limiting system. Many people like the Blitz engines, as well as some of the open source ones like Ogre. There are a lot of options.

------------------
Matthew Langley
Lead Documentation Engineer
GarageGames

Xian_Lee

Member

Posts: 345
From:
Registered: 03-15-2006
That looks like a pretty good description of a game engine, Matt. (Not that there was anything wrong with the previous descriptions, but I found this one to be most matching my understanding of what a "game engine" is.)

I also stand behind Torque Game Builder. It's really easy to make general things work without too much coding. Moreover, there is a lot of excellent documentation that explains the use of the coding system that makes it very easy to jump into if you have any programming experience. TGB is also exceptionally powerful, and it can run on a moderately old machine (the development requirements aren't high, and the play requirements are actually quite low). There is the licensing fee if you want the full documention (and the ability to work with TGB for more than 30 days), but I would definitely recommend giving the trial version a run, and going through the included tutorials. If 2D works for you, it's an awesome tool.

------------------
Information on my projects
My game industry/theology blog
My Original Music

Mene-Mene

Member

Posts: 1398
From: Fort Wayne, IN, USA
Registered: 10-23-2006
I'm actually learning C++, and have done quite a bit in Blitz. Thanks for all the information, it kinda makes it clearer. I want to use TGE, as I've heard so much good, but unfortunetley, I can't get the demo to work. It runs, and I see the introduction, I've glanced around the GUI, but I don't understand it. Is it like a scripting type thing? How does it work?

------------------
MM out-
Thought travels much faster than sound, it is better to think something twice, and say it once, than to think something once, and have to say it twice.
"Frogs and Fauns! The tournament!" - Professor Winneynoodle/HanClinto

I reserve the full right to change my views/theories at any time.

Xian_Lee

Member

Posts: 345
From:
Registered: 03-15-2006
First of all, are we talking about Torque Game Engine or Torque Game Builder. I'm not sure how the demo version of Engine (the 3D version) works. The scripting for Torque Game Builder does NOT take place within the Game Builder itself. In the game builder you actually design your environments, place characters and develop them (adding collision and physics elements), and design the GUI for your game. You then edit the scripts outside of the Game Builder. There, you'll use an Object-Oriented scripting type language similar to Java/C++. There are a lot of function names you'll have to learn, but those are mostly explained in the tutorials. I cannot recommend reading the documentation strongly enough. It's easy to read, and does a very good job of making sense of things.

I'm also working on C++. If you look at the Weekly Updates thread (or my development site: http://thexianlee.googlepages.com), then you'll see some of the stuff I've done using the SDL toolkit. I highly recommend that toolkit if you're getting into 2D game development with C++. It's fairly easy to use, and there is good documentation available specifically for game developers. I should point out, however, that SDL is *not* a game engine, but a framework that provides a media layer so you can develop your own game engines from the ground up.

------------------
Information on my projects
My game industry/theology blog
My Original Music

[This message has been edited by Xian_Lee (edited March 23, 2007).]

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
Yeah, that's a better full description of what a game engine should do (even if it WAS propaganda :P). I was just giving a few examples of what GTGE supports. Anyways, TGB is a great engine by the sounds of it but it IS still $150 (even more for me since i'm Canadian).
On a side note, i have intentions on building a set of free tools for 2d games such as a sprite maker (make sprite sets, compress into archives, etc) and a 2d level designer for GTGE (create/load tile sets, add collision regions, triggers, scripting, etc). If theres any Java guys out there with a big of spare time or expertise who are interested in the project (the project, not necessarily helping) then by all means, ask me about it

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Xian_Lee

Member

Posts: 345
From:
Registered: 03-15-2006
quote:
Originally posted by jestermax:
Yeah, that's a better full description of what a game engine should do (even if it WAS propaganda :P). I was just giving a few examples of what GTGE supports. Anyways, TGB is a great engine by the sounds of it but it IS still $150 (even more for me since i'm Canadian).
On a side note, i have intentions on building a set of free tools for 2d games such as a sprite maker (make sprite sets, compress into archives, etc) and a 2d level designer for GTGE (create/load tile sets, add collision regions, triggers, scripting, etc). If theres any Java guys out there with a big of spare time or expertise who are interested in the project (the project, not necessarily helping) then by all means, ask me about it


I don't mean to contradict you, but I just purchased the Game Builder license for $100. The Game Engine (3D version) license is the $150 one.

Oh, and I would love to hear updates on whatever you make happen with the Java toolset. I like Java. Not as much as C++ for some reason, but I do like it.

------------------
Information on my projects
My game industry/theology blog
My Original Music

[This message has been edited by Xian_Lee (edited March 23, 2007).]

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
Ah yes, you are indeed correct; i was mixing them up. $100 isn't as bad as $150... which is what i was factoring in. But still, my pain as a Canadian still hurts

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Xian_Lee

Member

Posts: 345
From:
Registered: 03-15-2006
For what it's worth, I really think that the Game Builder is a great deal for the price. Yes, it's $100 (or more if you're in Canada), but for people that need rapid development (and of the grade of game that TGB can produce) it's hard to find something better. There are free tools out there, but they take more time to work with in my experience. TGB is a quick and clean environment with lots of potential.

I suppose I should try not to come across as so enamored, however. I don't need the appearance of a fanboy to reduce whatever credibility I have.

------------------
Information on my projects
My game industry/theology blog
My Original Music

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
Oh i was never bashing TGB i think it's a great idea. The price is just delaying me for now. I most likely WILL end up buying a copy.
But what you said was right; there are free tools but they take a while to get used to and integrate. I REAALLY want to change that and possibly build a system that incorporates tools and a game engine together for free. Even if the games are limited to simple ones in the beginning. GTGE is crazy-easy to use but i think that if there were more tools such as the ones i listed then it would pull in a bigger audience. After all, there aren't many engines i can name that have the amount of tools, support and ease as Torque has; why not change that?

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
Ok, someone needs to talk me out of this (or encourage me ) i'm VERY close to buying both TGB and TGE. I'm growing a little tired of always having to roll my own before even starting the game itself. What i mean by this is that with Ogre, its a rendering engine so everything else is up to you, not that 3rd party stuff isn't available but you have to assemble it yourself.
With Irrlicht (i use Jirr), it's more tailored to be a game engine but i still find it somewhat lacking in some areas, like the animation systems and the cameras. Also, the rendering quality isn't QUITE as good as Ogre's.
Now supporters from both sides, please don't burn me with a wack of reasons why X engine is supperior; i actually use both Ogre AND Irrlicht. I even fiddled around with OpenSceneGraph for a while but i found it was TOO customizable to get what you wanted out of it.
Anyways, i really like what Torque GE offers so far and i like the content packs even more. I don't know...i think i'm looking for something that's more polished, even if it isn't free.
Anyways, does anyone agree or disagree with my choice to purchase both? (TGEA is out of the question due to the price and it's apparent lack of maturity, even if it DOES look amazing).

oh yeah, and if Matt is reading this: the Torque website has an error on the Ogre comparison chart. it states that Torque has decal special effects but ogre doesn't which isn't true (they just left it out, they didn't say it didn't have that feature).

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
Well Jez, you know what I think.

...you should get GLBasic.

Xian_Lee

Member

Posts: 345
From:
Registered: 03-15-2006
I can't talk you out of buying the Torque tools; they're awesome. I haven't gotten to check out the new beta of TGB 1.5, but it's sounding very amazing.

Honestly, I think the Torque tools are the way to go if they can do what you want them to.

------------------
Portal with information on my programming projects and links to my other work

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
Oh yeah, that's another thing; if i buy TGB now will i have to pay in a month to upgrade to 1.5?

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

Xian_Lee

Member

Posts: 345
From:
Registered: 03-15-2006
That's a Matt Langley question. I believe it's a free upgrade, but I'm not sure. I don't think that GarageGames charges for upgrades. However, that's a Matt Langley question.

------------------
Portal with information on my programming projects and links to my other work

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
Here you go, Jez: http://www.garagegames.com/mg/snapshot/view.php?qid=1280
quote:

After reading through the added features, we think you'll agree that the new version is well worth the added cost. If you can't afford to upgrade right away, don't worry-- as an existing TGE owner you will still get all of the most recent bug fixes we've done for free, to be released as version 1.4.2. In addition, new users will still be able to purchase TGE 1.4.2 at the original $100.

Users who have purchased TGE since August 1, 2006 will receive the upgrade to 1.5 for free. And, yes, that means if you haven't bought TGE yet, you can save money by buying it between now and the official release of 1.5.

...

4.2 base price - $100
TGE 1.4.2 upgrade for previous TGE owners - $0

TGE 1.5 base price - $150
TGE 1.5 upgrade for previous TGE owners - $50
TGE 1.5 upgrade for previous TGE + TLK owners - $25
TGE 1.5 upgrade for those who purchased TGE or TLK on or after August 1, 2006 - $0

All told, the TGE 1.5 package includes over $250 worth of essential products. So, the $150 price provides a deep discount on the Torque engine plus the essential tools that help people successfully create and polish their games.

Commercial
TGE 1.4.2 upgrade for previous Commercial TGE owners - $0

TGE 1.5 Commercial base price - $749
TGE 1.5 Commercial upgrade for previous TGE owners - $250
TGE 1.5 Commercial upgrade for previous TGE + TLK owners - $125
TGE 1.5 upgrade for those who purchased Commercial TGE or TLK on or after August 1, 2006 - $0


CPUFreak91

Member

Posts: 2337
From:
Registered: 02-01-2005
quote:
3D Game Programming


Base techniques
Sockets

Because 3D programms written fully in python are slower than programs written fully in C++, an often used technique is to use a combination of C++ and Python code together. One layer of 3D graphics is implemented in C++ (for example it can be one standard open source engine), which communicate with Python code client through TCP sockets. In this case, all that a developer needs to do in C++, is to create a server, that can communicate with a client and control the 3D scene drawing. A client on the other hand, has control only over other elements.


3D Game Engine with a Python binding
Irrlicht Engine[1] (Binding is no longer maintained and seriously out of date)
Ogre Engine [2]

Both are very good free open source C++ 3D game Engine with a Python binding. However the Python binding is an afterthought so most often late versus the C++ engine when usable at all. Python bindings are very inefficient and limited.


3D Game Engines written for Python

Engines designed for Python from scratch.
Blender is a 3d game engine that uses python to make 3d games
Soya is a 3d game engine with an easy to understand design. It's written in w:Pyrex programming language and uses Cal3d for animation and ODE for physics. Soya is available under the GNU GPL license.
Panda3D is a 3D game engine. It's a library written in C++ with Python bindings. Panda3D is designed in order to support a short learning curve and rapid develpement. This software is available for free donwload with source code under Panda3D Public License v2.0. The development was started by [Disney]. Now it exists a lot of project made with Panda3D like ToonTown, Building Virtual World, Schell Games and many others. Panda3D supports a lot of features: Procedural Geometry, Animated Texture, Render to texture, Track motion, fog, particle system, and many others.


2D Game Programming
Pygame is a cross platform Python library which wraps SDL. It provides many features like Sprite groups and sound/image loading and easy changing of an objects position. It also provides the programmer access to key and mouse events.



Courtesy of http://en.wikibooks.org/wiki/Python_Programming/Game_Programming_in_Python

------------------
All Your Base Are Belong To Us!!! chown -r us ./base
"After three days without programming, life becomes meaningless.'' -- Tao of Programming Book 2

"Oh, bother," said the Borg. "We've assimilated Pooh."

"Socialism works great... if there are no people involved." -- Pastor David Ginter, Union Church of Guatemala.

My Programming and Hacker/Geek related Blog

Matt Langley
Member

Posts: 247
From: Eugene, OR, USA
Registered: 08-31-2006
@Laz: he was talking about TGB 1.5 not TGE 1.5... believe me it's confusing for me too lol (having two engines at the same version num with such a close name).

quote:
Oh yeah, that's another thing; if i buy TGB now will i have to pay in a month to upgrade to 1.5?

Nope, you will get the update for free

------------------
Matthew Langley
Lead Documentation Engineer
GarageGames

[This message has been edited by Matt Langley (edited April 05, 2007).]

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
Ah... oops.

RA Games

Member

Posts: 93
From: Sacramento, Ca., USA
Registered: 05-22-2006
The 3D engine I use is 3D Gamestudio.

http://www.3dgamestudio.com

The cheapest version there is about $50.

I've been adding shaders to my game project recently, and God it slows it down. Beware of that.

------------------
God said to Noah, "The end of all living beings has come before me, for because of them the earth is filled with violence. I will destroy them along with the earth.
Genesis 6:13

[This message has been edited by RA Games (edited April 20, 2007).]

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
I think Axys was created with that. It looks like a very good engine.

Btw RA - is not that taking God's name in vain? "and God it slows it down"

RA Games

Member

Posts: 93
From: Sacramento, Ca., USA
Registered: 05-22-2006
Hmmmnn, Sorry about that.

But, I did literally say "Oh God", when I seen the framerate performance after the shaders were added.

It really was disappointing.

------------------
God said to Noah, "The end of all living beings has come before me, for because of them the earth is filled with violence. I will destroy them along with the earth.
Genesis 6:13

ArchAngel

Member

Posts: 3450
From: SV, CA, USA
Registered: 01-29-2002
quickly, turn it into a prayer, and no one will notice.

------------------
"The generation of random numbers is too important to leave to chance."
Soterion Studios

RA Games

Member

Posts: 93
From: Sacramento, Ca., USA
Registered: 05-22-2006
Hmmmnn, yes agreed.

A SIMPLE PRAYER:
Dear Lord Jesus, help me to make a good and special game for YOU.
and if the frame rate is "TEN FRAMES PER SECOND", then please forgive me and help me to correct it.

Because Lord, nobody will buy or even download a game that runs at 10 FPS.
Amen...

------------------
God said to Noah, "The end of all living beings has come before me, for because of them the earth is filled with violence. I will destroy them along with the earth.
Genesis 6:13

Ereon

Member

Posts: 1018
From: Ohio, United States
Registered: 04-12-2005
<----n00bish fanboy wOOts for DarkBASIC www.darkbasic.com

------------------

The time for speaking comes rarely, the time for being never departs.
George Macdonald

David Lancaster

Member

Posts: 276
From: Adelaide, Australia
Registered: 05-22-2006
Highly suggest 3D game studio, has it's downside with performance and restrictions, imo it's no 1 for beginners, and people who I have worked with for a long time (Brandon Lewis, Mack) I am now working closely with using this engine for quick games we are deving. It's great for learning and so many commercial games have been made with it. Axys was made with it and I could show you videos I shouldn't (which I wont) that'd get you excited about it :P
Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
Are you talking about the Professional version, David? (The $900 one...)
jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
i was thinking about using that but it sort of just looks like a Torque GE alternative...

------------------
Visit my portfolio (and check out my projects):
http://Jestermax.googlepages.com/

David Lancaster

Member

Posts: 276
From: Adelaide, Australia
Registered: 05-22-2006
I'd probably say the commercial one which is $200, cheaper ones work just as well with visible limitations...There's Beyond Virtual, Unity 3D as well, C4.
Ereon

Member

Posts: 1018
From: Ohio, United States
Registered: 04-12-2005
Another decent free engine somewhat similar to 3D Games Studio (I think) is First Person Shooter Creator. It's powerful, simple, and very expandable with its own built in scripting/programming language that gives you almost 100% control over everything. You might want to take a look at it (It's pretty inexpensive also).

http://www.fpscreator.com/

------------------

The time for speaking comes rarely, the time for being never departs.
George Macdonald

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
Might want to read around a little if you decide to use FPS Creator - I've heard some pretty bad things about it.
Simon_Templar

Member

Posts: 330
From: Eau Claire, WI USA
Registered: 10-25-2004
I've been thinking about getting C4, it looks fairly impressive. Anyone here ever work with it? From what I've heard its main downside is that it may lack some functionality in important areas, because its still being developed.

------------------
-- All that is gold does not glitter,
Deep roots are not touched by the frost,
The old that is strong does not wither,
Not all those who wander are lost.