Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Simple Open Source 3D Game Engines? 136

Zenitram asks: "I'm trying to find a good open source/free, 3D first/third-person game engines. I can write basic scripts and make basic programs in various programming languages, but when it comes to making 3D worlds I do not have the skill set. Most of the Open Source programs I've found are not for beginners. I've found some pretty good commercial programs, however the game I am making has no chance of ever making a profit. As such I don't really want to invest money on a personal project. Any advice?"
This discussion has been archived. No new comments can be posted.

Simple Open Source 3D Game Engines?

Comments Filter:
  • Alice (Score:5, Informative)

    by Anonymous Coward on Saturday April 22, 2006 @10:54AM (#15180719)
    You can try: http://www.alice.org/ [alice.org]
    • Re:Alice (Score:4, Informative)

      by smallfries ( 601545 ) on Saturday April 22, 2006 @11:34AM (#15180908) Homepage
      One of the most useful sites for finding 3d engines has always been here [tu-berlin.de]. There are hundreds, and they can be rearranged into chosen categories.
    • Re:Alice (Score:5, Informative)

      by Anonymous Coward on Saturday April 22, 2006 @12:16PM (#15181104)
      Piggy backing on something visible, here's a summary of some of the shorter suggestion posts:


      And personally I think http://sauerbraten.org/ [sauerbraten.org] looks interesting, but I've never used it.
      • Sauerbraten is an interesting tech. demo, but it lacks occlusion culling, which makes it useless for anything except small scenes.
      • Re:Alice (Score:1, Informative)

        by Anonymous Coward
        And personally I think http://sauerbraten.org/ [sauerbraten.org] looks interesting, but I've never used it.

        Sauerbraten works quite well within its limited niche. It's not an engine at all but a self-contained FPS game based on a rather unorthodox but quite efficient representation which allows world building in-game. The representation can't really be changed nor extended without a major rewrite.

        There's also another problem with it ... the code is written in a rather "unique" style, and that's being generous. It's hackabl
      • You know, I've had Panda3D bookmarked for a while now but never really looked into what it offered in detail, and I gotta say wow, this looks great. In just a half hour looking over their docs I'm seeing that they've implemented functionality that I've struggled to get working or have had to implement myself in my part time job as a game developer for a small game studio using a professional game engine. Some of these issues are related to the terrible documentation this engine (which I won't mention by nam
        • I've used Panda3d a little as part of my undergraduate degree. Although it does do some cool stuff very easily, its biggest problem is how damn hard it is to install. It only works on x86 which sucks because many people use amd64 or something else now and even on the x86 I keept having problems with using the right libraries and getting paths right. To me the idea of a game dependancy being impossible to install makes it completly useless since no one could play your game which is written with it.
      • Depends on what kind of game you're trying to make really.

        Projects like Reality Factory (www.realityfactory.ca) are very useful for developers looking to script a bit, but not dive into the low-level C++ coding, which is what it sounds like you are looking for.
  • skillset (Score:3, Insightful)

    by Forrest Kyle ( 955623 ) on Saturday April 22, 2006 @10:56AM (#15180729) Homepage
    My advice is that you get the skillset. It sounds like you want something for nothing. Any skill requires some sort of investment, either financial or personal. You can decide which investment you'd rather make.
    • Re:skillset (Score:2, Insightful)

      by hackwrench ( 573697 )
      So, how do you get the skill set? Seeing something of a chicken egg problem here. This is something Open Source in general needs to work on. None of the open source packages are easy for beginner coders to get skills.
      • Re:skillset (Score:3, Insightful)

        by heinousjay ( 683506 )
        Coding is not an easy skill in general, and some branches are harder than normal. You obtain the skill by reading about it, thinking about it, and practicing it. There's really no shortcut you can take to become a 3D graphics guru.

        This is akin to saying that the NFL doesn't make it easy for high school players to get drafted.
        • Re:skillset (Score:3, Insightful)

          by hackwrench ( 573697 )
          Um, could you at least provide a dewey decimal number or something?

          No, it's more like saying the minor leagues doesn't make it easy... no, not quite, more like saying once you're out of HS there's really not much infrastructure for learning any given sport.
        • It just seems that when it actually comes to learning the stuff the answer is "Go to the citadel".
          • Google stuff like crazy, I guess. I'm personally not involved in 3d enough to tell you where to look. My focus is in data processing and storage, not graphics, and there's not a whole heck of a lot of overlap, aside from the general focus on efficiency.

            Googling for tutorials should turn something up - a cursory glance shows a tremendous number of them available.

            I can give you some general advice: try to keep frustration at bay. 3d is HARD to get a grasp on completely unless you're one of those supergeniu
            • by KDR_11k ( 778916 )
              I don't think 3d is that hard, sure it uses university-level maths but what you're lacking there you can read up on. Most of the problems you are going to encounter have been solved in traditional math already, you just need to transscribe the algorithms into your programming language (and know where and how to use them, of course). The basic transformations and lighting are done by the API, the hardest part is optimizing stuff and even that has been explored thoroughly. Of course you're not going to churn
          • by sedyn ( 880034 )
            Isn't that the only way to really do it, without people becoming free teachers (teaching is something that takes patentience, and sacrifice of time)?

            If you want to know something and I can say RTFM, and point you to a good manual (on my desk right now I have the C Bible and a well known book about compilers), that has taught thousands of people in the past, isn't it a lot simpler and less risky then me trying to explain something that I've never explained before (most profs I know that are teaching a new co
            • But where are the community generated tutorials, and the tutorials that have you play a game or do some computer guided exercises? Most tutorials are written by one person, and merely rehash the "one true way that worked for them". Where are the programs that detects where the person is struggling and adjusts the curriculum accordingly?

              When it comes to forums on the other hand, why haven't any specific ones been mentioned here?
              • by sedyn ( 880034 )
                Most tutorials are written by one person, and merely rehash the "one true way that worked for them".

                As opposed to many people doing the exact same thing? Take graphics, I have the book "Computer Graphics: Principles and Practice" by 4 different people. The thing is huge, and pretty comprehensive about 2D and 3D graphics. But all they did was create the "one true way." Would the book be different if only one author had written it? Probably not.

                And play a game? The game that programmers play is called "
      • Re:skillset (Score:3, Informative)

        Graphics gurudom comes from knowing both maths and programming. For maths you need to understand vectors, matricies, linear maps, geometry and triganometry, mostly highschool stuff but some stuff there that's a little more advanced. For programming you need to know C and/or C++ fairly deeply, you need to understand data structures (especially trees) and you have to be able to create clever algorithms and solutions on your own. After you have those skills you can start using OpenGL or DirectX to make graphic
    • Re:skillset (Score:5, Informative)

      by TerranFury ( 726743 ) on Saturday April 22, 2006 @11:59AM (#15181032)

      I agree wholeheartedly with the parent. This is a hobby project, right? The point is to have fun, and to learn something? In that case, I think you'll have more fun if you don't start with a premade "game engine."

      Start from scratch. It sounds intimidating, but that's just because you haven't tried it: You will be amazed at what you can do.

      You don't need to spend any money. Compilers are freely-available. Between that, the web as a reference, and your own intelligence and creativity, that's all you need!

      Do you know a programming language? If not: You say you can write scripts. If you can learn to write scripts, you can learn to write code. If you need to choose a language, I'd recommend C++ or Java; C++ is probably the most commonly-used language in game development. This site [cprogramming.com] was an important reference for me when I was getting started. Go through all the tutorials. Don't rush to get out of the console: It's a great place to focus on your logic and your algorithms without worrying about interfacing with graphics APIs. It's where you learn how to think about programming.

      Then, graphics! I'd suggest you start with some OpenGL programming. That's for a number of reasons. It's not just that OpenGL code is widely portable: Compared to Direct3D code, it's a breeze to write. Carmack himself wrote a piece about how OpenGL programming is a straightforward, enjoyable experience.

      Where to start? Try NeHe's tutorials [gamedev.net], and its parent site, gamedev.net [gamedev.net]. That's how I started writing OpenGL code, and I had a lot of fun doing it.

      Then, think about what sorts of worlds you want to represent. Landscapes? Indoors? Look up the relevant algorithms and data structures. You care about spatial partitioning schemes, occlusion culling, and LOD. This is where it starts to get advanced. Here, you'll learn more than just to code; you'll learn some actual Computer Science.

      You don't need to worry about this now, but when you get to the point where you're ready for it, there's stuff you can google. Spatial partitioning: BSP (older algorithm, computationally beautiful, generally used for indoors), Octtrees (more modern approach, conceptually simpler, lets you efficiently throw stuff at the graphics card), Quadtrees (variant for outdoor environments where the map extends mainly in two dimensions), K-D trees (special case of BSP which behaves more like Oct or Quad-trees). LOD: For outdoor scenes in particular: ROAM, geomipmapping. Occlusion culling and visibility: Portals, precomputed PVS, image-space techniques with occluders.

      Just explore, experiment, and have fun. You'll learn a lot.

      • Re:skillset (Score:1, Informative)

        by Anonymous Coward
        There are a couple of free compilers to start with as well. The gcc/g++ ones to start with ( http://gcc.gnu.org/ [gnu.org]). I find those to be a tad harder to setup but are completly free and you can look at the code under it (if thats what you want). There is also the visual studio compiler. There is a free learner edition (express) that comes with the gui and the SDKs are fairly straight forward to get and setup (http://msdn.microsoft.com/vstudio/express/default .aspx [microsoft.com]). I recomend the vs one if you are going t
      • Re:skillset (Score:2, Insightful)

        by kunzy ( 880730 )
        I don't really agree with this post. If you are interested in the technical details then go ahead and write an engine. I'm sure it's fun. But it's not really necessary if you want to make games. You can learn a lot by using a game engine. I think it's just a different thing, writing a game engine and writing a game. So if you are interested in GAME programming, then I'd go with one of the open source engines. Making a game that way is hard enough.
      • Re:skillset (Score:3, Insightful)

        by theVicar ( 106097 )
        After seeing people from that background follow the same advice given them by more advanced programmers, I can say from experience that this is usually bad advice.

        Unless the person's real interest is in learning about culling algorithms with the eventual goal of improving on them or inventing new ones, please don't tell them to write a 3D engine from scratch and then sometime later start looking up things on how to implement their own culling algorithms from scratch. For them it would be a waste of time, u
      • Re:skillset (Score:5, Insightful)

        by MaestroSartori ( 146297 ) on Saturday April 22, 2006 @02:37PM (#15181681) Homepage
        No. Wrong wrong wrong. Wrong! Assuming the guy wants to learn about game programming rather than 3D engine programming, that is... ;)

        See, most people who work in the games industry don't write 3D engines. And the ones that do often don't get to actually work on games, they get shunted off into R&D or game support roles. The rest of us write other systems, like AI or physics or GUI/HUD or cameras, or any number of other things. Or we implement gameplay stuff using all of the above systems (that's what I do, yay me!) :D

        For some reason though, the graphics programming aspect has glamour. Maybe it's just the easiest one to see a result from, I dunno. But whatever the reason is, you can virtually guarantee that unless you're a really outstanding graphics programmer, you'll be doing something else a most of the time.

        And if the op is doing this solely as a hobby project, I'd offer my opinion that working on some of these other areas of a game is more accessible, and more fun, than doing graphics stuff. Just writing graphics code won't really result in a playable game, whereas writing some basic AI gets you into the realm of simple games of many kinds. But at the end of the day, if he or she ss asking for a graphics engine, I guess graphics isn't really what they want to work on :)
        • Having the skillset couldn't hurt, though. I could see how not knowing anything about how 3D data is represented or how a game engine handles level layouts and construction would impede your ability to write decent AI routines.

          Maybe not actually learn to code an engine, but reading some background information on how they work at the core level could be helpful.
      • Re:skillset (Score:3, Funny)

        by datawhore ( 161997 )
        Ahh slashdot.

        Caveman: "I'm hungry. I want to hunt for some small rodents. I'm not very fast or strong and I really would like some food now. Know where I can find where some hide?"

        Cavedot: "Oh, you don't want to do that. What you reall want to do is catch a wooly mammoth, you'll appreciate the meat so much more, and you'll learn how to take down an 8 ton beast in the process.. what could be cooler than that? What you should do is go over there and lift those rocks until you get strong enough, then go find a
    • As much as I agree with you, we get this answer in every single Ask Slashdot that's open ended enough to allow for it.
    • Ugh, the whole point of progress is so that you don't have to rediscover the wheel for every single project.

      The guy asks for suggestions on a good 3d engine and yours is to code it from scratch, but in what language? If you want built in functions or object orientation you are asking for something for nothing.

      All those high level languages are for wimps, why don't you get the skillset to code the whole thing in assembly or raw binary?

      Any skill requires some sort of investment, either financial or p
  • Crystal Space 3D (Score:4, Informative)

    by The Snowman ( 116231 ) * on Saturday April 22, 2006 @11:00AM (#15180739)

    It might not be as simple as what you need, but Crystal Space 3D [crystalspace3d.org] might work.

  • Ogre 3d (Score:5, Informative)

    by Andyman1134 ( 854184 ) on Saturday April 22, 2006 @11:04AM (#15180762)
    Ogre is a great 3d graphics library, and cross platform.. Unfortunately it is not (nor will be) a complete gaming library. What I recommend is that you learn the c++ skills (which will serve you well) and use Ogre. Then you can make great games without having to learn the math involved (which is a lot) and the graphics rendering (which even with a masters in math I still think is a nightmare.)
    • Re:Ogre 3d (Score:5, Informative)

      by Anonymous Coward on Saturday April 22, 2006 @11:31AM (#15180888)
      I second this. I started using Ogre3D a couple of days ago, I've been using the Python bindings and PyODE (Python bindings for the ode phyics engine). In the space of one day I'd consturcted a simple third person demo, using the demo-media that comes with Ogre. I'm in the process of learning how to use Blender to make my own models. But my experience with Ogre has been great - documentation, source and loads of examples. That being said I'd already written a 3D engine in C++ for a project at college, Ogres list of features tempted me away from hard work.^H^H^H^H^H^H^H^H^H^H^H writing my own engine.
    • Re:Ogre 3d (Score:3, Informative)

      by kunzy ( 880730 )
      Ogre has nice Python bindings, which makes it well suited for beginners. See here: http://www.ogre3d.org/wiki/index.php/PyOgre [ogre3d.org]. Also it's lgpl, which makes it very free to use.
  • Blender (Score:3, Informative)

    by WWWWolf ( 2428 ) <wwwwolf@iki.fi> on Saturday April 22, 2006 @11:05AM (#15180765) Homepage

    Try Blender. It is good if you want to start learning how to make 3D stuff - some may say it's really difficult to get started with, but I say it's sometimes better to just do things with weight on your feet =) - and it has a really simple 3D game engine that's basically "join stuff with your mouse". You can script it pretty easily in Python. Blender also exports stuff pretty widely, so you can use it to model stuff for "real" 3D engines. (I've heard Blender + GtkRadiant + CrystalSpace rocks.)

    And yes, 3D modeling for games is difficult when you start. Don't give up. I'm not a gigantic big expert either, but Blender is simple enough and I've seen people do amazing things with it.

    • Re:Blender (Score:2, Informative)

      by Anonymous Coward
      Blender is an awesome peice of software. I have been using it for 2 years now and I'm really enjoying it. You can build games by click and drag if you want but there also a pretty in depth python engine. Pixel2life.org has some great tutorials.
  • Ogre and friends (Score:4, Insightful)

    by Anonymous Coward on Saturday April 22, 2006 @11:06AM (#15180770)
    If you're willing to spend the time learning C++, using Ogre [ogre3d.org] is very rewarding in terms of what you can accomplish with (fairly) little code. Ogre only handles (3d) graphics though and even though there are additional bindings for tying into 3rd party GUI/physics libraries, you'll be handling the bulk of integration yourself.

    Of course, there's also Yake [yake.org], which is more aimed at being a complete game development framework.

    If you're not interested in building a game from scratch, have you looked into implementing your game as a mod for some already existing game?
    • Mod mod mod (Score:5, Insightful)

      by sd.fhasldff ( 833645 ) on Saturday April 22, 2006 @11:33AM (#15180898)
      "If you're not interested in building a game from scratch, have you looked into implementing your game as a mod for some already existing game?"

      Mod parent up for suggesting a mod.

      Seriously.

      Unless you have VERY specific requirements for your game, you should be able to get quite far by creating a mod for an existing game. Now, that could either be a close sourced game or an open sourced game, that's entirely up to you.

      Since you stated that your game is never going to make any money anyway, going with a commercial, open source game seems viable. This opens up the possibilities even further. Depending on the type of game you had in mind, Quake3 and Descent2 are both mod'able and both have their source code freely available.

      If you don't want to use a commercial open source game, you could use one of the many "free" open source game (feel free to insert the obligatory speech and beer comments here), e.g. Vegastrike ( http://vegastrike.sourceforge.net/ [sourceforge.net] ).

      All that said, you don't NEED the source if you can keep it 100% in the mod realm - and people have done some amazing things with mods!
    • Ogre has some really strong points (I use it!), but it requires knowledge of programming and linear algebra. It also has a fairly steep technology curve to get past: to create a game, you need to assemble a number of tools, many of which have minor compatibility problems that require technical expertise to resolve. This is not a tool that non-programmers can just pick up and start producing games with.
    • "If you're not interested in building a game from scratch, have you looked into implementing your game as a mod for some already existing game?"

      I'd go a step further. Grab quakeworld(preferably a fork like ezquake of ftequake, depending on what you need) learn quakec, and make a mod. Anything you can't do in quakec, mod the client to do. In the end you'll already have real nice netcode and a good overall game base, and have other people adding features you can easily adapt to your game.
  • by Anonymous Coward
    Try taking a look at Panda 3D

    http://www.panda3d.org/ [panda3d.org]

    It's designed to be simple; and is in use by major game developers
  • http://www.delta3d.org/ [delta3d.org] - "If it's good enough for the Yankee Army, it's good enough for you!"
  • But I don't think there are any simple solutions. I recommend grabbing a copy of the original Half-Life and downloading the SDK. Developing for HL is fairly simple if you know a bit of C++ and enough about CAD to map with the Valve Hammer Editor. Modelling ain't so easy, but there's no solution for that other than just learning to do it.
  • Pick two... (Score:4, Insightful)

    by NevarMore ( 248971 ) on Saturday April 22, 2006 @11:16AM (#15180814) Homepage Journal
    Simple, Open Source, 3D Game Engine

    You get any two.
    • Your comment is troll / insightful / flamebait. Pick any two...
    • "Simple, Open Source, 3D Game Engine

      You get any two."

      www.blender.org - it can use logic blocks that you visually connect or python scripting for game logic - easy. It is GPL licensed - open source. It is fully 3D game engine - graphics (including GLSL if you use python); physics; sound; armature system; logic system; etc. So there are options for all three.
      • www.blender.org

        Good point. Let me revise the OP:

        Simple, Open Source, Robust, 3D Game Engine. Pick at most three.

  • Panda3D [panda3d.org] is pretty decent if you're using Windows (it supposedly runs on Linux and Mac OS X with increasing levels of difficulty). It supports shaders and other such fun things if you're into that, and has Python scripting, which is always fun.
  • Torque (Score:5, Informative)

    by Beowulf_Boy ( 239340 ) on Saturday April 22, 2006 @11:18AM (#15180824)
    For 100$ you can get torque. It was the best investment I ever made.
    I'm a gaming and simulation major at college, and I needed something for my senior project. I still have a year left before I have to start on it, but I decided to get a jump start.

    99% of things you want to do can be done with the scripting langauge in torque, which in my opinion is very C like. Milkshape will let you export your models to .DTS format which is what torque uses, and you can do all of your mapping with Valve's Hammer Editor, which is a very nice editor.

    I'm working on a project with 2 friends, ones a character modeler, ones a mapper, and I'm the progamming guy to put it all together. most of what I want to do has already been done before, so all I have to do is look on the torque forums to find step by step directions on how to do everything from adding flashlights, adding vehicles, night visions, or anything else I could possibly want.

    And, if you buy the upgraded lighting pack for 50$, the torque engine looks very pretty.
    • Re:Torque (Score:3, Informative)

      by Beowulf_Boy ( 239340 )
      I thought I should include the site to get it from.

      www.garagegames.com
    • by Anonymous Coward
      Torque is the best bang for the buck. They have a great 2D and 3D Engine for almost next to nothing, support is great and their documentation gets better and better over time. Almost everything you need is done in their easy to learn scripting language and you have full access to the source in case it doesn't. They'll also market and sell your game if you ever needed to go down that path, and their 3D engine is also XBox 360 ready for an easy conversion when the homebrew for the 360 takes off in a year or s
    • Oh and keep in mind that telling your artist to use Milkshape is akin to raping him with a hot iron poker. Blender crushes Milkshape like a grain of rice. Milkshape sucks horribly for anything except basic mesh modelling and even there it's like driving a nail into the wall with your thumb, Blender is just a better tool in every single respect.
      • what the GP didnt note is that there is plugins for every major modeling evironment out there. Milkshape is the one of choice because its cheap (yes, i know blender is OSS, but it wasn't open source when TGE was released almost 5 years ago)

        I agree with you, Milkshape is worse than hell, but I like to point out that no matter what 3D modeling package you use, there is an art pipeline into TGE. That, and the community rocks (disclaimer: I do own both TGE and TGB. Both are awesome. Have been working with TGE
      • Or my 3d guy can be smart and use Lightwave or maya. I'm sorry, but Blender sucks. Bad. Every single 3d guy that I know that has tried to use it just laughs at it. Its horrible. Maybe in ten years it will be up to snuff.
        • Blender is on of those program that for some people just seems to click with them, if it doesn't you're probably better off elsewhere. Blender's UI is very good if your a short-cut key thinker, if you're a point and click thinker forget it.
    • That's NOT what I want in a scripting language. :-|
  • by NekoXP ( 67564 ) on Saturday April 22, 2006 @11:18AM (#15180826) Homepage
    You know you can't just pick up some tool and press 10 buttons to get a game; that's what beginners want to do. 3D Game Construction Kit doesn't exist because the dynamics of a 3D game are so HUGE.

    Writing scripts in a game, as you say you can do, is possible only because someone wrote huge swathes of code behind it, including tying a scripting engine into hundreds or thousands of classes and objects.

    If you got a "simple" tool, it would be too simple to give you the environment you are currently comfortable and competant in coding in. You need to get more complicated :)
    • Comment removed based on user account deletion
      • It's NOT besides the point. It *IS* the point.

        3DCK was way way too complicated. I had a copy of it when it first came out for the Amiga, and didn't get very far; it was even worse than the SecondLife modeller (which is saying something) and only being able to walk around kind of boring virtual worlds, shooting a laser into the middle or so, was more than limited.

        I don't think anyone made any decent games or even virtual worlds in it, that were ever available on public domain BBS or so.
        • Amiga. You do know that software has advanced quite a bit since then, right? I do remember some WYSIWYG 3d game creation system (and I'm not referring to the program by Pie In The Sky) where you just drag code blocks together to form your game somewhen 'round 2000-2001. There's the Blender game engine as well, while it's not very good for serious purposes it can support some simple games and allows Python scripting. And while pricey, Unreal Engine 3's level scripts are WYSIWYG affairs as well and alledgedly
      • Admittedly, it is virtually impossible to make either a good or fun game with it

        I disagree; I had a great time with it making 3d adventure games. That ran like consumptive dogs. I suspect they would run somewhat more quickly today.

        TWW

    • <cough>World Foundry GDK</cough>
      http://sourceforge.net/projects/wf-gdk/ [sourceforge.net]
    • You know you can't just pick up some tool and press 10 buttons to get a game; that's what beginners want to do. 3D Game Construction Kit doesn't exist because the dynamics of a 3D game are so HUGE.

      Except that Blender actually does have such a thing. You actually can build a game from scratch by pointing and clicking. It's not easy, but it's quite possible. Get the Blender Game Kit book with sample games and start from there. It's relatively easy to do something at the Marble Madness level, and a goo

  • Quake engines (Score:5, Informative)

    by layernheart ( 964825 ) on Saturday April 22, 2006 @11:21AM (#15180843)
    Quake 1-3's engines have been GPL'd. You can find them on ID's ftp server. If you're looking for the best available free engine I think Q3's would be near the top of the list.
    • Great suggestion.

      The Quake code is very well written and organized. Reading it would give an aspiring game programmer some useful ideas of what to think about when designing a game engine.
  • The reason most game engines are complicated is because 3D game design is not for beginners, mostly due to the broad compromises we make due to technological limitations. Heck, just 3D graphic design is a beast to learn. Anyone can draw with a pen and paper, that's 2D.. photoshop, illustrator, these can be learned in a couple days. 3D is not something that's easily adapted between reality and virtual worlds.
  • Irrlicht (Score:3, Informative)

    by game_dev ( 970060 ) on Saturday April 22, 2006 @11:36AM (#15180912)
    You should try Irrlicht: [ http://irrlicht.sourceforge.net/ [sourceforge.net] ]

    It's relativily easy and yet versatile and powerfull

  • by Yst ( 936212 ) on Saturday April 22, 2006 @11:36AM (#15180914)
    "I'm trying to find a good open source/free, 3D first/third-person game engines. I can write basic scripts and make basic programs in various programming languages, but when it comes to making 3D worlds I do not have the skill set.

    So let me get this straight: you're looking for an engine which allows you to build something you readily admit you are unable to build?

    This is rather baffling. It seems like your skillset (scripting, basic coding, no modelling or worldcraft) would strongly recommend itself to modding or storytelling within existing commercial engines where there's a huge base of art, maps, models and media inherently available, which let you do the scripting and writing with little compulsory art design. If you want to do something FPS style, why not Source? If you want to do something RPG style, why not NWN2 [wikipedia.org] when it comes out, or NWN [wikipedia.org] now? As nice as it would be to have an open source alternative, a high quality open source game SDK with all the functionality of the more comprehensive commercial equivalents (with the various fan-made tools which have been created to complement them) simply does not exist.
    • why not Source?

      Steam's activation is the problem. I've read horror stories here on Slashdot of overloaded activation servers and inability to play on machines that are never connected to the Internet for security or economic reasons.

      • by KDR_11k ( 778916 )
        Actually with modding I'd be more worried about the code itself, the Source SDK is supposedly VERY messy, I've seen mods switch from HL2 to other engines (Quake 4 I think) simply because Source is a huge PITA.
    • Hm. The source code for Quake 3 measures roughly five megabytes. This person claims that he does not have the skills, on his own, to design and implement such a large project single-handedly. While it would greatly behoove him to learn enough to understand a 3D gaming engine, enough to create a rudimentary one alone and design a more feature-full one; it's not fair to give him a text editor and say "I expect pixel shaders working by next week".

      Moreover, the original question was for a simple open source eng
    • by Jack9 ( 11421 ) on Saturday April 22, 2006 @02:05PM (#15181583)
      So let me get this straight: you're looking for an engine which allows you to build something you readily admit you are unable to build?

      This is rather baffling.


      There's nothing out of the ordinary about a person admitting that they are not very familiar with how to properly implement a very complicated system. Looking for a packaged suite is quite typical.

      While you may be competent enough to write an inventory control system, that doesn't mean you are confident or even interested in discovering, coding, and implmenting the features that stock managers would consider "basic"...especially with the wide variation from industry to industry (discovery!).

      This should help relieve your baffle.
  • http://taspring.clan-sy.com/ [clan-sy.com]

    Spring is an open source RTS Engine, created by fans of Total Annihilation. There is actually an active gaming community, and mods based on the engine, like Star Wars : Spring [planetannihilation.com], based on the SW:TA mod.
  • Toruqe (Score:4, Informative)

    by BShive ( 573771 ) on Saturday April 22, 2006 @11:48AM (#15180977) Homepage
    http://www.garagegames.com/ [garagegames.com] It's $99, but a great engine and has some very good support from the company and community. If you're really serious about it, $99 is incredibly cheap for the value it offers.
  • Panda3D (Score:4, Interesting)

    by rrwood ( 27261 ) on Saturday April 22, 2006 @12:29PM (#15181170) Homepage
    http://panda3d.org/what.php [panda3d.org]

    What is Panda3D?

    Panda3D is a 3D engine: a library of subroutines for 3D rendering and game development. The library is C++ with a set of Python bindings. Game development with Panda3D usually consists of writing a Python program that controls the the Panda3D library.

    Panda3D is unusual in that its design emphasis is on supporting a short learning curve and rapid development. It is ideal whenever deadlines are tight and turnaround time is of the essence.

    For example, in a class called Building Virtual Worlds at the Entertainment Technology Center, interdisciplinary groups of four students are asked to create virtual worlds in two weeks each. Screenshots of their projects are visible throughout this site. Panda3D is what makes this rapid turnaround possible.

    Panda3D was developed by Disney for their massively multiplayer online game, Toontown. It was released as free software in 2002. Panda3D is now developed jointly by Disney and Carnegie Mellon University's Entertainment Technology Center.
  • One suggestion: Why not wander over to Jonathan Fowler's games web site http://jonof.edgenetwork.org/ [edgenetwork.org] and take a look?

    The engine behind Duke Nukem 3D (and Shadow Warrior) was written by Ken Silverman, and was called the "Build Engine." Ken released the source code for the engine in 2000, then 3D Realms released the code for Duke in 2003 and for Shadow Warrior in 2005.

    Jonathan Fowler (JonoF) has ported all of these from Win95/Win98 to WinXP, with Ken Silverman's help.

    At the very least, give the games a try -
  • Try the Blender Game Engine. You have all your 3d tools right there in one package. The engine is quite versatile, and now supports GLSL shaders, multi view ports, and physics. http://www.blender3d.org/ [blender3d.org]
  • Myself, I've been looking for an isometric engine, preferably with Python or .NET bindings. Anyone seen one around?
  • Soya3D (Score:4, Informative)

    by bitspotter ( 455598 ) on Saturday April 22, 2006 @01:27PM (#15181429) Journal
    Soya3d [nekeme.net] is a 3d engine written as a Python module (really). Being a python beginner, and someone who hasn't written a lick of C in ten years, I can tell you it's EXCELLENT. It even comes with a sample 3rd person game, Balazar, that has been fun to play (although it's not quite done) //and// to tweak under the hood.

    I highly recommend it.

    This is over and above the other mentions of Ogre3d, Nevrax [nevrax.org], Cube/Sauerbraten, the Quakes, Nexuiz, the Worldforge projects, etc.
    • Re:Soya3D (Score:3, Informative)

      by ArcRiley ( 737114 )
      Soya3d is excellent for a beginning programmer being as it's very high level and beautifully maps 3d objects to programming objects. It's also powerful enough to be used for "professional" games designed with low/mid level hardware in mind.

      It's available for GNU/Linux, MacOSX, and Windows. You can even use standard tools to build a Windows .exe of your finished program which doesn't require the end user to install either Python or Soya.

      The documentation for Soya is a bit lacking, though there's many examp
  • by petrus4 ( 213815 )
    I'd suggest either the original Unreal Tournament, or (if you're feeling a bit more adventurous) UT2004.

    Given how old the original UT is, that might surprise you a bit...however, it's an extremely capable engine, nearly everything's scriptable, (UnrealScript is a cut down Java) and mapping is infinitely faster and easier than for the Quakes. You've also got an enormous amount of existing code examples available online, in the sense that the source for UnrealScript mods and mutators can be extracted from the
  • by magic ( 19621 )
    G3D is a commercial-grade 3D Engine available as Open Source (BSD License). It is used in games, tech demos, research papers, military simulators, and university courses. It can support real-time rendering, off-line rendering, back-end game server management of 3D worlds, and use of graphics hardware for general purpose computing. G3D is the basis for several university games and graphics courses, including ones at Ivy leagues Brown and Harvard Extension.

    http://g3d-cpp.sf.net/ [sf.net]

    -m

  • A game engine usually consists of many components including the graphics engine. While many people have pointed out Ogre as a game engine, it is to be noted that Ogre does not claim to be a game engine in itself. It only strives to do what it does best: Graphics.

    Yake, on the other hand, integrates Ogre and ODE (a physics engine)

    Ideally, today's games require that a game engine would need these components:

    1. Graphics engine
    2. Sound engine
    3. AI/Gameplay/Scripting engines
    4. Common Client/Server/Game framework
    5
  • As other posters have noted, if you don't have the skill set then you shouldn't be worrying about engines quite yet. How familiar are you with vector and matrix mathematics? If you ever plan on doing ANYTHING in 3D, learn that. Trying to do anything without knowing the basics is just plain ludicrous. Once you've gotten the hang of those, you can start coding. The mathematics are usually the biggest block to get over when programming in 3D. After learning that stuff, OpenGL or Direct3D will seem alot less
  • Try licensing the Serious Sam engine, I believe it is 100 for the first engine and 1000 for the second. For 100 bucks you get amazing graphics and no boundaries on maps... as well as thoroughly documented engine and SDK... If you gross enough you could license the second ;)

    100 bucks... come on! :)
  • there's a great Windows port of Duke Nukem available, and it includes all the tools you need to create your own levels. It would be a great start. You can get it here [edgenetwork.org]

Little known fact about Middle Earth: The Hobbits had a very sophisticated computer network! It was a Tolkien Ring...

Working...