ライブラリ製作スレ Part001
2ちゃんねるでライブラリを製作するスレです。
[理由]
ライブラリやツールを作成に伴う時間を減らせればゲーム産業が盛り上がるかもしれない。
クロスプラットフォーム向けのライブラリを作成することによって利益のでやすい開発を可能にする。
いつまでも何処かの会社で誰かが作ってるだろうなみたいなコードを打たないですむようにする。
その辺は多言語バインディングしているSFMLにやらせて
上位レイヤーをやるんだお
情報系大学とかだとJavaは必須、ゲ製人口的にはC++が多い印象、
C#はunityで今普及中だけどどうなることやら どういうビジョンを持っているのかよく分からん…
SFMLの上位層として作るなら、その上位部分が多言語対応してないと意味無いと思うんだが
もしかしてマルチプラットフォームと混同してる?違ってたらスマソ 俺もよくわからんw
ライブラリでOpenGLラッパーのSFMLをさらにどうにかしたいのなら
つまりはライブラリを作りたいというよりゲームのフレームワークを
作りたいのかな? >>111
そうです。さらにいうと、一般的なフレームワークとエンジン(ツクールみたいな)の間ですね。
ゲームエンジンは基本的に付属のGUIキットで組み立ててゲームを作りますが、
こちらはもう少しソースコードよりになります。
言語はJavaが最有力候補です。jar(zip)にリソース(dll, XMLとか)詰め込んで
コンパクトに配布できるのが良いですね。
少し調査してみます。 言語って、自分が作るのに使う言語の事だったんかい!! C++/DirectX9でライブラリ作ってます。
hello worldを表示するまでの手順をできるだけ簡単にしています。 java slick2Dとか触ってみたり。
外人ライブラリはたいてい日本語入力ができなかったりするな。
Fontもwindows標準ではなくて、再配布可能なフリーフォント同梱とかも重要な要素。
GUIも多少使い方に制限つければ作るのもそう難しくはない。
>>114
古いダイナミックライブラリが動かないのって、
ちゃんと.def定義すれば回避できる?
もしくはスタティックリンクライブラリだと
新しいVisualStudioでてもそのまま使える? >>115
入力はパッド/キーボード/マウスはあるけど、IME?のようなものはまだ実装していないです。
MinGWとVisualStudio 2010 Expresで使えるように作っています。
MinGWがメインだけど、広く使ってもらえるようにVSでも動くようにしています。 さすがにXPのサポートが終わった今となってはDX9はもう捨てて良いんじゃないか?
俺もほんの少し前まではこだわってDX9対応にしてたけど DX9なのはMinGWがDX10以降に対応していないようなので。
MinGWが対応したら、ライブラリで吸収する形で上げたいと思う。 >IME?のようなもの
HTMLでいうテキストフィールド、テキストエリア(複数行)やな
外人のテキストフィールド実装みながら、テキストエリアを実装してみたり
Slickは基盤としてはダメダメやった。なにより既に開発停止なのが痛い SFMLの紹介サイトを見たら、作っているライブラリとポリシーが同じだった。
ちょっとバグが残っているけど、適当なところでアップします。 やっぱり、SFMLの作り良いだろ?
なんならオープンソースだし、
読みながらそっくりなもの作るのも手だと思う。
俺はslick2Dのソース読みながら、
LWJGL(OpenGL)+OpenALのマイライブラリを模索するぜ C++/DirectX9のライブラリをアップしました。
VisualStudio2010Exprress と MinGW でビルドできます。
http://gmdev.xrea.jp/st/up/1002.zip
pass:初出のID チュートリアル的に微妙だな。
C++はabstract classがないぶん、仮想関数を誰が実装すべきなのか
明示できないゆえに、IDEがスタブ作ってくれないところが地味に嫌だったりする Javaの2Dフレームワーク(LWJGLラッパー)
まだウィンドウの初期化とマウスしか実装されてないが、
Slick2Dのソースのおかげでサクサク作れそうだぜ
チュートリアル(1)
http://gesei.sub.jp/kami/src/up0139.txt LWJGLだと、ウィンドウは1つのみの仕様みたい。
ゲームはフルスクリーンとかあるからそれが良いのかもしれんね。
そうなると、EventとかViewはpublic staticにシングルトンで良い気もするけど
一応swingっぽい設計を残そうと思う。 よし、キーボードもできた。ゲームパッドは使わないから
放置して、画像とフォントだな。音もまだいらんだろ。 C++/DirectX9ライブラリのチュートリアル01
http://gmdev.xrea.jp/st/up/1003.txt
四角形を画面に表示する方法です。 ライブラリ更新しました。
http://gmdev.xrea.jp/st/up/1002.zip
>>128
GLUTというのを調べてみたけど、たぶん違う気がする。
前述のSFMLがほとんど同じ考えだと思う。偶然だけど。 こっちはFontSprite実装がわけ分からなくなってきたw
内部実装はいったん手抜きにしよっと 入力処理のチュートリアルを追加しました。
ダウンロード先は129と同じです。 簡単なシューティングのサンプルです。
http://gmdev.xrea.jp/st/up/1003.txt
自機を操作して弾を撃つだけです。 乙乙。
JavaとかC#だとC++の::が恋しくなるなぁ。
C++でいうこれが
Image::Loader* loader = new Image::Loader();
こうなると何か嫌悪感がする
Image.Loader loader = new Image.Loader(); 俺としては、リソースの初期化(ファイルパスとか)と
実際のロードは切り離したいかな
namespace Resouce {
Texture objTest("image/test.png");
Texture objHoge("image/hoge.png");
}
void callback_init(){
// File to Memory Buffer with Thread
objTest.async_prepare_load();
objHoge.async_prepare_load();
objTest.wait();
objHoge.wait();
// Memory Buffer to Texure(VRAM)
objTest.load();
objHoge.load();
} シューティングのサンプルの.exeをアップしました。
http://gmdev.xrea.jp/st/up/1006.zip
>>136
marupekeは凄いと思う。 d3dx9d_42.dllがないため〜例外で終了。release compileじゃないとか? siv3Dはメソッドチェイン多用で、
5年くらい前の流行の影響受けてたんだなと思う
STLではJQueryよりだいぶ前からメソッドチェイン使われてた気がするけど
STL自体が嫌われ者だったからノーカンか >>138
d3dx9d_42.dllを同梱しました。
http://gmdev.xrea.jp/st/up/1008.zip
>>139
siv3Dを見たけど素直に凄いと思った。 oggのコメントが何故か読めないToT
ツクール素材のoggだとループポイント埋め込んであるはずなのだが >>140
マイクロソフトのライセンス確認したか?
>>142 が言っているようにデバックのDLLの再配布は違反のはずだよ。 つーかリテールでもインストーラとセットじゃないとアウトだったよな 140でアップしたものは、皆さんのご指摘のとおりでありました。
当該のものは削除いたしましたが、確認・認識不足によりこのような事をいたし、申し訳ございません。
書き込み規制のため代行からとなりますが、ご迷惑をおかけいたしました関係各位に深くお詫びいたします。 別にどうでもいいよ。
俺はマイクロソフトじゃねーし。
ただ、面倒くさい奴はどこにもいるからな。 まだ正式リリースされていないjava8コンパイラで作ってるが
ラムダ式のつかいどころが全くみつからない OpenALのwave効果音再生もできた。謎のバグはJDK8 RC版のバグで、
JDK7/JRE7で動かしたら問題なかったぜ。 今更だがJava製は使いたくないなw
JREすら入れたくないw 最初はC++でいこうかなと思ったこともあるのだけど、
siv3dと比較されてゴミになるし、言語仕様的に限界があるのね。
特に仮想関数が使いづらいのとダブルディスパッチが自分としてはネックだった。
C#はjavaよりランタイムの問題がマシだが、こっちはunityがいるし、
javaはSEとか情報系大学があつかって人口多い割にはlibgdxとかで
アプリ作ってる人全然いないし、それならDXライブラリに
毛が生えた程度のものでも十分需要あるだろうなという狙いがあるんだ。
>>112 :名前は開発中のものです。:2014/02/04(火) 13:14:51.26 ID:J1FJfMJW
> >>111
> そうです。さらにいうと、一般的なフレームワークとエンジン(ツクールみたいな)の間ですね。
> ゲームエンジンは基本的に付属のGUIキットで組み立ててゲームを作りますが、
> こちらはもう少しソースコードよりになります。
>
> 言語はJavaが最有力候補です。jar(zip)にリソース(dll, XMLとか)詰め込んで
> コンパクトに配布できるのが良いですね。
>
> 少し調査してみます。
おぃ、>>112ID:J1FJfMJW
手前ェは、一族根絶やし肉だるま処刑http://uni.2ch.net/test/read.cgi/entrance2/1369909044/119リスト入りだ。
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
Z2H7FCVQVS Unityはクソだから、ネイティブプラグインを書かないとクソ