Game Engine Game engine is a [1]software, usually a [2]framework or a [3]library, that serves as a base code for [4]games. Such an engine may be seen as a [5]platform allowing [6]portability and offering preprogrammed functionality often needed in games ([7]3D rendering, [8]physics engine, [9]I/O, networking, [10]AI, audio, scripting, ...) as well as [11]tools used in game development (level editor, [12]shader editor, 3D editor, ...). A game engine differs from a general multimedia engine/library, such as [13]SDL, by its specific focus on games. It is also different from generic rendering engines such as [14]3D engines like [15]OpenSceneGraph because games require more than just rendering (audio, AI, physics, ...). While one may use some general purpose technology such as [16]C or [17]SDL for creating a game, using a game engine should make the process easier. However, beware of [18]bloat that plagues most mainstream game engines. [19]LRS advises against use of any frameworks, so try to at worst use a game library. Many game programmers such as [20]Jonathan Blow advocate and practice writing own engines for one's games. Existing Engines The following are some notable game engines. * [21]free as in freedom * [22]Allegro: 2D [23]C game library. * [24]BRender: Old 3D engine that used mainly [25]software rendering, used e.g. in Carmageddon, later released under [26]MIT. * [27]Cube2: 3D [28]voxel outdoor shooter engine with real-time editable levels, used e.g. in Cube 2: Sauerbraten. * [29]Godot: A successful but [30]bloated [31]FOSS ([32]MIT) [33]framework engine, alternative to the proprietary [34]Unity engine, written in [35]C++, supports many platforms, has 3D/2D graphics and physics engines, scripting in many languages and many "advanced" features. [36]Capitalist software. * id Tech engines (engines by [37]Id software) * id Tech 0: Simple 2D [38]raycasting engine, written in [39]ANSI C, used mainly in [40]Wolf3D (1992). * id Tech 1: [41]BSP rendering engine used mainly in [42]Doom and Doom 2. * [43]Chocolate Doom: Doom engine [44]fork aiming to be very similar to the vanilla version. * [45]Crispy Doom: Slight enhancement of Chocolate Doom: increased resolution ([46]640x480) and removed hardcoded engine limits. * [47]GZDoom: Another Doom fork, supports newer OpenGL etc. * [48]PrBoom: Doom engine fork adding e.g. [49]OpenGL support. * id Tech 2: 3D engine used mainly in [50]Quake and Quake 2, in a modified form ([51]GoldSrc, proprietary) also in [52]Half Life, features both GPU accelerated and [53]software rendering. * [54]Darkplaces: [55]Fork of id Tech 2, used e.g. in [56]Xonotic. * id Tech 3: 3D engine used mainly in [57]Quake 3, sadly dropped [58]software rendering support. * [59]ioquake3: Fork of id Tech 3 aiming for bugfixes and improvements, e.g. [60]SDL integration. * [61]OpenArena: Game-specific fork of id Tech 3. * id Tech 4: 3D engine used mainly in [62]Doom 3 and [63]Quake 4. * [64]iodoom3: Fork of id Tech 4, in a similar spirit to ioquake3. * [65]Irrlicht: [66]C++ cross-platform library for 3D games, includes a physics engine and many rendering backends ([67]OpenGL, [68]software, [69]DirectX, ...). Used e.g. by [70]Minetest. * [71]OpenMW: [72]FOSS remake of the engine of a proprietary [73]RPG game [74]TES: Morrowind, can be used to make open-world 3D RPG games. * [75]Panda3D: 3D game engine, under [76]BSD, written in [77]Python and [78]C++. * [79]pygame: [80]Python 2D game library. * [81]Raylib: [82]C99 2D/3D game library, relatively minimalist. * [83]SAF: Official [84]LRS library for tiny and simple portable games. * [85]Torque3D: 3D game engine in [86]C++. * [87]proprietary (no go!): * [88]Build Engine: Old portal rendering "[89]pseudo 3D" engine used mainly in [90]3D Realms games such as [91]Duke3D. It is [92]source available. * id Tech engines (engines by [93]Id software) * id Tech 5: 3D engine used e.g. in Rage and some shitty Wolfenstein games. * id Tech 6: 3D engine adding [94]Vulkan support, used e.g. in Doom 2016. * id Tech 7: 3D engine used e.g. in Doom: Eternal. * [95]Jedi engine: old 90s "2.5D/Pseudo3D" engine best known for being used in *Dark Forces * (Star Wars game). * [96]GameMaker: Laughable toy for non-programmers. * [97]RAGE: 3D open-world engine developed and used by [98]Rockstar for games such as [99]GTA. * [100]Source: 3D engine by [101]Valve used in games such as [102]Half Life 2. * [103]Source2: Continuation of Valve's source engine with added support of [104]VR and other shit. * [105]Unity: Shitty nub all-in-one 3D game engine, very [106]bloated and [107]capitalist, extremely popular among [108]coding monkeys, includes [109]ads. * [110]Unreal Engine: One of the leading proprietary 3D game engines developed alongside [111]Unreal Tournament games, EXTREMELY [112]BLOATED and [113]capitalist, known for hugely overcomplicated rendering (advertised as "[114]photorealistic"). Links: 1. software.md 2. framework.md 3. library.md 4. game.md 5. platform.md 6. portablity.md 7. 3d_rendering.md 8. physics_engine.md 9. io.md 10. ai.md 11. tool.md 12. shader.md 13. sdl.md 14. 3d_engine.md 15. osg.md 16. c.md 17. sdl.md 18. bloat.md 19. lrs.md 20. jonathan_blow.md 21. free_software.md 22. allegro.md 23. c.md 24. brender.md 25. sw_rendering.md 26. mit.md 27. cube2.md 28. voxel.md 29. godot.md 30. bloat.md 31. foss.md 32. mit.md 33. framework.md 34. unity.md 35. cpp.md 36. capitalist_software.md 37. id_software.md 38. raycasting.md 39. C.md 40. wolf3d.md 41. bsp.md 42. doom.md 43. chocolate_doom.md 44. fork.md 45. crispy_doom.md 46. 640x480.md 47. gzdoom.md 48. prboom.md 49. ogl.md 50. quake.md 51. goldsrc.md 52. half_life.md 53. sw_rendering.md 54. darkplaces.md 55. fork.md 56. xonotic.md 57. quake3.md 58. sw_rendering.md 59. ioquake3.md 60. sdl.md 61. openarena.md 62. doom3.md 63. quake4.md 64. iodoom3.md 65. irrlicht.md 66. cpp.md 67. ogl.md 68. sw_rendering.md 69. directx.md 70. minetest.md 71. openmw.md 72. foss.md 73. rpg.md 74. morrowind.md 75. panda3d.md 76. bsd_license.md 77. python.md 78. cpp.md 79. pygame.md 80. python.md 81. raylib.md 82. c99.md 83. saf.md 84. lrs.md 85. torque3d.md 86. cpp.md 87. proprietary.md 88. build_engine.md 89. pseudo_3d.md 90. 3d_realms.md 91. duke3d.md 92. source_available.md 93. id_software.md 94. vulkan.md 95. jedi_engine.md 96. gamemaker.md 97. rage.md 98. rockstar.md 99. gta.md 100. source_engine.md 101. valve.md 102. half_life2.md 103. source2_engine.md 104. vr.md 105. unity.md 106. bloat.md 107. capitalist_software.md 108. code_monkey.md 109. ad.md 110. unreal_engine.md 111. unreal_tournament.md 112. bloat.md 113. capitalist_software.md 114. photorealism.md