ページ 1 / 1
【雑談】ライブラリについて
Posted: 2011年1月17日(月) 14:42
by ああ
どうも初めましての方は初めましてNNKです。
ライブラリについて雑談なんですが、今まで基本的な技術を学ぶって意味でライブラリを使わずC++とDirectXでゲーム製作をしていたんですが、
将来的には自分で作ったライブラリというよりは、スクリプトエンジンで素材さえあればある程度ゲーム開発が出来る環境を作ろうとしたのですが、
プログラムを勉強して間もない自分には規模が大きいですし、実際その作品で就活をする訳ではなく、
ただゲームを作りたいってのが根底にある場合、ライブラリを使った方が良いのでは最近思って、
再開発を防ぐというか、何よりリファレンスした方が開発効率も上がると思ったからです。
この考え方については、自分でしっかりコードが組めた方が良いからライブラリ使わずに勉強した方が良いとかいろいろあるかも知れませんが、
本題はどのようなライブラリがあって、ゲーム開発においてこのライブラリを使った方が良いよってのを聞いてみたいと思いトピックを立ち上げました。
DirectXでのゲーム製作においてライブラリと言えば、DXライブラリは有名だと思いますが、他にもboostなど便利なライブラリが沢山あると思います。
今例に挙げたもの含めて、自分が使ってるものや、知ってるものの機能や実際に使ってみての感想などを聞けたら、
今後製作において自分だけではなく、いろんな方の参考になるのでないかと思います。
ちなみに自分はDXライブラリとboostを使おうと思っております。
Re: 【雑談】ライブラリについて
Posted: 2011年1月17日(月) 16:14
by softya(ソフト屋)
整理のために分類して書きますね。Windows限定です。
思いつきなので抜けもあります。
[API]
Win32/64API ‥‥ OSを使うためのAPI
DirectX ‥‥ ゲームのためのマルチメディアAPI
OpenGL ‥‥ 3D/2DグラフィックスのためのAPI。場合によってはDirectXより先進性あり。
[ライブラリ] 実際ゲーム向けではないライブラリは多数ありすぎるので省略してます。
boost ‥‥ C++の為のオープンソースライブラリ。様々先進性のある標準化を目指したライブラリ。Spiritの様に、やり過ぎなのもあるが(私の評価)。
http://ja.wikipedia.org/wiki/Boost
OpenCL ‥‥ 引用:マルチコアCPUやGPU、Cellプロセッサ、DSPなどによる異種混在の計算資源を利用した並列コンピューティングのためのフレームワーク
http://ja.wikipedia.org/wiki/OpenCL
[物理演算エンジン]
Box2D ‥‥
http://www.box2d.org/
ODE ‥‥ Open Dynamics Engine
http://ja.wikipedia.org/wiki/Open_Dynamics_Engine
Bullet ‥‥
http://ja.wikipedia.org/wiki/Bullet
DynaMo ‥‥
Dynamic Motion library http://home.iae. ... at/dynamo/
[ゲーム向けのライブラリ]
DXライブラリ ‥‥ 日本製。主に2D向けのDirectXラッパー。シェーダ未対応。
http://homepage2.nifty.com/natupaji/DxLib/
Selene ‥‥ 日本製。3D向けのDirectXラッパー。シェーダに対応。
http://selene-lue.halfmoon.jp/
Easy3D ‥‥ 日本製。HSP並びにC/C++用。シェーダに対応。
http://www5d.biglobe.ne.jp/~ochikko/
Irrlicht ‥‥ 海外製。
http://irrlicht.sourceforge.net/
OGRE ‥‥ 海外製。
http://www.ogre3d.org/
[おまけ]
unreal development kit ‥‥ unreal engine3の無料版。非商用利用や学究利用は一律無料。スクリプト記述やエンジンとしての利用が可能。
http://wikiwiki.jp/udk/
参考:「link集/ライブラリ系/C++」
http://www.nbrains.net/php/pukiwiki/ind ... %2FC%2B%2B
Re: 【雑談】ライブラリについて
Posted: 2011年1月17日(月) 22:29
by dic
吉里吉里というADV向けのスクリプトを勉強して
おもしろそうなところのみ自作ライブラリで作ってます
結構 C/C++と相性がいいので助かってます
Re: 【雑談】ライブラリについて
Posted: 2011年1月18日(火) 02:01
by ああ
>>softyaさん
書き込みありがとうございます。
こんなにあるとは知らなかったです。
将来的に3Dとシェーダーを使ったゲームを製作する場合は、初めからSeleneを使った方が良いのかもしれませんね。
これは凄く個人的は話しですが、次回作はsoftyaさんのRPG講座を本にしっかりした、ゲーム設計を学ぼうかなと思っていました。
でもSeleneを使ったとしても、恐らくDirectXの初期化や描画周りが困るぐらいだと思うので、
講座内のDXライブラリの関数をSeleneに置き換えれば問題ないと思うので、環境が整い次第講座をやろうと思います。
あとは物理演算エンジンとか気になりますね。
unreal development kitも魅力的ですが、非商用利用となるとどんな感じで出来てるのか見る程度で終わってしまいそうですね。
Re: 【雑談】ライブラリについて
Posted: 2011年1月18日(火) 02:14
by ああ
>>dicさん
吉里吉里はADVゲームを作る気がなかったので、全くチェックしてなかったんですが、
オープンソースだったのですね。
一度ソフトをダウンロードして何が出来るのか調べて、後にソースを見て勉強してするのは良いですね。
しかもC/C++と相性となると助かりますね。
自分も活用しようと思います。
Re: 【雑談】ライブラリについて
Posted: 2011年1月18日(火) 12:46
by softya(ソフト屋)
NNK さんが書きました:>>softyaさん
これは凄く個人的は話しですが、次回作はsoftyaさんのRPG講座を本にしっかりした、ゲーム設計を学ぼうかなと思っていました。
でもSeleneを使ったとしても、恐らくDirectXの初期化や描画周りが困るぐらいだと思うので、
講座内のDXライブラリの関数をSeleneに置き換えれば問題ないと思うので、環境が整い次第講座をやろうと思います。
シッカリ設計しているかは自信がありませんが参考になれば幸いです。
SELENEが気になっているのは、利用者がDXライブラリほど多くないって事ですね。
Easy3Dの場合、HSPの利用者も多いので利用者数ではEasy3Dの方が多いかもしれません。
って事で試してみてから使うことをお勧めします。
Irrlicht(イルリヒト)の日本人利用者のサイトもあります。
http://lesson.ifdef.jp/
世界的には、一番利用者が多い?
あと3Dゲームエンジンで抜けていたので追加。
「Crystal Space - Wikipedia」
http://ja.wikipedia.org/wiki/Crystal_Space
Re: 【雑談】ライブラリについて
Posted: 2011年1月18日(火) 17:13
by ああ
Easy3DはHSPだと思って素通りしてたんですが、C/C++用があるんですね。
確かにEasy3D利用者が多いので、Seleneよりは入り易いかも知れませんね。
Irrlichtは初めて知りました。
見てみると凄く魅力的な要素が沢山ありますね。
ただ日本語で書かれているサイトが少ないので、四苦八苦しそうなのが怖いですね。
まだ詳しくは解りませんが、簡単でしかも処理の軽い3Dが実現出来るようなので、いろいろと情報を調べてみようと思います。
ゲームエンジンって意外と沢山あるんですね。
Re: 【雑談】ライブラリについて
Posted: 2011年1月19日(水) 11:34
by ああ
ライブラリではないですが、Unityというゲームエンジンも凄いみたいですね。
今無料版をダウンロードしたので、どんな感じなのか見てみようと思います。
元々ブラウザやiPhone向けにゲーム開発したかったので、個人的にはピッタリかも知れませんが、
ゲームエンジンを利用したら、softyaさんのRPG講座が出来なくってしまいそうですが、
応用出来そうなら、参考にしてみます。
Re: 【雑談】ライブラリについて
Posted: 2011年1月19日(水) 12:26
by softya(ソフト屋)
unityってWindows版以外は有料じゃありませんでした?
違っているのなら良いのですが。
ちなみにProだとC/C++で組めるみたいです。
[追記]
私も興味本位でインストールしてみました。
MonoDevelopがインストールされますので、やはりC#で作ることに成るみたいです。
あとで試してみます。
Re: 【雑談】ライブラリについて
Posted: 2011年1月19日(水) 17:22
by ああ
今は無料版もあるみたいですね。
確かにC#でしたね。
新しく言語覚えるのは、ややめんどくさいと思ったのですが、Unityだけでも十分簡単なゲームなら作れそうですね。
ただ難しいゲームとなると、C#が使えないと難しいかも知れません。
日本語で解説してるサイトが豊富なので、インターフェイスが英語でも慣れれば使えそうですね。
http://www.disneygames.jp/sports/3049/
このサイトのゲームがUnity製作だと思うと素材さえあれば、高品質で簡単な3Dゲームが作れるのが改めて解りますね。
ゲームエンジンに頼らずに、2Dや3D、アクションやRPGなどを作るなら、ライブラリを頼りにC/C++で作る方が、自分に合いそうなので、
個人的な意見ですが、日本製でユーザーも多いEasy3D が、一番入り易そうですね。
Re: 【雑談】ライブラリについて
Posted: 2011年1月19日(水) 17:40
by softya(ソフト屋)
とりあえずキャラクタを地面に立たせるのはEasy3Dが専用関数を用意しているので一番楽っては聞いたことがあります。
インバースキネマティクスも実装しているらしいです。
いや、Easy3D使ったことがないんですけどね。
Re: 【雑談】ライブラリについて
Posted: 2011年1月20日(木) 08:54
by ああ
おぉ、それは便利ですね。
今日明日中にはどんな感じか見て見ます。
使った事ないのに、流石知識が豊富ですね。
Re: 【雑談】ライブラリについて
Posted: 2011年1月20日(木) 09:50
by ああ
まだちゃんと調べてませんが、Easy3Dという名だけ合って3Dに特化しているけど、2Dの描画も出来るんですかね?
ゲーム製作するならインターフェイス表示させる為にあるとは思うんですが・・・、どうなんだろう。
Re: 【雑談】ライブラリについて
Posted: 2011年1月20日(木) 10:25
by softya(ソフト屋)
NNK さんが書きました:まだちゃんと調べてませんが、Easy3Dという名だけ合って3Dに特化しているけど、2Dの描画も出来るんですかね?
ゲーム製作するならインターフェイス表示させる為にあるとは思うんですが・・・、どうなんだろう。
関数リファレンスにスプライト系の命令があるので大丈夫だと思いますよ。
http://www5d.biglobe.ne.jp/~ochikko/e3d_func.htm
Re: 【雑談】ライブラリについて
Posted: 2011年1月20日(木) 11:06
by ああ
流石softyaさん調べるのが早いですね。
見てみたら一通りの機能が揃っているみたいなので、安心しました。
ただ軽く見た感じですが、流石にアニメーション機能はなさそうだったので、これは自作を流用すれば良さそうですね。