Jump to content


Choosing an Engine


26 replies to this topic

#1 lonelytraveler8

    New Member

  • Members
  • Pip
  • 4 posts

Posted 06 July 2009 - 12:12 AM

Hello,

I'd like to create my first game. It's just going to be a hobby, at least for now, so nothing huge yet. I would like it to be 3D with decent graphics, though nothing cutting edge. My laptop is a couple of years old and even then it wasn't top notch. Now the important stuff.

I'm a decent C++ programmer. By that I mean that I know what I need to know, but I don't have years of experience. I'd like to start by making a Single Player RPG, since it is my favorite genre. I don't want to limit myself too much, though. I'm interested in working with RTS and FPS, both with network play, as well as platformers. The RPG is definitely the most important, though.

I've talked to a friend and he commented on a few things:

RPG Maker: Very customizable. No 3D.
C4: Great graphics, but he says there's no documentation and it's difficult to work with.
Unity: He only said that he's seen a game made from it and that it looked pretty good.

Other suggestions are appreciated, of course. Also, suggestions in getting started (i.e. tutorials, books, etc) for any engines would be supremely welcomed. I'm going to look into these myself, of course. Thanks in advance for the help.

#2 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2325 posts

Posted 06 July 2009 - 12:21 AM

Rpg maker is great, ive made a small rpg with that with all my own graphics.

To get a 3d one going, youve got direct x for starters for complete free, so maybe you should just learn that first?

Its not a waste of time.

#3 lonelytraveler8

    New Member

  • Members
  • Pip
  • 4 posts

Posted 06 July 2009 - 01:18 AM

I have knowledge of OpenGL and will continue to learn it. However, I'd prefer not to program directly to the graphics API. Until I learn enough to abstract the API myself, I'd prefer to use something that has its own 3D engine.

I'll pick up DirectX, as well, but I'd like to wait until I have a computer with support for DirectX 10. OpenGL should keep me occupied well enough for the time being.

#4 tyree

    Valued Member

  • Members
  • PipPipPip
  • 246 posts

Posted 06 July 2009 - 09:36 PM

I would throw dx studio next to unity they really arent that far apart. unity has more outlets but dx studio is somewhat easy to learn and use and it may surprise you

#5 fireside

    Senior Member

  • Members
  • PipPipPipPip
  • 1271 posts

Posted 06 July 2009 - 11:23 PM

Unity looks like a pretty good engine, however, I noticed they don't even have real time shadows except in the expensive pro version. My recommendation would be to start with Blender/Blender game engine if you don't have modeling experience. That way you can work on both at the same time, or nearly the same time. I would consider it more of a prototype engine, but it's a good way to get your feet wet. The engine is a little slow, but nice for starting out. The models incorporate directly into the engine. Most people get way over their heads with these projects when they find out how much is involved, so it's good to start with something free. Generally, one person is going to do a very bad 3d rpg because of the amount of work involved. It's not impossible, but it's years of work to get anything that looks mildly decent. Another engine to look at would be 3d game studio to see if they have some base code in that area. I don't know if they do or not. You could also check into modding an rpg engine to gain some experience.
Currently using Blender 2.5, FlashPunk, and Unity.

#6 lonelytraveler8

    New Member

  • Members
  • Pip
  • 4 posts

Posted 07 July 2009 - 04:09 AM

Yeah, I don't expect to end up with anything amazing. I intend to have a decent story and fun gameplay, but I'm not honestly expecting to have whatever I create alone to look wonderful. Unfortunately, I'm not much of an artist.

I didn't realize Blender had an engine of any kind, outside of what it needs for rendering its models. I'll look into 3D Game Studio. I'm most definitely look for cheap or free things right now.

#7 carlj

    New Member

  • Members
  • PipPip
  • 13 posts

Posted 07 July 2009 - 07:59 AM

I also suggest DX Studio. I've used 3D gamestudio in the past but couldn't take how backdated it was.

DX Studio is amazingly good value for money consider what you get so I would recommend you check it out before you make your final decision.

#8 fireside

    Senior Member

  • Members
  • PipPipPipPip
  • 1271 posts

Posted 07 July 2009 - 03:48 PM

Quote

I've used 3D gamestudio in the past but couldn't take how backdated it was.

I think they have been updating quite a bit. For instance, they have built in physics now, plus shaders. I think most of these engines are very similar. I only suggested it because they have templates which can give a lot of base code for a one person operation, especially on something like an RPG that will need large amounts of code. I haven't actually used it myself. The best thing to do is to download a demo and go through a few tutorials on any engine, also find out how many games have been written with and download a few of them. DX studio looks pretty good also in that it has built in path finding, which would be necessary for an RPG.
Currently using Blender 2.5, FlashPunk, and Unity.

#9 rhamm1320

    New Member

  • Members
  • PipPip
  • 15 posts

Posted 08 July 2009 - 12:59 AM

I have Unity and GameCore (http://www.gamecore3d.com). My personal preference is GameCore. I downloaded the C4 engine but it would not run with my older computer (I'm surprised if it ran on your older laptop?).

#10 TheNut

    Senior Member

  • Moderators
  • 1470 posts
  • LocationThornhill, ON

Posted 08 July 2009 - 02:40 AM

Unity has the added advantage of a web player, so you could post your games online ala "Browser Experience". For some people that would be a convenience to play your game anywhere and even have their saves downloaded.

One alternative I would recommend is Silverlight. It can do 3D, but the style of games you want to work with have all been very successfully done in 2D, which Silverlight is a master at. Working in 2D will also get you results quicker. Even with a complete engine, the tasks involved in creating 3D environments is a time suck. For a one man team, it will seem like a never ending story. Silverlight is of course not a game engine, but a platform supported on Windows and Mac, with Linux at the end of the line. However, it's gaining a lot of attention in the gaming front. Someone even ported Quake over to it. If you check out CodePlex, you can see a lot of effort being put into it such as physics libraries, 3D libraries, and amazing interface controls making tools development a breeze.
http://www.nutty.ca - Being a nut has its advantages.

#11 rouncer

    Senior Member

  • Members
  • PipPipPipPip
  • 2325 posts

Posted 08 July 2009 - 05:34 AM

Ive never learnt an engine to date, and i dont think i ever will, i prefer to use my own which i get up and running extremely quickly.

#12 Josh1billion

    Member

  • Members
  • PipPip
  • 76 posts

Posted 08 July 2009 - 05:45 AM

Here are three free 3D engines (C++) that I've heard great things about (the first being one I'm currently using). The first two are 3D graphics engines, while the third I've heard described as a game engine, apparently alluding to additional game-related functionality coming straight out of the box.

Irrlicht - graphics engine
I'm using Irrlicht right now and enjoying it. I've had some frustrations with it in the past (particularly with a semi-official level editor called irrEdit, which was so frustrating to the point that I'm now writing my own level editor which also uses the Irrlicht engine), but, all in all, I recommend it.

A major plus for Irrlicht is that it's very easy to use (compared to other engines). The downside of that is that it doesn't quite have all the special effects that other engines might have. Still, that doesn't bother me, and it doesn't sound like it would bother you, because the engine still looks very good-- perhaps PlayStation2 quality or a bit better.

There's also a semi-official 3D sound library available (from the irrEdit people) called irrKlang which works well with Irrlicht and is extremely easy to use-- after some very basic initialization, you play a sound with so little code as "irrklang->play2D("mysound.wav");" and "irrklang->play3D("mysound.wav", myObject->getPosition());" (though there are more functions and classes available for better use). The downside to irrKlang is that, unlike its open-source brother Irrlicht, you need to buy a license for commercial games (about $100 a one-time license for an unlimited number of games sold less than about $27), though freeware games require no license.

Ogre - graphics engine
I've never used it, but I've heard good things. From what I've heard, it sounds similar to Irrlicht, but sacrifices ease-of-use for some more powerful features. You can check it out at Ogre3d.org

Crystal Space 3D - game engine
They call this one a game engine, supposedly before it offers more game-related classes/functions than the graphics engines I've mentioned above. I've never used it, so I can't confirm. Either way, in my experiences, Irrlicht has offered plenty enough game-related classes and functions, so that's never been a problem for me.
Website :: Blog

Latest game release: Super Orbulite World
Current project: Stealth Prankster 2

#13 lonelytraveler8

    New Member

  • Members
  • Pip
  • 4 posts

Posted 09 July 2009 - 06:37 PM

Thank you everyone for all of the suggestions. I'm going to research everything suggested and try out some demos where I can. I got far more information that I expected and that's wonderful.

Thanks especially to Josh1Billion for the open source suggestion.

I've looked at OGRE before, and I'm not completely sure how to use a graphics engine in conjunction with the other aspects of game creation (sound, use i/o, etc) but I need to learn anyway, as I'd ultimately like to do some work on some basic engines of my own.

@rhamm1320
Actually, I tried to play a game made from C4 and it crashed repeatedly, so C4 is currently not an option.

#14 Tiiinygecko

    New Member

  • Members
  • Pip
  • 9 posts

Posted 11 July 2009 - 01:54 AM

TheNut said:

Unity has the added advantage of a web player, so you could post your games online ala "Browser Experience". For some people that would be a convenience to play your game anywhere and even have their saves downloaded.

Dx Studio has a web player. These two products are probably the most similar out there (but I could be wrong).

If you have experience with both Microsoft Visual Studio //and// C++ programming, but are new to game programming, I would also highly recommend take a look at the new Esenthel Engine. Horrible name, but looks to be a very good engine, and comes with lots of tools (world editor, mesh editor, sprite creator, converters up the ying yang). Creating and assembling game assets is surprisingly cut and paste for a C++ based engine; however, you will need to know *some* C++ programming to create a final product.

#15 fireside

    Senior Member

  • Members
  • PipPipPipPip
  • 1271 posts

Posted 11 July 2009 - 03:11 AM

The problem with these engines having web players is that the consumer has to download a plug in for it to work. How many of these are they willing to download? Most people won't even update their java plug in, much less one for a specific engine they may never play another game on. At that point, it's easier to just ask them to download the game.
Currently using Blender 2.5, FlashPunk, and Unity.

#16 rhamm1320

    New Member

  • Members
  • PipPip
  • 15 posts

Posted 12 July 2009 - 05:11 AM

I am on the fence on download vs web player. Another knock for web player some games do not work in Google chrome. I would image chrome will be grabbing market share quickly because they have easy access to many internet users and my opinion is chrome blows the doors of most other browsers.

Anyways, thats getting a bit off topic. All the engines mentioned in this thread are all capable of creating very nice games, now its time to pick the one that fits your workflow and requirements best :)

#17 Josh1billion

    Member

  • Members
  • PipPip
  • 76 posts

Posted 12 July 2009 - 09:50 AM

lonelytraveler8 said:

Thank you everyone for all of the suggestions. I'm going to research everything suggested and try out some demos where I can. I got far more information that I expected and that's wonderful.

Thanks especially to Josh1Billion for the open source suggestion.
You're welcome, and good luck. :)

lonelytraveler8 said:

I've looked at OGRE before, and I'm not completely sure how to use a graphics engine in conjunction with the other aspects of game creation (sound, use i/o, etc) but I need to learn anyway, as I'd ultimately like to do some work on some basic engines of my own.
It's good that you're willing to learn that stuff. So you know, it's not uncommon to use multiple libraries in a game: one for graphics, one for sound, one for input, etc. In fact, you'll almost always have a sound library separate from your graphics library (unless you're using a library/API that features more than just graphics, such as DirectX or the 2D library Allegro). Luckily, it's normally very easy to integrate a sound library into your application regardless of which engine/library/API you're using for graphics, and user input is often covered by the engine (it is in Irrlicht, for example).

If the engine you're using doesn't have sound, I personally recommend FMod (unless your engine is Irrlicht, in which case I'd go with irrKlang like I mentioned in my previous reply). FMod is very popular and has been used in popular commercial titles, including DJ Hero, LittleBigPlanet, BioShock 2, WoW: Wrath of the Lich King...
Website :: Blog

Latest game release: Super Orbulite World
Current project: Stealth Prankster 2

#18 tyree

    Valued Member

  • Members
  • PipPipPip
  • 246 posts

Posted 12 July 2009 - 03:04 PM

with unity or dxstudio the option is there to do both the web player and exe. why not do both, as far as google chrome thats just 1 of many browsers. anyone can be used at anytime. nothing is ever compatible with new tech that changes over time

#19 alphadog

    DevMaster Staff

  • Moderators
  • 1641 posts

Posted 14 July 2009 - 03:45 PM

Belated points:
1. Don't make your own engine unless:
a) you are more interested in playing and discovering underlying game technologies, not in game making. (For example, in racing, some want to be the person racing the car, others like to be in the pit building/maintaining the car.)
B) you are planning on wasting time to be able to boast you re-invented the wheel.

2. The most important criteria for selecting an engine for a junior developer like yourself is the support/community behind the product. Is there a well-frequented forum? Do they support their product? What's the documentation like?

3. The C4 game crashing on you isn't necessarily a function of C4, but I'll assume of a poorly coded game. Which game was it? (Hopefully not a C4 demo! ;) )

4. Forget the complexity of the web browser for now. All this talk of 3D and browsers is "very cart-before-the-horse", a.k.a. extreme scope creep. Focus on a simple 2D RPG first. IMO, most of the complexity of building a good RPG is not in the graphic/render layer, but rather the AI/game rules middle layer. (...and the assets/content.) People get all caught up in the visual side of things, only to have a lame game because nothing "makes sense". Consider arming yourself with a simple, open 2D library (pyglet, SFML, PTK, Torque2D, etc...)

Good luck.

#20 Tony Richards

    New Member

  • Members
  • Pip
  • 3 posts

Posted 14 July 2009 - 08:23 PM

You may want to check out Zen Engine at http://www.indiezen.org.

It's a very well written open source C++ game engine framework.

It uses a component / plugin based architecture and most pieces of a game engine are integrated and ready for use.

Completed plugins include plugins for Lua, Python, SQLite, MySQL, Ogre3d, Newton Game Dynamics, OpenAL, FMOD and a whole slew of others that are still under development including Tamarin (Aka AS3), PhysX, RakNet and others.

It's an excellent way to bootstrap your own custom game engine, or you can use one of the example game engines / starter kits / tutorials as a starting point.

The community is mostly IRC based (irc.indiezen.org #indiezen) but there are forums if you're not someone looking for that level of interactivity.

The documentation is a little sparse, but the code and the examples should be enough for most C++ programmers to be able to dive in.

It is still young (beta 0.5.0 was the last release), but it's fully functional and quite likely will go beta 1.0 in Sept.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users