轉的:http://egamesir.blog.163.com/blog/static/188096088201191225258163/?suggestedreading&wumii
過癮啊!
Debuggers
Debugging Tools for Windows
http://www.microsoft.com/whdc/devtools/debugging/default.mspx/
源碼控制
TortoiseCVS
http://www.tortoisecvs.org/
CVSGui
http://www.wincvs.org/
CPU效能分析器
在開發進程的最後時刻, 需要最佳化你的代碼和解決瓶頸, 下面的工具可以協助你發現瓶頸, 找出每個函數所佔用的時間和記憶體
記憶體和時間效能分析其
Glowcode
http://www.glowcode.com/
CodeAnalyst
http://developer.amd.com/CPU/CODEANALYST/Pages/default.aspx
DevPartner
http://www.compuware.com/products/devpartner/default.htm
記憶體效能分析器
MemProf
http://www.gnome.org/projects/memprof/
時間效能分析器
gprof
http://www.gnu.org/software/binutils/manual/gprof-2.9.1/html_mono/gprof.html
LTProf
http://www.lw-tech.com/help.php?folder=ltprof&topic=AboutLTProf.htm
GPU效能分析其
NVperfkit (contains NVperfHUD)
http://developer.nvidia.com/object/nvperfkit_home.html
PIX (Performance Investigation for directX)
http://msdn.microsoft.com/library/en-us/directx9_c/directx/directxsdk/tools/performance.asp
ATI plugin for Microsoft's PIX performance analysis tool
http://www.ati.com/developer/atipix/
代碼編寫
SciTE
http://scintilla.sourceforge.net/SciTEDownload.html
免費的源碼編輯組件
Artistic Style
http://sourceforge.net/projects/astyle/
源碼縮排和重設格式工具
工程管理工具
Open Workbench
http://www.openworkbench.org/
MS工程的另一個選擇
Overlord
http://www.phpoverlord.com/
WebCollab
http://webcollab.sourceforge.net/
基於網路的系統工程和工程管理
其他工具
TUT: C++ Unit Test Framework
http://tut-framework.sourceforge.net/
C++的單元測試架構
CppUnit
http://cppunit.sourceforge.net/cppunit-wiki/
C__的單元測試架構
NSIS
http://nsis.sourceforge.net/Main_Page
建立安裝檔案
Inno Setup
http://www.jrsoftware.org/isinfo.php
建立安裝檔案
Ogre的相關庫
應用程式架構
活躍的架構
NeoAxis Engine
http://www.neoaxisgroup.com/
通用的新式3D圖形引擎, 用於3D類比, 可視化和遊戲. 包含許多的編輯器, 如情境, 物理, 材質, 粒子等等.
使用C#用於指令碼.
OGE - Open Game Engine
http://sourceforge.net/projects/oge/
跨平台, 多線程的遊戲引擎
半活躍的架構
The YAKE Engine
http://www.yake.org/
跨平台, 遊戲引擎.
WGE
http://www.wreckedgames.com/forum/
SagaEngine
http://www.sagaengine.com/
多平台的遊戲引擎.
物理
ODE
http://ode.org/
Ogre使用比較廣泛的庫, 可用OgreODE
NovodeX/PhysX
http://www.novodex.com/
非商業用途, 兩個物理封裝 NxOgre和Nogredex
Newton Game Dynamics
http://www.newtondynamics.com/
你只需要知道基本的物理法則實現產生真實的物理行為. OgreNewt庫可以讓Newton物理庫和你的Ogre應用程式成為一體
True Axis Physics SDK
http://www.trueaxis.com/
DynaMo
http://home.iae.nl/users/starcat/dynamo
The Gangsta Wrapper
http://sourceforge.net/projects/gangsta
OPAL
http://opal.sf.net/
開放物理抽象層(Open Physics Abstraction Layer), Ode的高層介面.
Bullet
http://bullet.sf.net/
Artificial intelligence (人工智慧)
現在關於AI引擎應該包含什麼內容還沒有標準化, 但是已有足夠的普通AI問題在遊戲中.
例如路徑尋找, 需要一次又一次的重寫該演算法.
大多數Ogre工程使用自訂構建的AI庫
OpenAI
http://openai.sourceforge.net/
該AI庫的目標是用於OpenGL的圖形程式. 也意味著不能和DirectX無縫地結合.
該AI庫用Java所寫.
FEAR
http://fear.sourceforge.net/index.php
該庫還在完成中, 沒準備即時或遊戲應用程式.
測試和使用該庫需要Quake 2
OpenSteer
http://opensteer.sourceforge.net/
C++庫, 協助創造遊戲和動畫中自主角色的駕駛行為. OpenSteer提供了基於OpenGL的應用程式 OpenSteerDemo,
該Demo顯示了預定的駕駛行為. 通過寫OpenSteerDemo的外掛程式, 可以快速的使用該使用者為原型, 註解, 調試新的駕駛行為.
A* Tactical Pathfinding
http://www.cgf-ai.com/products.html#tacastarexplorer
在"遊戲程式精粹III(Game Programming Gems III book)"中有過描述,
該簡單的方法可以建立戰術路徑添加新的花費給A*花費函數, 這個新的花費會反映到暴露給敵人, 且相互射擊
在 http://robertwrose.com/cg 查看Ogre關於A*路徑尋找的實現
PathLib
http://pathlib.hildebrand.cz/pathlib.html
免費的C++ A*路徑尋找, 快速且健壯. 帶有windows demo, 允許路徑測試和地圖編輯(支援路徑尋找組)
見 http://robertwrose.com/cg 查看Ogre關於A*路徑尋找的實現
Garfixia AI Repository
http://www.dossier-andreas.net/ai/index.html
該網站包含AI技術的開源庫, 用C++編寫. 很棒的材料, 非常寶貴的起點: FSM(有限狀態機器), fuzzy, 學習樹等, 好東西
MicroPather
http://www.grinninglizard.com/MicroPather/
根據網頁介紹:"MicroPather是一個路徑尋找方法和A*解決方案, 無關平台的C++代碼, 可以很輕易的嵌入已存代碼. MicroPather關注視頻遊戲的路徑尋找引擎"
Boost Graph Library
http://boost.org/libs/graph/doc/table_of_contents.html
無關平台, 可以執行A*尋找
FANN
http://leenissen.dk/fann/
無關平台, 頁面介紹:
FANN(Fast Artificial Neural Network Library - 快速人工神經網路程式庫), 免費開源神經網路程式庫
用C實現多層人工神經網路, 支援全串連和稀疏串連網路.
OpenSkyNet
http://openskynet.sourceforge.net/
A*路徑尋找庫, 多個對象可以使用相同的格子, C++
Recast
http://code.google.com/p/recastnavigation/
無關平台, Recast 是 遊戲的美術導航網格構造工具集的狀態.
網路
需要處理網路效能, 容錯, 同時發生控制和安全問題. 大多數Ogre基於自訂網路程式庫.
下列庫對於一些Ogre使用者比較有用.
RakNet
http://freshmeat.net/projects/raknet
網頁介紹:
RakNet是一個網路API, Windows, Linux和Unix的可靠的UDP和高層功能的封裝
它允許在相同的電腦或者LAN或者網際網路任意應用程式聯絡其他應用程式
雖然他可用於任意網路應用程式, 但他可以快速開發線上遊戲和添加多個玩家至單個使用者遊戲.
OpenTNL
http://www.opentnl.org/
頁面介紹:
這個轉矩庫(Torque Network)是一個強壯的, 安全的, 易使用的跨平台C++網路API, 設計於高效能方針和遊戲
Zoidcom
http://www.zoidcom.com/
網頁介紹:
Zoidcom 是一個基於UDP的高層網路程式庫, 在網路連接之上以高效的方式複製遊戲對象和同步他們的狀態.
通過多路傳送對象資訊給位流, 或者取出對象資訊. 可以方式發送多餘的資料
HawkNL
http://www.hawksoft.com/hawknl/
頁面介紹: 面向遊戲的網路API, 底層API. Berkeley/Unix Sockets 和 Winsock的封裝.
其他的特色: sockets組, sockets統計, 高精確計數器, CRC功能, 用宏讀取和寫資料來打包endian轉換. 支援多重網路傳輸
ENet
http://enet.bespin.org/
頁面介紹: 目標是提供一個在UDP上的相對簡單, 單純, 健壯的網路通訊層, 主要特色是提供一個可選的可依賴性, 有次序的傳送包
ZIGE Game Engine:
http://zige.sourceforge.net/
頁面介紹:
可擴充的 用戶端-伺服器遊戲引擎. 除了網路, 還提供其他功能:
日誌, 互動偵錯主控台, 時間控制(用於用戶端幀率和伺服器發包率), 自動從伺服器下載遊戲檔案到用戶端, 等等
從ZIG的角度看, 需要提供圖形渲染器, 聲音引擎, 和輸入處理的擴充.
你可以插入 Allegro, SDL, DirectX, OpenGL 等.
ZIP是依賴HaukNL和Pthreads的跨平台C/C++庫
SDL_net
http://www.libsdl.org/projects/SDL_net/
網頁介紹
SDL_net是一個小且簡單的跨平台網路程式庫, 由SDL支援
OgreSocks
http://sourceforge.net/projects/ogresocks/
OgreSocks 是winsock的封裝類, 面向Ogre開發人員的首要網路程式庫. 可以用最少的代碼統合用戶端和伺服器的socket
聲音
遊戲和模擬程式極大的依賴聲音和音樂提供氛圍
FMOD
http://www.fmod.org/
網頁介紹:
FMOD 支援3D聲音, midi, mods, mp3, ogg vorbis, wma, aiff, 錄音, 阻塞/環繞, cd回放, mmx, 因特流, dsp效果, 聲譜分析
使用者採樣, 同步支援, ASIO, EAX 2&3等等
OpenAL
http://www.openal.org/
網頁介紹: 跨平台的3D聲音API, 適合遊戲應用程式以及其他類型的聲音應用程式.
兩個OGRE封裝為OgreOggSound和OgreAL
BASS
http://www.un4seen.com/bass.html
網頁介紹: BASS是一個用於Windows軟體的聲音庫, 目標是提供最強大和有效工具給開發人員,
可以採樣, 處理流(MP3, MP2, MP1, OGG, WAV, 自產生的流以及其他), MOD音樂(XM, IT, S3M, MOD, MTM, UMX)
MO3音樂(MP3/OGG壓縮MODs), 和錄音功能, 這一切都在小小的DLL裡面, 大小少於100K
Audiere
http://audiere.sourceforge.net/
Audiere 是一個聲音的高層API, 可以播放Ogg Vorbis, MP3, FLAC,未壓縮 WAV, AIFF, MOD, S3M, XM, 和 IT
作為聲音輸出, Audiere支援 DirectSound或Windows的WinMM, Linux的OSS, Cygwin, SGI AL
irrKlang:
http://ambiera.com/irrklang
頁面介紹: 3D和2D跨平台聲音庫, 可播放WAV, MP3, OGG, MOD, XM, IT, S3M 和更多的檔案格式, 可用於C__和所有的.NET語言
cAudio:
http://deathtouchstudios.com/xoops/modules/smartsection/item.php?itemid=3
頁面介紹:
cAudio引擎是OpenAL的C++的封裝, 允許你很輕易的得到聲音和音樂, 並放入你的遊戲中.
OpenAL的問題是其非常難以用在遊戲中. cAudio使用OpenAL控制聲音的所有方面.
Vorbis庫用於解碼和播放.ogg檔案按, Mikmod用於mod,xm,it,和 s3d支援
指令碼
Lua
http://www.lua.org/
可以被Ogre調用的庫, 可以在C++應用程式中調用
網頁介紹:
基於關聯陣列和可擴充的語義, 組合了簡單的過程語義和強大的資料描述. Lua是動態類型, 逐位元組解釋, 自動記憶體管理(記憶體回收)
適合配置, 指令碼, 和快速構造原型. 可通過luabind將Lua程式嵌入Ogre中
luabind
http://www.rasterbar.com/products/luabind.html
LuaPlus
http://luaplus.org/tiki-index.php?page=LuaPlus%20Home%20Page
Lua面向C++的調試工具(visual studio外掛程式), 最佳化
Java
http://java.sun.com/
可通過Ogre擴充ogre4j在Ogre中使用Java
Python
http://www.python.org/
動態類型的, 位元組碼解釋性, 物件導向的語言.
可通過PyOgre使用Python
在Ogre C++應用程式中內嵌Python指令碼
http://www.ogre3d.org/forums/viewtopic.php?t=8131
psyco
http://psyco.sourceforge.net/
Ruby
http://www.ruby-lang.org/en
Squirrel
http://squirrel-lang.org/
Squirrel 是一進階命令/物件導向的程式語言. 設計於一強大的指令碼工具, 使其對應用程式有合適的大小, 記憶體大小, 和即時需求
文法類似C/C++/Java, 也有像 python/lua的動態性質.
API類似Lua
wiki入口
http://www.ogre3d.org/wiki/index.php/Squirrel_Scripting_Language
AngelScript
http://www.angelcode.com/angelscript/
進階程式語言, 文法類似C/C++
GameMonkey
http://www.somedude.net/gamemonkey/
進階內嵌指令碼語言, 類似Lua和AngleScript
Falcon
http://www.falconpl.org/
提供了六個完整的程式樣本: 過程式, 物件導向, 面向原型, 功能性的, 表格式的, 面向訊息. 多線程, 且類似於Lua的基本文法
輸入
OIS
http://sourceforge.net/projects/wgois
OIS是輸入管理的庫, 非常便於使用, 可用於多平台
Wiki
http://www.ogre3d.org/wiki/index.php/Using_OIS
SDL
http://www.libsdl.org/
頁面介紹:
Simple DirectMedia Layer的縮寫, 是一個跨平台的多媒體庫, 設計用於底層訪問聲音, 鍵盤, 滑鼠, 搖杆, 通過OpenGL訪問3D硬體, 2D顯卡緩衝
如何在Ogre中使用SDL
http://www.ogre3d.org/wiki/index.php/Using_SDL_Input
LibGII
http://www.ggi-project.org/packages/libgii.html
頁面介紹:
LibGII 面向圖形的輸入, 目標易用
如何在Ogre中使用
http://www.ogre3d.org/wiki/index.php/GII
OpenInput
http://home.gna.org/openinput
跨平台, 易用和輕量的輸入處理庫, 用C語言所寫
GUI
Berkelium
http://www.ogre3d.org/forums/viewtopic.php?f=11&t=54484
用於Chrome瀏覽器的網頁渲染器/封裝
MyGui
http://www.ogre3d.org/addonforums/viewforum.php?f=17&sid=2249e1917f815d6a9b1f397dd08b072c
好且完整的GUI系統
Navi
http://princeofcode.com/forums
OGRE的網頁渲染器, 支援flash, 使用Chromium網路工具包渲染引擎.
使用已存編輯器製作gui
Hikari
http://princeofcode.com/forums
用於OGRE的flash播放器
Cegui Layout Editor
http://www.cegui.org.uk/wiki/index.php/CELayoutEditor_Downloads_0.6.2
GUI編輯器, 用於CEGUI
Open GUI
http://opengui.rightbracket.com/index.php
在3D應用程式中易用且易擴充的GUI架構
其他工具
Libnoise
http://libnoise