Skip to content

Game Engine

게임 엔진(Game engine)은 컴퓨터·비디오 게임 같은 실시간 그래픽 표시 기능을 갖춘 상호 작용 응용 프로그램을 구현하는 핵심 소프트웨어 구성 요소를 말한다. 컴퓨터 게임 개발에 바탕이 되는 기술을 제공하여 개발 과정을 단축시켜 줄 뿐 아니라, 게임을 다양한 플랫폼에서 실행할 수 있게 해주기도 한다. 특히 게임 엔진은 재사용을 염두에 두고 있기 때문에, 하나의 게임에 종속되지 않고 여러 종류의 게임에 쓰일 수 있도록 개발된다.

게임 엔진이 제공하는 주요 기능으로는 2차원 그래픽이나 3차원 그래픽을 출력하기 위한 렌더링 엔진('렌더러'), 물리 엔진, 충돌 검출과 충돌 반응, 사운드 출력, 스크립트 작성, 애니메이션, 인공 지능, 네트워크, 스트리밍, 메모리 관리, 쓰레딩, 씬 그래프 등이 있다.

Categories

  • DOM Event Architecture - UI 이벤트 전파 구현시 사용 가능한 DOM 이벤트 전파에 대한 아키텍처 참조.

List of Game engines

  • [추천] 93 Top Game Engines Compared (Ranked Mar 2024) - 언어/플랫폼/그래픽(2d,3d)/가격 별 카테고리 편하게 선택 가능.
  • [추천] Game Engines Database - 게임 엔진 데이터베이스, 게임 엔진 목록이 정리되어 있다.
  • Unreal
  • AndEngine
  • Cocos2d
    • Cocos2dx - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. (MIT)
  • ClanLib
  • GameKit
  • Leadwerks
  • Irrlicht
    • Jirr
  • LumixEngine
  • Lwjgl
  • Ogre3d
  • Oxygine: A cross-platform 2D C++ game engine. (MIT)
  • PyGame (Python)
  • LOVE (Lua)
  • Lumberyard (amazon)
  • Unity3d
  • libgdx
  • Moai
  • Solarus
  • Acid: A high speed C++17 Vulkan game engine. [MIT]
  • Allegro: A cross-platform library mainly aimed for video games and multimedia programming. (zlib)
  • Atomic Game Engine: A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. (Commercial)
  • Banshee 3D: Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. (LGPL3/Commercial)
  • delta3d: A robust simulation platform. (LGPL2)
  • GamePlay: A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. (Apache2)
  • Godot: A fully featured, open source, MIT licensed, game engine. (MIT)
  • The Mirror - The open-source Roblox & UEFN alternative giving you freedom to own what you create. An all-in-one, real-time, collaborative game development platform built on Godot.
  • Grit: Community project to build a free game engine for implementing open world 3D games. (MIT)
  • Halley: A lightweight game engine written in C++14 with a "true" entity-component system. (Apache 2.0)
  • KlayGE: a cross-platform open source game engine with plugin-based architecture. (GPLv2)
  • OpenXRay: a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. (Modified BSD/non-commercial only)
  • Panda3D: A game engine, a framework for 3D rendering and game development for Python and C++ programs. (Modified BSD)
  • PixelGameEngine: The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. (OLC3)
  • Polycode: A cross-platform framework for creative code in C++ (with Lua bindings). (MIT)
  • Torque2D: An open-source and cross-platform C++ engine built for 2D game development. (MIT)
  • Torque3D: An open-source C++ engine built for 3D game development. (MIT)
  • toy engine: toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations.
  • Urho3D: A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. (MIT)
  • raylib: A simple and easy-to-use library to enjoy videogames programming
  • GameMaker
  • Buildbox
  • GameSalad
  • Sparrow (ios)
  • Superpowers
  • Delta Engine
  • ClickTeam Fusion
  • microStudio - 온라인 무료 게임엔진

Python

In this chapter of our ongoing Game Engines by Language series, today we are going to look at the game engines, both 2D and 3D, available for Python.

그 밖에, Python:RenderingEngines 항목 참조.

JavaScript

In this chapter of our ongoing Game Engines by Language series, today we are going to look at the game engines, both 2D and 3D, available for JavaScript.

Haxe

In the Haxe ecosystem, many frameworks are build on top of other frameworks, so we will be covering them in order, from lowest level to the highest.

  • Lowest Level
    • NME: Native Media Engine
    • Lime
  • Intermediate Level
    • Kha
    • OpenFL
  • High Level 2D
  • High Level 3D
    • Away3D
    • Heaps
    • Armory3D

Lua

Today we are going to look at game engines using the Lua programming language. This doesn’t mean the game engine was created using the Lua language, instead we are covering engines that can be scripted using Lua.

  • 2D Lua Engines:
  • 3D Lua Engines:
    • Spring RTS
    • GameGuru
    • Shiva
    • Leadwerks
    • Lumberyard
    • Roblox Studio
    • Urho3D: (*Needs to be enabled)
    • Stingray: 3DS Interactive
  • Defunct:
    • CryEngine (Deprecated)
    • Cocos2D (Undocumented)
    • PolyCode (Seemingly abandoned)
    • Marmalade (Deprecated)

C/C++

Due to it’s popularity in the professional game industry, I get all kinds of requests for C++ based game engines. That is exactly what this guide is, a collection of game engines that use C++. This is not about game engines that are written using C++, many if not most game engines are at least partially written using C++, instead it covers engines where you (can) primarily use C++ in developing an actual game using the engine. So without further ado, let’s jump into the list of (3D only) game engines that (can) use C++ to develop games.

C#

Today we are going to look at C# game engines. We are using the same criteria as the last list, the engine must be 3D, actively under development and programmable using C# (regardless to the language used to write the actual engine). Over time I have covered several of these engines, in which case I will add a learn more link when applicable.

Rust

  • rg3d
  • Bevy - Rust 기반 오픈소스 2D/3D 게임엔진

Game Support Engine List

그냥 단순히 라이브러리 목록.

Light 관련

Path & AI 관련

UI

Sound & Video

Network

Face Animation

Level Editor

ETC

AI 기반

Metaverse

Entity System

Game Off 2022

  • Into JavaScript? You might be interested in Phaser.
  • Comfortable with C++ or C#? Look at Godot, Unity and Unreal Engine.
  • Raving about Rust? You might like Bevy.
  • Proficient with Python? Check out Pygame or Godot (Godot uses GDScript, which is similar to Python).
  • Dangerous with Java? Take a look at libGDX.
  • In love with Lua? Check out LÖVE or Defold. Like retro games too? Drop everything and check out LIKO-12!
  • Fond of Flutter? Take a peek at Flame.
  • Gearing up with Go? You might want to look at Ebitengine.
  • Do you really like retro games? Maybe you can…
    • Hack on a Roguelike dungeon crawler in JavaScript or Haskell.
    • Crank out a text adventure in or some interactive fiction with Clojure or Ink (similar to Markdown).
    • Craft that 8-bit console game you always fantasized about with PICO-8, Pixel Vision 8, TIC-80 (Lua), BASIC8 (Basic), or Pyxel (Python).

See also

Favorite site

Libraries