Using open source technologies in games
I recently realized that I don't have the time nor do I really want to create my own entire game engine, however simple it would be (the game itself is complex).
So I thought that I would search for various open source technologies/engines I can use (for sound, graphics, physics etc.) and customize them a bit if needed, to make them all work together. And then code only the gameplay and AI myself (that's what interests me mostly anyway).
I have looked into (thought not deeply yet) such projects as OGRE, OpenDE, OpenAL, OpenSteer, some AI projects etc.
How viable is the idea to make use of many such open-source technologies in one game? Has anyone done this / is doing this? Mostly it seems to me that everyone here is making their own engine.
[edit]Also, does anyone have suggestions on which engines to actually use? I prefer good documentation over features.
[edited by - Erkki on October 16, 2003 6:38:09 PM]
I think it depends upon your game, your goal for your game, and the license available for the engine.
I avoid the full GPL license like the plague. Technically, I think it IS possible for you to create an extremely data-driven commercial game using GPL. That way, while your code is required to be open source, the bulk of your game is still closed and commercially sellable. I believe you could do this with the Quake I, Quake II, or Doom engines currently (and probably the Quake III engine soon after Doom III is released).
LGPL is a little better, but that means you are going to have to go through a dynamically linked library. I''d be willing to do this, personally, but some folks wouldn''t. CrystalSpace falls into this category, I think, as do many others available on the web. What''s cool is that only your changes to the engine itself need be made open, while your actual game itself can remain closed and proprietary. I don''t think this is a big deal at all... after all, if you thought that what you could do with a game engine was your competitive advantage, you wouldn''t be looking at an off-the-shelf engine, now, would you?
There are several very good engines that have BSD-style licenses. Basically, you do what you want with it, you don''t owe anybody anything except maybe mention of what engine you used. Irrlicht is one that falls into this category that I''ve been impressed with. The documentation isn''t very extensive, but it has the advantage that it was designed to be extremely EASY to get up and running.
Torque is a very impressive, EXTREMELY fully-featured engine (sounds, networking, graphics, scripting language, etc.) available for indies for only $100 per developer, with no additional royalty requirements beyond that. After seeing what people are doing with Torque, I''ve been very impressed. It has extensive documentation and tutorials, but not much available without anteing up first. I understand it takes a bit to get up to speed using the engine, but that''s word of mouth.
I avoid the full GPL license like the plague. Technically, I think it IS possible for you to create an extremely data-driven commercial game using GPL. That way, while your code is required to be open source, the bulk of your game is still closed and commercially sellable. I believe you could do this with the Quake I, Quake II, or Doom engines currently (and probably the Quake III engine soon after Doom III is released).
LGPL is a little better, but that means you are going to have to go through a dynamically linked library. I''d be willing to do this, personally, but some folks wouldn''t. CrystalSpace falls into this category, I think, as do many others available on the web. What''s cool is that only your changes to the engine itself need be made open, while your actual game itself can remain closed and proprietary. I don''t think this is a big deal at all... after all, if you thought that what you could do with a game engine was your competitive advantage, you wouldn''t be looking at an off-the-shelf engine, now, would you?
There are several very good engines that have BSD-style licenses. Basically, you do what you want with it, you don''t owe anybody anything except maybe mention of what engine you used. Irrlicht is one that falls into this category that I''ve been impressed with. The documentation isn''t very extensive, but it has the advantage that it was designed to be extremely EASY to get up and running.
Torque is a very impressive, EXTREMELY fully-featured engine (sounds, networking, graphics, scripting language, etc.) available for indies for only $100 per developer, with no additional royalty requirements beyond that. After seeing what people are doing with Torque, I''ve been very impressed. It has extensive documentation and tutorials, but not much available without anteing up first. I understand it takes a bit to get up to speed using the engine, but that''s word of mouth.
I don''t see any reason why it wouldn''t be totally viable.
[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
LGPL is much more viable than GPL.. GPL is a bad idea, and that''s why they made the LGPL, because it''s much less restrictive and much more usable. If you use GPL code you have to give out all the source to your game which can eat into sales especially if you use well known GPL code that anyone can easily compile..
And last time I checked you need to buy licenses for the Quake engine (even though they say it''s GPL..)
And last time I checked you need to buy licenses for the Quake engine (even though they say it''s GPL..)
"This is the complete source code for Quake 2, version 3.21, buildable with
visual C++ 6.0. The linux version should be buildable, but we haven''t
tested it for the release.
The code is all licensed under the terms of the GPL (gnu public license).
You should read the entire license, but the gist of it is that you can do
anything you want with the code, including sell your new version. The catch
is that if you distribute new binary versions, you are required to make the
entire source code available for free to everyone.
The primary intent of this release is for entertainment and educational
purposes, but the GPL does allow commercial exploitation if you obey the
full license. If you want to do something commercial and you just can''t bear
to have your source changes released, we could still negotiate a separate
license agreement (for $$$), but I would encourage you to just live with the
GPL.
All of the Q2 data files remain copyrighted and licensed under the
original terms, so you cannot redistribute data from the original game, but if
you do a true total conversion, you can create a standalone game based on
this code.
Thanks to Robert Duffy for doing the grunt work of building this release.
John Carmack
Id Software"
I use SDL for 2D graphics, sound, and input, TinyXML for reading and writing configuration files, and STLPort + Boost for additional C++ libraries. When not going for total speed I code in Python because it''s far more productive than C++.
I''ve never tried any of the open-source 3D engines but I may well do so in the near future.
[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
I''ve never tried any of the open-source 3D engines but I may well do so in the near future.
[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
quote:
LGPL is a little better, but that means you are going to have to go through a dynamically linked library.
That is not true, you can staticly link with LGPL libraries. If you do so, you must make the object files availible so it is posible to link your application to new versions of the library. But you only have to provide them to people who buy the program from you.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement