Learn something new every day
More Info... by email
Open source game engines are frameworks used to help create games for computers, consoles and other devices. Providing the core game engine can help programmers to focus more on the game logic and less on basic aspects such as displaying graphics, playing sound or networking. There are a number of open source game engines available, each geared toward creating a specific type of game. Some engines allow for vast three-dimensional (3D) worlds, while others focus on optimized two-dimensional (2D) graphics that can be played on handheld or mobile devices. When engines are developed as open source, the benefit is that an enthusiastic community of players can help to develop and test the engine.
A game engine is different from a completed game, because it contains only the abstracted, core elements of the program code, such as the ability to display graphics. The engine does not contain any game data or any game logic. This means most engines require more programming and development on top of what is provided if a completed game is to be created. There are a small amount of open source game engines that do allow a point-and-click approach to development, but these are rare and limited in their power.
There are different types of open source game engines designed to handle different aspects of a game. Some are designed to handle all aspects of a game, from graphics to input, while others are designed to handle certain areas, such as audio. Unlike some game engines that are not open source, these will always include the source code, allowing them to be seamlessly integrated into the completed game. It also means the code can be modified to meet the needs of the programmer.
Most of the open source game engines that are available support special scripting languages. These languages can be used to customize the performance of the game engine without the need to recompile the source code. These scripting languages also can sometimes be used to define the game logic, or how the game is played, without the needed to write and compile actual code files.
Developing a game with open source game engines can help to reduce the amount of time needed to code functions that many others have already done, but it also can lead to some problems. For one, anyone can have access to the game engine code and might be able to exploit bugs and glitches to gain an advantage in the game. Another problem could be inherent flaws inside the engine code that could be very difficult to find because the code was written by a third party. Open source game engines also cannot, in general, be used for commercial game development, because of the license, so the games created with them cannot be sold.
@Melonlity -- A lot of those open source game engines do not come from commercial game manufacturers. Often, they are from the Linux community and other groups that believe in developing great software and giving it away for free so other people can add to it, improve it and use it to make great programs.
That philosophy covers everything from the Linux operating systems to free office suites for all popular operating systems. It is no surprise that some game programmers have joined in those efforts, is it?
These open source game engines make absolutely no sense to me. Why on earth would any of the big game manufacturers give their stuff away for free?
We see often how companies will develop a racing engine, fighting engine or something else and then use that for several games before either updating it or developing something completely new. Why would those companies give away their proprietary designs to competitors?
Perhaps they release those engines as open source after new engines are developed and kept under lock and key. Still, giving away things that cost millions of dollars to research doesn't make much sense.
One of our editors will review your suggestion and make changes if warranted. Note that depending on the number of suggestions we receive, this can take anywhere from a few hours to a few days. Thank you for helping to improve wiseGEEK!