GameEngine


Documentation


Wikipedia - List of game engines
http://en.wikipedia.org/wiki/List_of_game_engines

Wikipedia - List of first-person shooter engines
http://en.wikipedia.org/wiki/List_of_first-person_shooter_engines

O-Planning ゲーム制作のちょっといい話 - ゲームエンジン・目次
http://o-planning.sblo.jp/article/33857001.html

Overview

Documentation Application Source Engine Source
Nel X X X


Nel


Ryzom Core Development Site
http://dev.ryzom.com/projects/ryzom/wiki

ゲーム製作日誌: MMORPG
http://pub.ne.jp/ozikun/?cat_id=50447
  • NelのサンプルプログラムSnowBall2の動作確認を行っている

  • ビルドで行き詰っている


Build

ドキュメントは大きく二つ存在する。
A. Ryzom Core
  • Ryzomのディベロッパー用のドキュメント
  • NeLのビルドも含まれている
  • Ubuntu10.04など比較的新しい環境でのビルド方法が載っている
  • RevisionControlにMercurialを使用している
Building Ryzom Core including NeL with CMake under Windows
http://dev.ryzom.com/projects/ryzom/wiki/BuildForWindowsCmake
Building NeL and Ryzom Client with CMake on GNU/Linux
http://dev.ryzom.com/projects/ryzom/wiki/BuildForLinuxCmake

B. Open NeL
  • Open NeLの公式ドキュメント
  • NeLのDesignやAPI Specificationなどのドキュメントがある
  • 環境構築の情報がメンテされていない
  • Windows環境でビルドする場合、Requirementsに3DStudio MAX SDKが必要。Aではこれは必要なし。
  • RevisionControlにSubversionを使用している
Configuring Required Libraries for Compiling On Windows
http://www.opennel.org/confluence/display/NEL/NeLRequiredLibrariesWindows
Configuring Required Libraries for Compiling On GNU/Linux
http://www.opennel.org/confluence/display/NEL/NeLRequiredLibrariesLinux
Deploying NeL+NeLNS+Snowballs on Ubuntu 7.10
http://www.opennel.org/confluence/pages/viewpage.action?pageId=5537795

ビルドマニュアルはAを参照しながら足りない情報をBで補完する

Windows

1. Downloading & Installing prerequisites
以下のパッケージをマニュアル通りにダウンロード&インストールする
1. Microsoft Visual C++ 2008 Express
2. Microsoft DirectX SDK
3. Tortoise Hg
4. CMake
5. 7-Zip
6. External_stlport.7z
7. external.7z
DirectX SDKはマニュアルのリンク通りに June 2010 のバージョンをインストールする。

2. Deploy source
TortoiseHgを使用しソースをcloneする
Source path: http://ryzom.hg.sourceforge.net:8000/hgroot/ryzom/ryzom
External_stlport.7zとexternal.7zを解凍し次のように配置する
+-- ryzom
    +-- code
    +-- external_stlport
    +-- external

3. Compiling
You will need to set FINAL_VERSION to OFF to build the client and add PatchWanted = 0; in client.cfg or you would receive an error.
クライアントをcmakeするとき-DFINAL_VERSION=OFFを付加する。
http://dev.ryzom.com/projects/ryzom/wiki/CMakeOptions

code\ryzom\client\client.cfg に"PatchWanted = 0;"を追加
RootConfigFilename   = "client_default.cfg";
PatchWanted = 0;
Visual Studio command lineからビルドを行う
cd code
md build
cd build
cmake ..
nmake

4. snowballs2 build & test


エラー対処
cl : Command line warning D9024 : unrecognized source file type 'SDKs/Windows/v6.0A/Include /IF:/_work/devel/ryzom/ryzom/code/nel/include /IF:/_work/devel/ryzom/ryzom/external_stlport/include DirectX SDK (June 2010)/Include', object file assumed
cl : Command line warning D9027 : source file 'SDKs/Windows/v6.0A/Include /IF:/_work/devel/ryzom/ryzom/code/nel/include /IF:/_work/devel/ryzom/ryzom/external_stlport/include DirectX SDK (June 2010)/Include' ignored
cl : Command line warning D9030 : '/Yc' is incompatible with multiprocessing; ignoring /MP switch
stdmisc.cpp
f:\_work\devel\ryzom\ryzom\code\nel\src\misc\stdmisc.h(20) : fatal error C1083: Cannot open include file: 'nel/misc/types_nl.h': No such file or directory
nel/misc/types_nl.hは存在する。これはwarningの内容のせいでincludeパスが通っていない。

nmakeのビルドログ出力
nmake /D /P /X - > nmake.log
DirectXのインクルードパスの指定がおかしなことになっている。
/I"F:/_work/devel/ryzom/ryzom/external_stlport/include" DirectX SDK (June 2010)/Include"
cmakeで生成されたMakefileに問題がある。正しい設定は以下である。
/I"F:/_work/devel/ryzom/ryzom/external_stlport/include" /I"F:/Program Files/Microsoft DirectX SDK (June 2010)/Include"

該当のcmakeファイル(code/nel/src/misc/CMakeLists.txt)では次のように記述してある。
# For DirectInput (di_event_emitter)
IF(WIN32)
  INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
  TARGET_LINK_LIBRARIES(nelmisc ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY})
ENDIF(WIN32)
変数 DXSDK_INCLUDE_DIR は code/CMakeModules/FindDirectXSDK.cmake で設定される。
IF(DXSDK_DIR)
  SET(DXSDK_INCLUDE_DIR "${DXSDK_DIR}/Include")
DXSDK_DIRは環境変数で設定されている。
set
DXSDK_DIR=F:\Program Files\Microsoft DirectX SDK (June 2010)\
Makefile生成するための中間生成ファイルでは期待通りの出力が得られている。
nel\src\3d\driver\opengl\CMakeFiles\CMakeDirectoryInformation.cmake(16): "F:/Program Files/Microsoft DirectX SDK (June 2010)/Include"
nel\src\misc\CMakeFiles\CMakeDirectoryInformation.cmake(16): "F:/Program Files/Microsoft DirectX SDK (June 2010)/Include"
しかし、生成されるmakefileはバグったものが出力されている。
nel\src\3d\driver\opengl\CMakeFiles\pch_Generate_nel_drv_opengl_win.dir\build.make(55):
nel\src\misc\CMakeFiles\pch_Generate_nelmisc.dir\build.make(55):
よって、.cmakeファイルから.makeファイルへの変換時に問題が発生している。

ネットで類似のエラーがまったくないことから環境が原因であり、おそらく.cmakeのSETに文字列長制限orバグの問題だと予想。マニュアルではcドライブ直下にryzomディレクトリを作成している。
substで仮想ドライブを利用してcmakeする。
subst n: F:\_work\devel\ryzom 
しかし、まったく同じエラー発生。よくみるとDirectXより前のWindowsSDKのインクルードパスがそもそもおかしい。

いったん暫定処置で回避する。grep置換で正しいパスに置き換える。
ディレクトリ:code/build
検索するファイル:build.make
" SDKs/Windows/v6.0A/Include"
=> " /I"F:/Program Files/Microsoft SDKs/Windows/v6.0A/Include"
" DirectX SDK (June 2010)/Include"
=> " /I"F:/Program Files/Microsoft DirectX SDK (June 2010)/Include"

Linux

1. Installing Dependencies
sudo apt-get install mercurial libcurl4-openssl-dev libluabind-dev libfreetype6-dev
sudo apt-get install libx11-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev
sudo apt-get install cmake build-essential libpng12-dev libjpeg62-dev rrdtool libmysqlclient15-dev bison libxmu-dev
sudo apt-get install libgl1-mesa-dev
libgl1-mesa-devはnvidiaドライバと競合する可能性があるため一旦抜いてビルドしたがエラー発生。
nvidiaコンポーネントはヘッダ群を持っていないためlibgl1-mesa-devをインストールする。
また、libwww-devをインストールする必要があるが、lucidではパッケージが提供されていないためソースコードからインストールを行う。
Download libwww with Ubuntu patched sources
http://hg.kervala.net/packaging/file/
sudo apt-get install autoconf automake libtool
cd libwww
./autogen.sh
./configure --with-ssl=no --with-zlib --with-expat --with-gnu-ld --enable-shared
make
sudo make install

2. Getting Source
hg clone http://ryzom.hg.sourceforge.net:8000/hgroot/ryzom/ryzom
hg pull && hg update
export RYHOME=/home/coureur/build/ryzom/code

3. Building and installing the NeL and Ryzom
mkdir $RYHOME/build && cd $RYHOME/build
cmake -DWITH_NEL_TESTS=OFF ..
make -j3
sudo cpack -G DEB -D CPACK_PACKAGE_CONTACT="your@mail.address"
sudo dpkg -i nel-0.8.0.deb

4. snowballs2 build & test

Luaの使用箇所

ryzom/client/data/gamedev/interfaces_v3/
ryzom/client/src/lua_ide_dll_nevrax/source/Ide2/
ryzom/client/src/lua_ide_dll_nevrax/
ryzom/common/data_common/r2/
ryzom/common/data_common/r2/unit_test/
ryzom/common/src/game_share/
最終更新:2011年10月20日 06:49
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。