https://www.greatsoftline.com/the-best-open-source-game-engine-in-search-of-perfection/

The game engine is a core software component of computer and video games and other interactive graphics applications processed in real time. It provides the basic set of demanded technologies, simplifies development, and often gives the desired opportunity to run the game on multiple platforms, e.g. game consoles and desktop operating systems, such as GNU/Linux, Mac OS X and Microsoft Windows.

The term ‘game engine’ refers to a whole range of applications, including the rendering engine for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, network code, streaming, memory management, threading, and a scene interface. Strictly speaking, all the code written by programmers in the development of the game represents the components of the engine; gameplay is defined by functions implemented in these components.

Choose your best open source game engine

To date, the most popular and advanced (mostly open source) game engines are:

1. OGRE – Open Source 3D Graphics Engine

Ogre is an object-oriented graphics rendering engine. Implemented via C + +, supports 3D graphics and uses Direct3D and OpenGL. To work with the latest version of the engine you need one of the following compilers: GCC, Visual C + + 7.1 (2003), Visual C + + 8.0 (2005). The engine supports compilers to work on Linux and Mac used GCC3 +. If the game will use DirectX, you must first install DirectX SDK (available for download from Microsoft).

According to the developer, Ogre is not in the strict sense of the word game engine. As stated in the documentation, ‘Ogre is just a graphics engine’; meaning it is designed for graphics processing.

Link: http://www.ogre3d.org/

2. Crystal Space 3D – full-featured Software Development Kit

A cross-platform Crystal Space is an open source engine with SDK for 3D graphics in real time, designed primarily for game development. Written in C++, but you can use it not only in C++ projects, but in Python, Perl, Java projects. Crystal Space it is a working base with modular concept, because of this, it seems heavier compared to other engines.

Link: http://www.crystalspace3d.org/main/Main_Page

3. Nebula Engine – Realtime 3D game/visualization engine

Nebula, once the best open source game engine types, but now far from setting the tone, is designed for 3D-games creation and visualization. Nebula was used in several commercial games. Also written in C++, it runs on Windows and uses DirectX 9.0. It supports classes for Shaders (HLSL and FX-files DirectX), skeletal animation, particle systems and shadows. Nebula supports several common scripting languages: TCL, Python and Lua.  It also supports D3D and OpenGL for rendering, runs under Linux and Windows.

Link: http://sourceforge.net/projects/nebuladevice/

4. Irrlicht – an open source high performance realtime 3D engine

Open source, cross-platform, written in C + +, supporting .NET (languages ​​such as C#, VisualBasic, and Delphi.NET), Java – using jirr or Bindenlicht libraries, Python – using the library Pyrr, Ruby – using the library IrrRuby and several other languages. The engine features all the necessary functions: rendering is performed through OpenGL/Direct3D (with support DirectX9.0); this is quite easy to learn game engine suitable for both making the first steps in programming.

Link: http://irrlicht.sourceforge.net/

5. OpenSceneGraphg – an open source high performance 3D graphics toolkit

This is an open-source, cross-platform engine, written in standard C++ using OpenGL. It supports various model formats, such as .lwo, .obj, .geo, .3 ds, .x, .wrl, i.e. virtually all the objects created in any modern three-dimensional graphics editor (3DS Max, Maya and Lightwave 3D). It runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems.

Link: http://www.openscenegraph.org/

6. Microsoft XNA – a set of tools with a managed runtime environment provided by Microsoft

The cross-platform engine is designed for 3 platforms: Windows, Xbox 360 and Zune (mp3-player by Microsoft). However, to develop games for Xbox, you will have to purchase Xbox Developer Kit, though you can develop games under Windows for free. The technology is designed to develop games using DirectX and .NET Framework (.NET Compact Framework for Xbox 360) and, frankly speaking, the main language for developing games using XNA should be C#. The project is well supported by Microsoft: the company organizes webinars, releases support documents, maintains the forum and so on. XNA is often considered to be the best open source game engine.

The Best Open Source Game Engine: In Search Of Perfection的更多相关文章

  1. Search Engine Hacking – Manual and Automation

    Search Engine Hacking – Manual and Automation Ethical Hacking Boot Camp OUR MOST POPULAR COURSE! CLI ...

  2. Tessnet2 a .NET 2.0 Open Source OCR assembly using Tesseract engine

    http://www.pixel-technology.com/freeware/tessnet2/ Tessnet2 a .NET 2.0 Open Source OCR assembly usin ...

  3. Deep Dive into Neo4j 3.5 Full Text Search

    In this blog we will go over the Full Text Search capabilities available in the latest major release ...

  4. 《InsideUE4》-4-GamePlay架构(三)WorldContext,GameInstance,Engine

    Tags: InsideUE4 UE4深入学习QQ群: 456247757 引言 前文提到说一个World管理多个Level,并负责它们的加载释放.那么,问题来了,一个游戏里是只有一个World吗? ...

  5. ArcGIS Server 开发实践之【Search类】

    开发中整理的.不足之处还请谅解! ----------------------------------------------- Class:Search 调用方式:require(["es ...

  6. SharePoint Search之(一):创建Search服务应用程序

    计划写一个关于怎样使用SharePoint Search的系列,包括下面几个方面: (一)创建Search Service Application (二)持续爬网(continues crawl) ( ...

  7. 【工利其器】必会工具之(一)Source Insight篇

    前言         “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是 ...

  8. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.e3mall.search.mapper.ItemMapper.getItemList

    java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...

  9. Breadth-first search

    given a graph G  and a distinguished source vertex s, breadth-firstsearch systematically explores th ...

随机推荐

  1. 第一周第二部分 coursera.org

    即使J(,)=,也不能是完美估计,因为其他数据可能存在误差 取任何颜色并沿着“圆”走,就可以得到相同的成本函数值,右图三个点的J(,)相同 越靠近圆心,J(,)越小 梯度下降算法可以将代价函数J()最 ...

  2. GoCN每日新闻(2019-09-23)

    1. 查看 Go 的代码优化过程http://xargin.com/go-compiler-opt 2. go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包 https://segmentfault. ...

  3. 14. Scala使用递归的方式去思考,去编程

    14.1 基本介绍 -Scala饰运行在Java虚拟机(Java Virtual Machine)之上,因此具有如下特点 1) 轻松实现和丰富的Java类库互联互通 2) 它既支持面向对象的编程方式, ...

  4. 【转载】ZYNQ Cache问题的解决方法

    Zynq Cache问题的解决方法 - Kevin_HeYongyuan - 博客园https://www.cnblogs.com/kevin-heyongyuan/articles/7738552. ...

  5. SET QUOTED_IDENTIFIER选项对索引的影响

    早上来到公司,发现用于整理索引碎片的Job跑失败了,查看job history,发现以下错误消息: ALTER INDEX failed because the following SET optio ...

  6. Elastic Stack 7.5.0白金版永不过期

    适用版本:7.4.0~7.5.0 警告:本文章仅限于学习,非商业用途. 目录结构 # 先创建相关目录,具体结构如下: /opt |-- bulid # 编译目录 | |- src |-- instal ...

  7. LaTeX转义特殊符号

    转义字符在LaTeX中有一些符号被用于特殊的用途,如 \\      \backslash\ 符号被用于命令的转义,直接在LaTeX中输入这些符号是无法正确得到这些符号的,甚至会引起LaTeX的报错. ...

  8. C# 使用SuperSocket

    一.需求场景 (1)使用SuperSocket进行网络通信 二.所需软件 (1)SocketTool 三.实现步骤   (1)使用Nuget管理器安装SuperSocket.Engine 该插件已经包 ...

  9. 笔记:Java Language Specification - 章节17- 线程和锁

    回答一个问题:多线程场景下,有时一个线程对shared variable的修改可能对另一个线程不可见.那么,何时一个线程对内存的修改才会对另一个线程可见呢? 基本的原则: 如果 读线程 和 写线程 不 ...

  10. [转]js获取iframe通过url传递的参数

    1.前言 获取iframe的url路径:window.parent.document.getElementById("your-iframe-id").contentWindow. ...