Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



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:
  • skillset (Score:3, Insightful)

    by Forrest Kyle ( 955623 ) on Saturday April 22, 2006 @11: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.
  • Ogre and friends (Score:4, Insightful)

    by Anonymous Coward on Saturday April 22, 2006 @12:06PM (#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?
  • Pick two... (Score:4, Insightful)

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

    You get any two.
  • Re:skillset (Score:2, Insightful)

    by hackwrench ( 573697 ) <hackwrench@hotmail.com> on Saturday April 22, 2006 @12:19PM (#15180829) Homepage Journal
    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 ) on Saturday April 22, 2006 @12:24PM (#15180856) Journal
    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.
  • by billcopc ( 196330 ) <vrillco@yahoo.com> on Saturday April 22, 2006 @12:26PM (#15180864) Homepage
    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.
  • Re:skillset (Score:3, Insightful)

    by hackwrench ( 573697 ) <hackwrench@hotmail.com> on Saturday April 22, 2006 @12:31PM (#15180887) Homepage Journal
    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.
  • Mod mod mod (Score:5, Insightful)

    by sd.fhasldff ( 833645 ) on Saturday April 22, 2006 @12:33PM (#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!
  • by Yst ( 936212 ) on Saturday April 22, 2006 @12:36PM (#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.
  • by NekoXP ( 67564 ) on Saturday April 22, 2006 @01:15PM (#15181102) Homepage
    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.
  • by sedyn ( 880034 ) on Saturday April 22, 2006 @01:42PM (#15181225)
    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 course are constantly afraid of teaching it improperly, because they've never recieved feedback on the notes before, well the good ones anyway).

    I mean, if you have questions while reading a manual then by all means ask. But if you want to ask 30 people for an impromptu lesson, most will probably only try to teach the book anyway. So cut out the middle man and get the tried and true solution, if possible.

    Remember, the bazaar just lets things happen, under the assumption someone will want them to. Tutorials and forums are the only things I see that answer that model.
  • by Jack9 ( 11421 ) on Saturday April 22, 2006 @03: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.
  • Re:skillset (Score:2, Insightful)

    by kunzy ( 880730 ) on Saturday April 22, 2006 @03:10PM (#15181605) Homepage
    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 ) on Saturday April 22, 2006 @03:16PM (#15181622)
    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, unless they are more interested in 3D game engine architecture than in getting their game design idea up and running, which is clearly not the case. The fact that John Carmack says all this stuff is fun and easy might not be the best argument...

    Like someone else said, it's not surprising that there aren't a lot of good choices of cheap/free 3D game engines that are well-designed and easy to use. It's a huge design and engineering task to create something like that. Try Blender, Torque, Unity(if you have a Mac), Panda3D, Alice, Yake, maybe do a tutorial in each to see if any of them will do what you need. If none of those work out, maybe try a 3D rendering engine like Ogre or Irrlicht together with other libraries for physics or whatever - this will require being comfortable in C++ though.

    I will say that it's probably going to be worth it to take a course / get a book on C++, whatever you do - it will allow you access to a wider range of tools, and also the ability to figure out how something works (if it's well-designed) by reading the source code when the documentation isn't cutting it. Also, if what you're mainly doing is using a single high-level game engine with a C++ API, a lot of what you'll be doing with C++ will be much like scripting anyway.
  • Re:skillset (Score:5, Insightful)

    by MaestroSartori ( 146297 ) on Saturday April 22, 2006 @03: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 :)
  • by sedyn ( 880034 ) on Saturday April 22, 2006 @03:38PM (#15181686)
    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 "solve the puzzle" where they have to figure stuff out. If you think you can effectively teach with a "normal" game, then by all means try. But learning some things is boring and frustrating as hell. Grokking those pieces and putting them together on the other hand is one of the most rewarding things you could ever do. One of the greatest joys I've had in CS is figuring out tough algorithms, despite the amount of time I've spent working on any given problem.

    As I said earlier, if you are struggling with a specific concept or problem, just ask. That method is a lot better then having knowledgable people assume where the bottlenecks of comprehension are in advance.

    BTW, Google groups is my first point for forums (in general). Common problems are typically brought up there by someone else. The hardest part is specifically phrasing what you want. But with computer languages it isn't that bad.

    That being said, I know I'm not the fastest at learning new things, nor am I the best at reading manuals. Far from it. Sadly, you have to get used to it. I don't know if you are looking to get into the computer industry, but from what I've seen, I've never been able to rest on my laurels. And in the real world of computing, documentation sucks the most where you need it. Consider it an extension of Murphy's Law.
  • by KDR_11k ( 778916 ) on Saturday April 22, 2006 @04:03PM (#15181768)
    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.
  • Re:Quake engines (Score:1, Insightful)

    by imbaczek ( 690596 ) <imbaczekNO@SPAMpoczta.fm> on Saturday April 22, 2006 @05:33PM (#15182013) Journal

    Parent is right up to a point:

    DON'T USE THE ORIGINAL ID QUAKE SOURCES.

    I repeat: don't use them. There's been a LOT of open source development going into all three of quake engines. Quake 1 and 2 are just a google away; quake 3 deserves special attention as it is relatively young: icculus quake 3 [icculus.org] (and that's only one of many, many forks, but arguably the most known.)

  • Horrible Advice (Score:1, Insightful)

    by Anonymous Coward on Monday April 24, 2006 @02:05PM (#15191332)
    To me, this is like telling someone, "So, you want to learn to write C? Ok, first, you need to figure out how compilers work..."

    Rediculous.
    Does understanding the build/link make me a better programmer? Absolutely. And when I am fighting for others for a paying position, this would be a serious factor. However, if I am making a quick VB form to help my kids learn addition, they would be in algebra before I got it done.

    But to suggest to someone who wants to make a game that they have to first build a 3D engine in order to properly appreciate the effort is balder dash.

    First of all, it is going to be a LONG time before he gets anything even close to a game. Why do we always start with "Hello world!"? Because that delivers that "Oh yah! Look at that!! I just wrote that on the screen! Look out you MIT snobs, I am right behind yah!!" For someone who isn't really drawn to programming (I am making the assumption based on what he gave us in his post), why in the world would he want to submerge himself in some of the most abstract and complicated programming out there. (for me it is math, can't tell you how many books I have set down thinking, "Dude, I want a to make a whizzing space ship, not learn advanced calculus..." I have picked up many of the concepts as I went along and they made my product MUCH better, but in those initial stages, there was nothing that turned me off more than having 5 chapters of academic noise to explain what I could do without effort with numerous choices of libraries. Again, we are not talking about becoming a "professional" here, we are talking about the most efficient and rewarding way to invest your hobby-time.)

    Second, 3D engine programming has nothing, and I mean litterally nothing, to do with game programming. For a geek, designing a 3D engine is tons of fun. For a guy who just wants in his spare time to "see his vision", I couldn't think of a greater waste of time.

    Again, as you get more advanced and want to do more, you really need to eventually wrestle with this stuff. However, to just make a game, you would be really wasting your time, OHO.

    I have used Torque (garagegames) and find it a perfectly adequate engine.
    I have also used TrueVision, but not enough to form an opinion.
    There is another I used a lot that I cannot recall, however, I have heard good
    things about many of the products others have suggested.

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...