วันพฤหัสบดีที่ 30 ตุลาคม พ.ศ. 2551

Game Engine

ถ้าเราจะพูดถึงการ นั่งเขียนโปรแกรมเกมส์ขึ้นมาซักเกมส์หนึ่ง ถ้าเราเริ่มเขียนตั้งแต่ต้นติดต่อระบบกราฟฟิค DirectX , OpenGL ระบบเสียงเอง ผมว่านะกว่าจะเสร็จก็คงอีกนาน มันเหมือนกับจะสร้างบ้าน แล้วเราก็ไปเริ่มที่หาไม้ในป่าเองเลย แต่ก็ใช่ว่าจะไม่ดี เพราะมันเหมือนกับว่า ตัวเราเองได้เริ่มต้นศึกษาการเขียนเองตั้งแต่ต้น ยังกะ "กบนอกกะลา" ตามหาต้นตอเกมส์เองเลย

แต่ที่จะพูดถึงนี้ก็คือ Game Engine ที่เราสามารถนำมาใช้ในการเขียนเกมส์ได้ง่ายกว่าวิธีการแรก ที่ได้กล่าวมา คือ แทนที่ต้องหาไม้ที่เหมาะมาสร้างบ้านเอง แต่มีคนที่คอยจัดเตรียมวัสดุ และเครื่องมือต่าง ที่เราต้องการสร้างบ้านไว้ให้เราแล้ว ถ้าเปรียบกับการเขียนโปรแกรมเกมส์ก็คือ การเรียกใช้งานฟังก์ชั่นพื้นฐานต่างๆ ที่จำเป็นต้องใช้ในการเขียนเกมส์ ตัวอย่างเช่น การตรวจสอบระบบกราฟฟิคที่ เกมส์ต้องการว่าสนับสนุนหรือไม่ การโหลดไฟล์ภาพนามสกุลต่างๆ โหลดโมเดลสามมิติ และเสียง เป็นต้น ดังที่กล่าวมานั้นจะเห็นว่า การใช้ Game Engine จะช่วยลดระยะเวลาในการสร้างเกมส์ได้มากขึ้น อีกทั้งคนเขียนเกมส์เอง ก็ไม่ต้องแบกภาระมากมายในการศึกษาตั้งแต่พื้นฐาน ของการติดต่อระหว่าง ฮาร์ดแวร์กับ ซอฟท์แวร์อีกด้วย


Game Engine ต่างๆ ในปัจจุบันมีให้เลือกอยู่มากมาย หลายหลากแล้วแต่ความเหมาะสมกับเกมส์ที่ได้ออกแบบขึ้นมา สามารถดูได้ตามรายการ สำหรับการแนะนำ Game Engine ต่างๆ นั้นก็ติดตามกันต่อไปครับ

Free of charge engines
Agar (engine) - A high-level graphical application framework used by 2D and 3D computer games
Allegro library - A free crossplatform C/C++ game programming library, provides functions for graphics, sounds, input, timers, fixed and floating point, 3d, compressed datafile and a GUI.
Axiom Engine - A fork containing the core of the OGRE graphics engine
Baja Engine - Professional quality engine used for the game The Lost Mansion.
Boom - A port of the Doom source code by TeamTNT
Build engine - A First person shooter engine used to power Duke Nukem 3D
BYOND - Short for "Build Your Own Net Dream." Makes various genres of games, including MOGs.Coding,mapping,drawing and testing are all done in one program very simple to use.
Catmother - A BSD-licensed engine from a company that open-sourced its code when it closed the business.
CheapHack - An outdated TomazQuake derived engine
Crystal Entity Layer - An extension of the Crystal Space 3D Engine
Crystal Space - A general framework for developing 3D applications
Cube - Powers the computer game of the same name
DarkPlaces - One of the most advanced free software Quake engines
Delta3d - Integrates other well-known free software projects into an easy-to-use API, originally developed by the U.S. Navy
DGD - An object-oriented programmable MUD engine
Doom engine - The now free software engine originally used for the hugely popular Doom and Doom II
DXFramework - A simple, pedagogical 2D/3D DirectX-based game engine for Visual Studio
DX Studio - Real-time professional 3D engine and editing suite produced by Worldweaver Ltd
Epee Engine -Is an 2D graphics engine with beginning programmers in mind
Eternity Engine - A source port of the Doom engine
Exult - A free software reimplementation of the Ultima VII game engine
FIFE - A free software 2D ISO engine supporting the assets of Fallout 1 & 2
Game Blender - A sub-application of Blender for creating games
Game Maker - Object-oriented game development software with drag-and-drop interface and its own scripting language
GQ - A Quake engine that adds features from TomazQuake and DarkPlaces
GZDoom - A source port of the Doom engine based on ZDoom
Genesis3D - A real-time 3D engine for Windows
GemRB - A free software implementation of the Infinity Engine
Horde3D - A lightweight next-generation graphics engine
Irrlicht Engine - A cross-platform and lightweight three dimensional graphics engine.

ISARA Engine - A Thailand High technology Game Engine. Write game by use Thai language.
Jogre - a Java based client/server game engine and API for online real time games such as chess, checkers, etc.
MRPGe - Visual Basic 2D RPG game engine, with built-in scripting capabilities. Very customizable, in early development stages.
M.U.G.E.N - A 2D fighting game engine
Multiverse Network - an MMOG platform, including server, client, and tools. (Free for development and use--revenue sharing upon commercial deployment).
Nebula Device - A realtime 3D game engine developed by German game studio Radon Labs.
OctLight - A Java game engine that uses scene-graph and renders on top of Lightweight Java Game Library (LWJGL) using OpenGL
Open Game Engine is an open source library combining the components used to make games.
OGRE Engine - A very popular object-oriented graphics rendering engine. Also called OGRE3D
Pentagram - A project to create a game engine that is capable of running Ultima VIII: Pagan
PlayerWorlds - a simple, and widely used 2D Online RPG Engine.
PLIB - A game engine - includes 3D, Audio, Music, GUI, Window manager and is portable Linux/Windows/MacOSX.
ProQuake - A modified Quake engine
Quake II engine - The original free software Quake II engine from Id Software
Quake III engine - The original free software Quake III engine from Id Software
RealmForge - An open-source game engine for the Microsoft .NET Framework, predecessor to Visual3D.NET
Retribution Engine - A game engine to make first person shooter games
Sauerbraten - A upgraded engine forked from the Cube engine
Stratagus - A cross-platform real time strategy game engine
Telejano - a modified Quake engine
Tenebrae - One of many Quake engine clones

Commercial engines
Aurora Engine - For Role-playing games
BRender - A real-time 3D graphics engine for computer games, simulators and graphic tools
C4 Engine - An emerging next-generation computer game engine created by Eric Lengyel
Coldstone game engine - an old game creation suite for Macintosh/Windows to create role-playing or adventure-style games
CryENGINE, CryENGINE2 - The game engine used for the first-person shooter computer game Far Cry. CryEngine 2 is a new generation engine developed by Crytek to create the unreleased FPS game Crysis.
Dagor Engine 3 - A high-tech cross-platform game engine (3D, physics, game logic) with rich toolset for content development
Doom 3 engine - Used by the games Doom 3, Quake 4, Prey and Quake Wars
DX Studio - Engine and editing suite that allows rapid creation of real-time games and simulations
Earth-4 Engine - The graphics engine used in Earth 2160
Electron engine - Currently in development by Obsidian Entertainment for their game Neverwinter Nights 2, based on the Aurora engine
EMotion FX - A real-time character animation SDK and tools by Mystic Game Development
euphoria - A real-time motion synthesis engine by NaturalMotion
Explorations - 2d MMO creator
Frostbite Engine- Game engine used for the next-gen title Battlefield: Bad Company
Gamebryo - A cross-platform 3D computer graphics engine coded in C++
Havok - High-tech cross-platform (PC, PS3, Xbox 360 etc) middleware Engine.
IMUSE - Specifically designed to synchronize music with visual action
INSANE - Used in LucasArts games
Infinity Engine - Allows the creation of isometric computer role-playing games Jedi - A game engine developed by LucasArts for Star Wars: Dark Forces and Outlaws
Kaneva Game Platform - A full featured MMOG engine for independent and professional game development
KjAPI - A C++ technology to create games and 3D applications for PC computers
Lithtech - A competing alternative to the Quake, and Unreal engines.
Lithtech Juipter Ex - A new generation Lithtech engine developed by Monolith to create the game F.E.A.R. and ยุทธ์ in Thailand.
Medusa - A C++ 3D game engine developed by Palestar and used in the DarkSpace MMO. It features distributed world simulation, single tool version control and asset realisation, cross-platform compatibility and an integrated client/server network system.
Monumental Technology Suite - A MMOG platform, including server and cleint technology and development / live management tools.
Multiverse Network - an MMOG platform, including server, client, and tools. (Free for development and use--revenue sharing upon commercial deployment).
Odyssey Engine - Used to create three dimensional computer role-playing games, used in Star Wars: Knights of the Old Republic
Power Render - A general purpose software development kit for games and 3D visualization
RAGE - A game engine created by Rockstar Games use it to power their upcoming video games on the Xbox 360 and PlayStation 3
RelentENGINE - A next-generation FPS engine supporting massive destroyable city environments and realistic vehicle control, makes extensive use of shader model 3.
RenderWare - A very popular 3D API and graphics rendering engine
Revolution3D - A 3D graphics engine developed by X-Dream Project
RPG Maker XP - A 2D engine to make top-down and isometric-style role-playing games for Windows.
SAGE engine - Used to create real-time strategy games
SCUMM engine - Used in LucasArts graphical adventure games
Serious Engine - The engine by Croteam used in the epic Serious Sam: The First Encounter and the inspirational - The Second Encounter
Shark 3D - A middleware from Spinor for computer, video games and realtime 3D applications
Silent Storm engine - A turn-based strategy game engine
Sith - A game engine developed by Lucasarts for Jedi Knight: Dark Forces II
Source engine - A Game Engine developed by Valve Software for Half-Life 2
Torque Game Engine - A modified version of a 3D computer game engine originally developed by Dynamix for the 2001 FPS Tribes 2
Torque Game Engine Advanced - A next-generation 3D game engine support modern GPU hardware and shaders.
TOSHI - A fourth generation cross platform game engine designed by Blue Tongue Entertainment
Truevision3d - A 3D game engine using the DirectX API
Unigine - Cross-platform middleware with great graphics
Unity - An easy-to-use open-ended 3D game/interactive software engine
Unreal engine - One of the most popular game engines for action games
Vengeance engine - A video game engine based on the Unreal Engine 2/2.5
Vicious Engine - Available for Microsoft Windows, Sony PlayStation 2, Microsoft Xbox, and Sony PlayStation Portable
Visual3D.NET - 3D platform and visual development environment built upon Microsoft .NET 2.0 and XNA Framework for developing for PC, Xbox 360, and Windows Mobile devices using C#, Visual Basic, J#, C++.NET, JScript.NET, IronPython, and visual scripting.
Virtools - A 3D engine combined with unique high-level development framework, used for game prototyping and rapid developments. Available for Windows, Macintosh, Xbox, PSP
White Engine - Square-Enix's proprietary seventh generation game engine to be used for their PS3 projects.

Windows Mobile based devices
GledPlay - A complete SDK to develop games for mobile devices.

PSP
WGAF - The game engine developed by Guild Software which powers their MMORPG Vendetta Online
XnGine - One of the first true 3D engines

2 ความคิดเห็น: