Turn: http://egamesir.blog.163.com/blog/static/188096088201191225258163? Suggestedreading & wumii
Fun!
Debuggers
Debugging Tools for Windows
Http://www.microsoft.com/whdc/devtools/debugging/default.mspx/
Source code control
TortoiseCVS
Http://www.tortoisecvs.org/
CVSGui
Http://www.wincvs.org/
CPU Performance Analyzer
At the end of the development process, you need to optimize your code and solve the bottleneck. the following tools can help you find the bottleneck and find out the time and memory occupied by each function.
Memory and Time Performance Analysis
Glowcode
Http://www.glowcode.com/
CodeAnalyst
Http://developer.amd.com/CPU/CODEANALYST/Pages/default.aspx
DevPartner
Http://www.compuware.com/products/devpartner/default.htm
Memory Performance Analyzer
MemProf
Http://www.gnome.org/projects/memprof/
Time Performance Analyzer
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 Performance Analysis
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/
Code Writing
SciTE
Http://scintilla.sourceforge.net/SciTEDownload.html
Free source code editing component
Artistic Style
Http://sourceforge.net/projects/astyle/
Source code indentation and format resetting tools
Engineering Management Tools
Open Workbench
Http://www.openworkbench.org/
Another choice for MS Engineering
Overlord
Http://www.phpoverlord.com/
WebCollab
Http://webcollab.sourceforge.net/
Network-based system engineering and engineering management
Other tools
TUT: C ++ Unit Test Framework
Http://tut-framework.sourceforge.net/
Unit test framework of C ++
CppUnit
Http://cppunit.sourceforge.net/cppunit-wiki/
Unit test framework of C _
NSIS
Http://nsis.sourceforge.net/Main_Page
Create an installation file
Inno Setup
Http://www.jrsoftware.org/isinfo.php
Create an installation file
Ogre-related libraries
Application Framework
Active framework
NeoAxis Engine
Http://www.neoaxisgroup.com/
A general new 3D graphics engine for 3D simulation, visualization, and gaming. It contains many editors, such as scenes, physics, materials, particles, and so on.
Use C # For script.
OGE-Open Game Engine
Http://sourceforge.net/projects/oge/
Cross-platform, multi-thread Game Engine
Semi-active framework
The YAKE Engine
Http://www.yake.org/
Cross-platform, game engine.
WGE
Http://www.wreckedgames.com/forum/
SagaEngine
Http://www.sagaengine.com/
Multi-Platform Game Engine.
Physical
ODE
Http://ode.org/
Ogre is widely used and can be used in OgreODE
NovodeX/PhysX
Http://www.novodex.com/
Non-commercial use, two physical packages NxOgre and Nogredex
Newton Game Dynamics
Http://www.newtondynamics.com/
You only need to know the basic physical rules to generate real physical behaviors. The OgreNewt library can integrate the Newton physical library with your Ogre application.
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 action Layer (Ode.
Bullet
Http://bullet.sf.net/
Artificial intelligence (Artificial intelligence)
There is no standardization of what the AI engine should contain, but there are enough common AI problems in the game.
For example, you need to rewrite the algorithm again and again for path search.
Most Ogre projects use custom AI Libraries
OpenAI
Http://openai.sourceforge.net/
The goal of this AI library is to use graphics programs for OpenGL. It also means that it cannot be seamlessly integrated with DirectX.
This AI library is written in Java.
FEAR
Http://fear.sourceforge.net/index.php
The library is still in progress and no real-time or game applications are prepared.
Quake 2 is required to test and use this library
OpenSteer
Http://opensteer.sourceforge.net/
C ++ library helps to create autonomous role driving behavior in games and animations. OpenSteer provides OpenGL-based application OpenSteerDemo,
This Demo shows the predefined driving behavior. By writing the OpenSteerDemo plug-in, you can quickly use this user as a prototype, annotation, and debug new driving behavior.
A * Tactical Pathfinding
Http://www.cgf-ai.com/products.html#tacastarexplorer
Described in "Game Programming Gems III book,
This simple method allows you to create tactical paths and add A new cost function to the * cost function. This new cost will be reflected in the exposure to the enemy and shot at each other.
View Ogre implementation of a * path lookup in http://robertwrose.com/cg
PathLib
Http://pathlib.hildebrand.cz/pathlib.html
Free C ++ A * path search, fast and robust. With windows demo, path test and map editing are allowed (path search group is supported)
See the http://robertwrose.com/cg to view the implementation of Ogre on A * path Lookup
Garfixia AI Repository
Http://www.dossier-andreas.net/ai/index.html
This site contains an open-source library of AI technology, which is written in C ++. Great materials and a very valuable starting point: FSM (Finite State Machine), fuzzy, learning tree, etc.
MicroPather
Http://www.grinninglizard.com/MicroPather/
According to the webpage Introduction: "MicroPather is A path search method and A * solution. It has nothing to do with the C ++ code of the platform and can easily embed the stored code. microPather focuses on the path search engine of video games"
Boost Graph Library
Http://boost.org/libs/graph/doc/table_of_contents.html
Independent platform, you can perform A * search
FANN
Http://leenissen.dk/fann/
Independent platform, page introduction:
FANN (Fast Artificial Neural Network Library-quick Artificial Neural Network Library), Free Open Source Neural Network Library
Multi-layer artificial neural networks are implemented using C and support full and sparse connection networks.
OpenSkyNet
Http://openskynet.sourceforge.net/
A * path lookup library. Multiple objects can use the same grid, C ++
Recast
Http://code.google.com/p/recastnavigation/
Unrelated platform. Recast is the status of the game's art navigation grid construction tool set.
Network
You need to handle network performance, fault tolerance, and control and security issues at the same time. Most Ogre instances are based on custom network libraries.
The following libraries are useful for some Ogre users.
RakNet
Http://freshmeat.net/projects/raknet
Webpage introduction:
RakNet is a network API that packs reliable UDP and high-level functions for Windows, Linux, and Unix.
It allows any application on the same computer, LAN, or Internet to contact other applications.
Although he can be used in any network application, he can quickly develop online games and add multiple players to a single user game.
OpenTNL
Http://www.opentnl.org/
Page Introduction:
This Torque Network is a strong, secure, and easy-to-use cross-platform C ++ Network API designed for high-performance policies and games.
Zoidcom
Http://www.zoidcom.com/
Webpage introduction:
Zoidcom is a UDP-based high-level network library that efficiently copies game objects and synchronizes their statuses over network connections.
Transmit object information to bitstream or retrieve object information. You can send redundant data.
HawkNL
Http://www.hawksoft.com/hawknl/
Page Introduction: Network API for games, underlying API. Packaging of Berkeley/Unix Sockets and Winsock.
Other features: sockets group, sockets statistics, high-precision counters, and CRC functions. endian conversion is packaged with macro read and write data. Multiple network transmission is supported.
ENet
Http://enet.bespin.org/
Page Introduction: the goal is to provide a relatively simple, simple, and robust network communication layer on UDP. The main feature is to provide an optional and ordered transfer packet.
ZIGE Game Engine:
Http://zige.sourceforge.net/
Page Introduction:
Scalable client-server game engine. In addition to the network, it also provides other features:
Log, interactive debugging console, time control (for client Frame Rate and server packet sending rate), automatic download of game files from server to client, etc.
From the ZIG point of view, we need to provide graphic Renderer, sound engine, and input processing extensions.
You can insert Allegro, SDL, DirectX, OpenGL, etc.
ZIP is a cross-platform C/C ++ library dependent on HaukNL and Pthreads.
SDL_net
Http://www.libsdl.org/projects/SDL_net/
Webpage Introduction
SDL_net is a small and simple cross-platform network library supported by SDL.
OgreSocks
Http://sourceforge.net/projects/ogresocks/
OgreSocks is the packaging class of winsock. It is the primary network library for Ogre developers. It can integrate the socket of the client and server with the least amount of code.
Sound
Games and simulation programs rely heavily on sound and music to provide an atmosphere
FMOD
Http://www.fmod.org/
Webpage introduction:
FMOD supports 3D sound, midi, Mod, mp3, ogg vorbis, wma, aiff, recording, blocking/surround, cd playback, mmx, feature stream, dsp effect, and spectral analysis.
User sampling, synchronization support, ASIO, EAX 2 & 3, etc.
OpenAL
Http://www.openal.org/
Webpage Introduction: the cross-platform 3D sound API is suitable for game applications and other types of sound applications.
The two OGRE packages are OgreOggSound and OgreAL.
BASS
Http://www.un4seen.com/bass.html
Webpage Introduction: BASS is a sound library for Windows software. It aims to provide developers with the most powerful and effective tools,
Stream sampling and processing (MP3, MP2, MP1, OGG, WAV, self-generated stream and others), MOD music (XM, IT, S3M, MOD, MTM, UMX)
MO3 music (MP3/OGG compression mod), and recording functions, all in a small DLL, the size is less than 100 K
Audiere
Http://audiere.sourceforge.net/
Audiere is a sound high-level API that can play Ogg Vorbis, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT
As sound output, Audiere supports DirectSound or Windows WinMM, Linux OSS, Cygwin, SGI AL
IrrKlang:
Http://ambiera.com/irrklang
Page Introduction: 3D and 2D cross-platform audio and video libraries, which can play WAV, MP3, OGG, MOD, XM, IT, S3M and more file formats. They can be used in C _ and all. NET Language
CAudio:
Http://deathtouchstudios.com/xoops/modules/smartsection/item.php? Itemid = 3
Page Introduction:
The cAudio engine is packaged with OpenAL C ++, allowing you to easily get sound and music and put it into your game.
The problem with OpenAL is that it is very difficult to use in games. cAudio uses OpenAL to control all aspects of sound.
Vorbis is used for decoding and file .ogg. Mikmod is used for mod, xm, it, and s3d support.
Script
Lua
Http://www.lua.org/
Databases that can be called by Ogre can be called in C ++ applications.
Webpage introduction:
Based on the associated array and extensible semantics, it combines simple process semantics and powerful data description. Lua is a dynamic type, which is interpreted by byte and automatically manages memory (garbage collection)
Suitable for configuration, script, and quick prototyping. You can use luabind to embed the Lua program into Ogre.
Luabind
Http://www.rasterbar.com/products/luabind.html
LuaPlus
Http://luaplus.org/tiki-index.php? Page = LuaPlus % 20 Home % 20 Page
Lua debugging tool for C ++ (visual studio plug-in), optimized
Java
Http://java.sun.com/
You can use Ogre to extend ogre4j to use Java in Ogre.
Python
Http://www.python.org/
Dynamic type, bytecode explanatory, object-oriented language.
Python can be used through PyOgre
Embedded Python scripts in Ogre C ++ applications
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 is a high-level command/object-oriented programming language. It is designed with a powerful scripting tool that gives it an appropriate size, memory size, and real-time demand for applications.
The syntax is similar to C/C ++/Java, and also has the dynamic nature of python/lua.
The API is similar to Lua.
Wiki Portal
Http://www.ogre3d.org/wiki/index.php/Squirrel_Scripting_Language
AngelScript
Http://www.angelcode.com/angelscript/
Advanced Programming Language, similar to C/C ++ syntax
GameMonkey
Http://www.somedude.net/gamemonkey/
Advanced embedded scripting language, similar to Lua and AngleScript
Falcon
Http://www.falconpl.org/
Six complete program examples are provided: Procedural, object-oriented, prototype-oriented, functional, table-oriented, message-oriented, multi-thread, and similar to the basic syntax of Lua.
Input
OIS
Http://sourceforge.net/projects/wgois
OIS is an input management library, which is very easy to use and can be used on multiple platforms.
Wiki
Http://www.ogre3d.org/wiki/index.php/Using_OIS
SDL
Http://www.libsdl.org/
Page Introduction:
Simple DirectMedia Layer is a cross-platform multi-media library designed for accessing the underlying sound, keyboard, mouse, joystick, 3D hardware through OpenGL, and 2D video cache.
How to Use SDL in Ogre
Http://www.ogre3d.org/wiki/index.php/Using_SDL_Input
LibGII
Http://www.ggi-project.org/packages/libgii.html
Page Introduction:
LibGII graphic-oriented input, easy to use
How to use it in Ogre
Http://www.ogre3d.org/wiki/index.php/GII
OpenInput
Http://home.gna.org/openinput
Cross-platform, easy-to-use and lightweight input processing library, written in C Language
GUI
Berkelium
Http://www.ogre3d.org/forums/viewtopic.php? F = 11 & t = 54484
Webpage Renderer/packaging for Chrome
MyGui
Http://www.ogre3d.org/addonforums/viewforum.php? F = 17 & sid = 2249e1917f815d6a9b1f1_dd08b072c
Good and complete GUI system
Navi
Http://princeofcode.com/forums
The webpage Renderer of OGRE supports flash and uses the Chromium Network toolkit rendering engine.
Use the saved editor to create a gui
Hikari
Http://princeofcode.com/forums
Flash Player for OGRE
Cegui Layout Editor
Http://www.cegui.org.uk/wiki/index.php/CELayoutEditor_Downloads_0.6.2
GUI editor for CEGUI
Open GUI
Http://opengui.rightbracket.com/index.php
Easy-to-use and scalable GUI framework in 3D applications
Other tools
Libnoise
Http: // libnoise