- 1 名前:名前は開発中のものです。 [01/12/13 14:15 ID:GMPeVutx]
- ゲームに利用できそうな各種のライブラリ(フレームワーク含む)を紹介してみるスレです。
できれば紹介文もつけてね。
- 401 名前:名前は開発中のものです。 mailto:sage [04/08/24 23:14 ID:y/UR61e7]
- DXはソース公開されてるしね。
- 402 名前:名前は開発中のものです。 mailto:sage [04/08/25 11:59 ID:7zegxxrd]
- ソースの公開されてないライブラリって
国産であったっけ?
- 403 名前:名前は開発中のものです。 mailto:sage [04/08/25 14:58 ID:6SwQIIVq]
- Allegro使ってみた。
インスコはそんなに時間かからない。使用感はmainの最後に打つおまじないがちょっと違和感ある。 日本語の紹介サイトがなかなか無い。けど、付属の豊富なサンプルで大体の仕組みは理解できる。 速度的にも問題無いと思う。けど、大域変数が比較的よくある単語が使われてたり。(screenとか) スクリーンデバイス列挙の時、指定したモードで現在のディスプレイのリフレッシュレート+1になってしまう場合もあるな
- 404 名前:名前は開発中のものです。 mailto:sage [04/08/26 02:18 ID:9na/Y5Rl]
- 自分もAllegroを検討中。
alfontで日本語の表示も問題ないことを確認した。 AllegroOGGでogg再生もできた。 共にwin98、msys/mingw/gcc3.2.3下で。 戦略SLGでも作ろうかな。 オールインワンというだけあってallegroにはGUIウィジェットらしきものが用意されているが 見てくれが悪いのでそこら辺は自作するしかないのか。 SDLでいうParaGUIやwgui、SDL_guiといった位置づけでNAS GUI、MaskinGというのを見つけた。 nasgui.sourceforge.net/programs.htm ferisrv5.uni-mb.si/~ma0747/
- 405 名前:名前は開発中のものです。 mailto:sage [04/08/26 22:32 ID:OvkZbK/N]
- ==、,-、 、ヽ、 \> ,, '''\ _
メ゙ヽ、\ ̄""" ̄--‐ 、 \ /ゝ、\ =─‐\\‐ /─'''''ニ二\''' |レレゝゝ、\  ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、 / ̄ ̄ ̄ ̄ ̄ <<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\ | さあ願いを言え くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、 < どんな願いも一つだけ くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ, | 叶えてやろう… く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、 \_____ 二─二二彡彡、゙、三三二==くメゝ/ ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ-、,,,,,,_ ‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/:: \''-、メメゝゝゝ_ゝ 、 ,,、ヽヽ 、 ,,,,- ゙彡//ヾ、三二= くゝ/:::.... \>∠レ-,-‐ニ二メヽ''ヽ ノ ゙ヽ、,,,-‐//_///,,、゙、三二= ゙、 ""''' ヽ>//レレヽ,,___ / -,,,,,,-‐'''"""/////,,ヽ ゙、三二─ ゙ヽ. //-ヘヘ,、 レレレレノ ''" ,l|"////ノ,、\彡'''''‐-ニ,、 ::::::::::,,,,,,,,// ゙ヽフ/|/| レ' /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,-'"、─-,,,,,_  ̄"'ノ /メ / レ/,''"へへべ''─---- ̄-メヽ"ゝゞゝヽ、 >---''" /ヘヘ、|//ヘヘヘヘヘヘヘヘ,,-イ ̄ | ̄"'''-ニニニ二-''" /ヘヘ∧/./フヘヘヘヘヘヘヘ,/イ / / / ゙ノ\、\ /ゝゝ| / /メヘヘヘヘヘヘ/'" | / / / / \\ /ゝ /|‐/ /フヘへヘヘヘ/∧ /-'"-'''"__,,-''" / /、\ //|_| /./へへへヘヘ、// |/ \_,,,,-‐'" / ゙、.゙、 '"/ヽ"/'"へへヘヘヘヘ// ノ \ ,,,,-‐'" ゙、゙、 .ノ //へへヘヘヘヘ//ヽ ./ ゙、''"" ,,/、゙、 /-"へへヘヘヘヘヘ// |‐" \_,,,,,,,,-‐'''" | | へへへへヘヘヘヘ//ヽ ノ ゙, | |
- 406 名前:名前は開発中のものです。 mailto:sage [04/08/27 07:36 ID:w9BRJ8EC]
- kaere
- 407 名前:名前は開発中のものです。 mailto:sage [04/08/27 08:09 ID:Zr4JGJ+L]
- AllegroはVC++で導入する方がgcc系で導入するより敷居が高いという、
わりと珍しいライブラリよね。 予備知識なしでソースだけ落としてきてさあ構築するぞと思うと、 djgppやらgnumakeから要求されて面食らうし。 (コンパイル済ライブラリを別途落としてくれば問題なす) 最初にHello Worldをコンパイルするまでの手順が、 DXやらあのへんに比べて手取り足取りというわけじゃないので、 (OS非依存なのでパターンが多すぎ対応できないわけだが) 国産入門系ライブラリより一段大人向けなのは確かだと思われ。 ライセンスがGPL系じゃないのでスタティックリンクしても安心、 というのもポイント高い人はいるやろなあと。 alfont使えばアンチエイリアス付き日本語文字列が使えて、 かつ簡単な3D対応というライブラリって意外と少ないので、 (国産だとDXは3Dが無理、Lunaはアンチエイリアスが無理) DXを卒業したらAllegro、というのはありかもしれなひ。
- 408 名前:名前は開発中のものです。 mailto:sage [04/08/27 10:31 ID:cksPp3MV]
- 漏れもDXで物足りなくなったからAllegro始めてる。
DXはシンプルで良いんだけど、ファイルサイズがreleaseでも結構デカイ。でかくてダメって事は無いんだけど allegroだとDLL使用なら実行形式は結構小さくなっていいな。 静的リンクでもサイズはほとんど気にしなくていいし。 >AllegroはVC++で導入する方がgcc系で導入するより敷居が高いという そうだなー俺はVC++ですがMinGW導入とかはインストーラに任せるとか、PATH確認すればよかったけど、 やっぱGNU準拠のWIN32用ツールが面倒だった。根っからのDos&WinユーザだったからGNU準拠ツールなぞ知らんと言い切ってたので winのmakeで何が文句あるんだっって思ってた。 因みにGNU準拠ツールWin32版を配布しているページ ttp://sourceforge.net/projects/gnuwin32/ 忘れそうなのでAllegroコンパイル時覚書ちょっとだけ。うまくできない人は「参考」にしてください。 MSVCでfixかます時、utod(Unix to DOS) が無いとか言われるけど無視していいです。 MSVCDIRはダミーフォルダ作って指定しても可。コンパイル終了時にVCフォルダの中にincludeとlibフォルダ入れればよし。 Allegroコンパイルしててnot found&error云々言われる時はmakefileとか疑うより コンパイルに使われているmakeとかcatとかのツールをGNU準拠にしてみるといいかもね。 またツール入っているフォルダにPATH通すこと忘れないように。 途中でどうしてもコンパイル止まるときは直前のコマンドを「手作業」かcmd使ってる人は「コピペ」かましてみる。 通ったら再びmakeで無問題なはず。
- 409 名前:名前は開発中のものです。 [04/08/27 16:17 ID:4DDeMjij]
- 以前、Easy Link Libraryを公開していたwww004.upp.so-net.ne.jp/botchy/に書かれているe3とは何の事でしょうか?新しいライブラリでしょうか?
- 410 名前:名前は開発中のものです。 mailto:sage [04/08/27 16:40 ID:NeeO4588]
- DXライブラリは確かにでかいね
スタックサイズとかすさまじそうだ というのはJavaからJNIで呼んでみたらスタックたりねーっていわれたのでな
- 411 名前:名前は開発中のものです。 mailto:sage [04/08/27 17:25 ID:H1xwlNAK]
- DXからのAllegro乗り換え組にひとつだけ余計なお世話を一発。
(Allegroに限らず、海外系lib全般に言えるのだけど) 「日本語の『入力』には気をつけろ」 IME経由での入力はサポートしてないライブラリも多いぞ。 (特にAllegroは日本語入力自体ありえないOSもサポートしてるからな) アクションゲームとかなら問題ないだろうけど、RPGやらADVやら作るとき要注意。 家庭用ゲーム機みたく、専用ウィンドウによる名前入力やら必要になるぞ。
- 412 名前:名前は開発中のものです。 mailto:sage [04/08/28 00:06 ID:zYKc2Ykg]
- >409
elの次世代ライブラリだそうです。今年の7月に公開予定だったのですが、 「二、三回仕事に使ってみて、冬頃公開予定」 とHPに書いてありましたが、今はトップ頁のみになってますね。 >411 mingw+Allegroで開発しようとしてたら、、、 mingwの問題なんだろうけど、コメント内に日本語があると ダメみたいで、正常にコンパイルできないことが。 やる気無くなってそのまんまになってました。 もしかしたら今は解決されているかも知れませんが。 allegro+vcでコンパイルしようと、vc用パッケージを解凍してinstall.bat すると、windows\systemにdllを転送、vc++のディレクトリに.hを転送。 まあ、名前や日付からして、一見してallegroのファイルだと分かるので 混ざってしまうことはありませんが。 install.batより、vc++のオプションでライブラリのパスを展開した ディレトリに指定した方がよかったです。irrichtのインスト方法を見て 分かりました。 そのあと、サンプルをコンパイルしようとしたのですが、vc用の パッケージなのにプロジェクトのファイルが無く、自分で作った プロジェクトでは上手くコンパイルできませんでした…??? 何かの設定が違っているのでしょうが、お手上げ。 しかたなくフリーでソース付きで公開してあるゲームを探して コンパイルできることを確認。プロジェクトもそれを改造して これからも使うしか無いのでしょうか??? レベルの高い人にAllegro解説頁を作ってもらいたいです…。
- 413 名前:名前は開発中のものです。 mailto:sage [04/08/28 00:50 ID:HhR2aRfy]
- VC++のプロジェクトの設定は以下を参照
ttp://www.allegro.cc/docs/windows-msvc-use.html 詳しくは無いですが手助けできるかな? 以下上記リンクより要約しとく。最適化したライブラリで動的リンクで実行形式生成する場合です。 1、新規プロジェクトはWin32Appで。 2、[プロジェクト]->[設定]->[リンク]タブ->オブジェクトライブラリモジュールにalleg.libを行末に追加。 3、同じく[C/C++]タブ->カテゴリより、[コード生成]->[使用するランタイムライブラリ]->[マルチスレッドDLL]を選択 以上上記URLより。間違ってる可能性もあるので注意。 debugで生成する時とreleaseのlibファイルが違う事に注意。 VCのフォルダのinclude中のallegroフォルダにinlineフォルダ入ってるか確認。 これでうまくいくはず。 静的リンクしたいなら、allegro.hを#includeする前に #define ALLEGRO_STATICLINK 1 を忘れずに。これは各モジュールで分割コンパイル時にallegro.h取り込んでるなら同じようにする。 dynamicかstaticどっちで生成するかわからんちんな時は#ifdef使ってあとでラベル使えばいいかも。
- 414 名前:名前は開発中のものです。 mailto:sage [04/08/28 00:54 ID:HhR2aRfy]
- 補足:
当然ながら、静的リンク時のライブラリは別物。 作り分けはツール->構成で「追加」して、新しい構成を設定するのがベストです。
- 415 名前:404 mailto:sage [04/08/28 18:19 ID:326uXjok]
- SDLとAllegroの比較。SDL-Allegroの順で。訂正熱烈歓迎。
*Licence* SDL LGPL pc5.2ch.net/test/read.cgi/unix/1032702590/129 ライブラリ部分の「自由」さえ保証すれば販売も改変も問題ない。 * 改変分を含むライブラリのソースを提供する。(LGPLの第4節) * static linkの場合にはアプリケーション部分のオブジェクトを提供 するかdynamic linkにしてライブラリ部分の差し替えを可能にする。 (LGPLの第6節) Allegro Gift-ware 改変/商用利用になーんにも制限無し(たぶん) *Basic* mouse/keybord/joystick/timer ○ ○ Unicodeサポート ○ ○ スレッド ○ × 日本語表示 × ○unifont 日本語表示(with freetype) SDL_ttf AllegroFont(注1) 日本語入力 △(注2) × (注1)SDL_ttfのTTF_OpenFontIndex()に相当するものが無い。 (注2)SDLSKK/SDL-IMパッチ等 *Drawing* Blitとか ○ ○ drawing primitives SDL_gfx ○ 回転 SDL_gfx ○ rotozoom SDL_gfx ○ ポリゴン SGE ○ コンパイル済みスプライト × ○ テキスト描画 SDL_ttf/SGE ○
- 416 名前:名前は開発中のものです。 mailto:sage [04/08/28 18:23 ID:326uXjok]
- *Grapchics*
BMP ○ ○ PCX SDL_image ○ JPEG SDL_image libjpeg(allegro.cc) PNG SDL_image libpng(allegro.cc) TGA SDL_image ○ FLIC × ○ *Sound* CD ○ × WAV ○ ○ MIDI SDL_mixer ○ MP3 SDL_mixer AllegroMP3 OGG SDL_mixer AllegroOGG 録音 × ○ *Utility* 設定ファイルRW × ○ データファイル固め SDL_archive ○ バイナリpack/unpack × ○ 3D数学関数 × ○ GUI × △汚い *OS* UNIX/Linux ◎ ○ DOS × ○ MacOS ○ △現状では。 Win32 ○ ○ BeOS ○ ○
- 417 名前:名前は開発中のものです。 mailto:sage [04/08/28 20:35 ID:Cm50COMT]
- 日本語入門サイトがないのが致命的
- 418 名前:名前は開発中のものです。 mailto:sage [04/08/29 18:37 ID:aQa5Cu9y]
- SDLやらAllegroやらの存在意義がいまいち分からんな。
所詮2Dゲームを制御してるだけだろ。そんなもん自前でやれ、と。 3DでもOpenGL動かすくらいなら別のライブラリかぶせる必要もない。 クロスプラットフォームにしても余計なオーバーヘッドが絶対に発生する。 これはオフィスプログラムとかならともかく、速度重視のゲームには致命的。 きちんとターゲット決めてそれに最適化させれ。楽してゲームが作れると思うな。
- 419 名前:名前は開発中のものです。 mailto:sage [04/08/29 18:56 ID:SdtEkQZf]
- >>418
そういうポリシーなら一生理解できないでしょうなぁ。
- 420 名前:名前は開発中のものです。 mailto:sage [04/08/29 19:06 ID:koAj9KyF]
- >>418
標準ライブラリから自作してくだちぃ
- 421 名前:名前は開発中のものです。 mailto:sage [04/08/29 19:16 ID:NlJlNKJ2]
- >>3DでもOpenGL動かすくらいなら別のライブラリかぶせる必要もない。
禿同 ま、オーバーヘッド等諸々承知でライブラリ使うんだろうから。 基本の構成を面倒な初期化を飛び越して楽して作りたい人のライブラリ。 最適化考えるなやっぱ自前で作るのが一番いいんでしょうね。 そもそも自前で環境構築するには使用するプラットフォームの特性をある程度知った上で 基本部分組んでいくから其処までのめり込む気合がないと無理。 ゲームなんか、作りたいと思う熱が冷めないうちに一気に作らないとだれてしまう可能性も結構あるから、 そんな時に手軽に作れるのがライブラリかな。 むしろ作りたい意欲が有る時が自前で開発環境構築する良い機会なのかもね。
- 422 名前:名前は開発中のものです。 mailto:sage [04/08/29 20:22 ID:s4vMunTR]
- >>418
クロスプラットフォームがいいという人もおおいのですよ Cのライブラリも使わない人かなぁ すべて埋め込みとか
- 423 名前:名前は開発中のものです。 mailto:sage [04/08/29 23:50 ID:qH5B14C0]
- クラスプラットフォームはいいと思うんだけどなー。
あと画像読み込むにしても音読み込むにしても、フォーマット調べて実装を、、とかやってる方がよっぽど大変だろ。 速度についても、ラッパーのオーバーヘッドに文句いう暇があったら自分のコード見直してる方が良いよ。間違いなく自分のコードよりも早く綺麗な設計、実装がある。下位レベルの部分を自分でヘコヘコ書いてる暇があったら、もっと上位の設計部分に頭を使ったほうが良い。
- 424 名前:名前は開発中のものです。 mailto:sage [04/08/30 00:34 ID:hcZaDcac]
- 「オレライブラリ」作ってる途中でモチベーションが無くなる、ってのはよくあるパターンだからなあ。
- 425 名前:名前は開発中のものです。 mailto:sage [04/08/30 01:42 ID:sFKshRVA]
- そんなに自前がいいなら
カーネルから自前で書けば?w
- 426 名前:394 mailto:sage [04/08/30 07:47 ID:JziNAVt5]
- >>418
今時クロスプラットフォームのオーバーヘッドなんて誤差みたいなもんだろ? PS2とXboxとか特性違いまくりなとこならともかく、PCはどれも似たようなもんだし。 ていうか、他の大勢の人間が十分に整備・バグ取りしてくれた ライブラリやラッパーを使わせてもらうっちゅーのは、 仮にそれを自分でゼロから作れるとしても、選択肢としてアリだと思うんだけどね。 コーディングはゲーム制作の手段に過ぎんし。 まあ、俺もWinだけで動くゲーム作ってるぶんにはSDLやAllegroは要らんけどな。 (UNIXもターゲットにしろ言われたらたぶん要る)
- 427 名前:名前は開発中のものです。 mailto:sage [04/08/30 19:26 ID:fnX8Pwpq]
- 若い頃は「俺ライブラリ」も作ってたなぁ。
ときには大きな仕様変更も何度かしてきたけど、 最近はもう気力切れ…
- 428 名前:名前は開発中のものです。 mailto:sage [04/08/30 21:25 ID:Ifu3lJ2R]
- ゲーム用ライブラリを作ってるけど、完成したゲームを一度も作れない
人っているよね。 まあ漏れは、そんな人達の遺産でゲームを完成させてきたわけだが。
- 429 名前:名前は開発中のものです。 mailto:sage [04/08/30 22:18 ID:D2TvWoIH]
- ゲーム会社でもライブラリとかツールを専門に作るチームが有るみたいだな。すげえ
- 430 名前:名前は開発中のものです。 mailto:sage [04/08/30 22:25 ID:clEim/gs]
- だいたいそうじゃないの?
- 431 名前:394 mailto:sage [04/08/30 23:01 ID:Har10E7G]
- ま、人一人にできることは限界があるからね。
だからみんなで仲良く助け合わなきゃいけないのさ。←笑 あ、ちなみに前言微妙に撤回。コーディング自体が目的という人もいるだろうな。 ライブラリを公開して保守しているのはそういう人たちだろう。 皆が自分のやりたいことをやって、しかも成果が上がるとすれば、めでたいことだ。
- 432 名前:名前は開発中のものです。 mailto:sage [04/08/30 23:19 ID:6yIqSpOO]
- shi3z氏の代表作であるVectorStorm持ってるけど誰か欲しくない?(笑
- 433 名前:名前は開発中のものです。 mailto:sage [04/08/31 00:22 ID:aSA8T/Wp]
- VectorStormって何?
- 434 名前:名前は開発中のものです。 mailto:sage [04/08/31 12:44 ID:qBSZGZc3]
- shi3z氏の3Dライブラリ。
詳細はしらんけどRMベースで作ったなんちゃらっていう 前身ライブラリよりも速度がおちてるとかなんとか。
- 435 名前:名前は開発中のものです。 mailto:sage [04/08/31 22:09 ID:aSA8T/Wp]
- >>434
3Dライブラリか。ググっても見つからなかったんで何かと思った。 関係無いけどその内、4Dグラフィックとか出てきそうだな。
- 436 名前:名前は開発中のものです。 mailto:sage [04/09/01 00:44 ID:/8lJt3eW]
- 4Dとっくの昔から使われてるんだが
- 437 名前:名前は開発中のものです。 mailto:sage [04/09/01 11:23 ID:Ph6g14fm]
- clanlibってどう?
- 438 名前:名前は開発中のものです。 mailto:sage [04/09/01 12:58 ID:gF3vQny8]
- ここの流れ見てると日本製ライブラリに関しては
DXライブラリが一番っていう見解でOK? そんなにいいなら使ってみようかな・・・
- 439 名前:名前は開発中のものです。 mailto:sage [04/09/01 18:32 ID:JSL7Dn8l]
- ポインタ排除してる作りなので非常に初心者に優しいという点ではピカイチというところだろう
かなりメモリは食うけど、普通にリンクしてexe作るだけなら問題ないかと あとはbcc対応を歌っているだけあって完全フリーでつくれると言うところ 2Dゲームさくっと作れと言われたら俺も選択肢には入るかも 環境フリーなのでソースコードこみで渡しても相手に手直しさせることもできる まぁ〜多機能とか高速性とかそんなのの真逆いってるけど悪くない方向性ではないかな
- 440 名前:名前は開発中のものです。 mailto:sage [04/09/01 19:11 ID:gF3vQny8]
- ってことはDXの対になるのは、高速・多機能・ポインタOKってらいぶらリか。
EL・Lunaあたりが該当するんかな。 ELは微妙だったけどLunaは独自DLLでBCCに完全対応だし。 こうして考えてる間になんでもいいから使ってみたほうが早いか・・・
- 441 名前:名前は開発中のものです。 mailto:sage [04/09/01 19:55 ID:JSL7Dn8l]
- APIの説明だけみてみればいい
サンプルコードもわかりやすさを極限まで追求している
- 442 名前:名前は開発中のものです。 mailto:sage [04/09/03 23:20 ID:hov7X1x1]
- dev c++ と DirectX.DevPak で遊んでる人いますか?
t-pot や twintail lovers のサンプルをコンパイルできるし、自分にとっては十分なのですが めったに話題を聞きません。 何か問題があるのでしょうか?
- 443 名前:名前は開発中のものです。 mailto:sage [04/09/04 00:58 ID:/1JuLZWl]
- 問題は無いけど良いとこも無いのでは?
わざわざマイナーなの使わなくてもVisualC++でいいじゃん。
- 444 名前:名前は開発中のものです。 [04/09/04 01:06 ID:DMwlnp6d]
- XBOXのフリーのSDKがあると聞いたのですが
どこにありますか?
- 445 名前:名前は開発中のものです。 mailto:sage [04/09/04 01:19 ID:TzAUQGCx]
- >>444
おいてある場所も自分じゃ簡単にわからないようなSDK使って この先大丈夫ですか?
- 446 名前:名前は開発中のものです。 mailto:sage [04/09/04 01:48 ID:VaB+r+9b]
- VC: 長所 - Windowsスタンダード,MSの寵愛を受けている 短所 - 高価
DevC: 長所 - gccはunix系スタンダード,無料 短所 - やはりマイナー DIY精神だ
- 447 名前:名前は開発中のものです。 mailto:sage [04/09/04 01:52 ID:DMwlnp6d]
- >>445
前に落とした事あるんだけど、名前忘れてググれない・・・。 Openなんとかだったと思う。 自分のサイトで使い方まで紹介してたくらいたのに、忘れてしまうとは・・・orz
- 448 名前:名前は開発中のものです。 mailto:sage [04/09/04 01:59 ID:DMwlnp6d]
- 全く・・・
紹介しないで何の為のこのスレなんだか おまけに煽りがツマラン。 OpenXDK sourceforge.net/projects/openxdk/ VC++でコンパイルできるXbox用ソフト開発ライブラリ。 実際にXboxで動かすには、binフォルダに入っているcxbe.exeと言うプログラムで exe形式からXboxの実行形式であるxbe形式に変換する必要がある。 尚、Xboxの開発用マシンでの動作が基本だが、普通のXboxでもケーブルトリック(MOD不要)やMODで自作アプリを動かせるようになる。 やり方は、その手のサイトをググれ。ここで質問は禁止な。
- 449 名前:名前は開発中のものです。 mailto:sage [04/09/04 04:04 ID:/1JuLZWl]
- つーか数分で見つけられるんなら
質問するまえに自分で探してそれを紹介しろよ… ここは紹介スレなんだけど。
- 450 名前:名前は開発中のものです。 mailto:sage [04/09/04 13:08 ID:lsT93R/j]
- xboxなんかもってねーし
でも落としてみるか
- 451 名前:名前は開発中のものです。 mailto:sage [04/09/05 11:50 ID:rrTtielo]
- >>446
VCって昔からメモリの管理が悪いらしいよ。
- 452 名前:名前は開発中のものです。 mailto:sage [04/09/05 12:15 ID:fQUnYwVV]
- >>451
VCというか、MFCのメモリ管理がタコなので、 非ゲーム系アプリでは時々洒落にならなくなる。 API+DirectX使う分にはそうそう問題にならない。 マルチプラットホーム系のライブラリを使う場合、自前でメモリ管理してる場合も多いしな。 dev-c/mingw32の弱点というと、実行ファイルが一般にVCに比べてでかくなる点かな。 長所は、un*x系の先進ライブラリを持ってきやすい点。 DIY精神旺盛なら、vcでは使えないような面白い部品があれこれ使えるのが強みだと思う。
- 453 名前:名前は開発中のものです。 mailto:sage [04/09/05 13:33 ID:f5/IXDBX]
- 正直どちらでも大差ないと思うがなぁ。
- 454 名前:名前は開発中のものです。 mailto:sage [04/09/05 13:34 ID:QRCPldsB]
- どうでもいいけど
>>448のライブラリ使うとXboxって最高のゲーム動作プラットフォームじゃね? VRAMを直接弄ったり、かなり遊べるな・・・
- 455 名前:名前は開発中のものです。 mailto:sage [04/09/05 17:02 ID:Tm+G2t3W]
- MFCは独自のアロケータを提供してないし
newもmallocもオーバーライドしてないよ。 あまり知ったかぶらない方が良い。 あと、VCのCRT読める環境ならわかると思うけど、 mallocは標準的な素直なメモリプーリングしてるし、 newもそれを使っているだけ。 毎回API呼び出してメモリ取得したりしてるとそりゃ遅いけど そいつはWindowsと、プログラム書いた人の責任だろ。
- 456 名前:名前は開発中のものです。 mailto:sage [04/09/05 17:07 ID:Tm+G2t3W]
- そーいやMinGWの実行ファイルがでかくなるとか言ってるな、stripしたこと無いんだろうな。
UNIX系独自のライブラリを持って来やすいのはcygwinだし、POSIXとかに依存しない コードでかつgcc拡張使われたメジャーコードなんてのはほぼ皆無だし、Winで開発する限り、 その辺のところにgccのメリットなんてのは存在しない。
- 457 名前:名前は開発中のものです。 mailto:sage [04/09/05 17:34 ID:Ihha5pte]
- >>455
MFCでデバッグモードのコンパイルすると、newとdeleteがデバッグ用のそれに置き換わるじゃない。 メモリリークを検知できる奴。 それのことを言ってるのかもしれぬな。
- 458 名前:名前は開発中のものです。 mailto:sage [04/09/05 18:14 ID:fQUnYwVV]
- >>455
一回MFCやATL/WTLで書いたプログラムを業務用プロファイラとかで実行しならが追ってみ。 思い切り色々叱られるから。 それとOpenGL系のライブラリ(例えばompとか)の中には、 基本はun*x、cygwinもOK、mingw32もサポート、でもmsvcはサポート外、 ってのは案外多い。 stripすりゃ小さくなるぐらいは知ってる、 ただ、そこに思い至らない初心者はいる、という意味で言ったのだわ。
- 459 名前:名前は開発中のものです。 mailto:sage [04/09/05 18:19 ID:fQUnYwVV]
- ああ、あと、シフトJIS環境のソースを使ってると
コメント中の漢字2バイト目で不具合が出ることが時々あったと思ったけど、 最新のgccでは改善されてるんかね? 漏れはマルチプラットホーム前提の時は日本語コメント使わないのでよくわかってないのだが。 (かなりスレ違いになってきた気がするのでこのへんで自粛) あと、そう言いながら普段はdev-c++使ってる漏れだったりw
- 460 名前:名前は開発中のものです。 mailto:sage [04/09/05 18:26 ID:fQUnYwVV]
- ああ、あと漏れの言い方も悪かったな。
MFCが独自のメモリ管理をしていてそれがタコ、と言うつもりはなくて、 MFCが中で嫌なメモリの取り方をしている所があちこちにあって、 プロファイラとかを通すといちいち指摘されるんですよ。という意味。 WTLはそのへんかなりマシなのだけれど、それでも時々叱られるw
- 461 名前:名前は開発中のものです。 mailto:sage [04/09/05 18:31 ID:S1PqwTYJ]
- >>458
名前も言わずに「業務用」じゃぁ「一回〜追ってみ」とか無理です。 そんなこと言わずにどこがタコなのか教えてくださいよ。 > ただ、そこに思い至らない初心者はいる、という意味で言ったのだわ。 だったらはじめからそう書いてください。
- 462 名前:461 mailto:sage [04/09/05 18:35 ID:S1PqwTYJ]
- >>460
あ、ごめんなさい。リロードせずに書き込みました。 つまり、 > 非ゲーム系アプリでは時々洒落にならなくなる。 これは「プロファイラとかを通すといちいち指摘」されて洒落にならなくなるってことですね。
- 463 名前:名前は開発中のものです。 mailto:sage [04/09/05 18:48 ID:fQUnYwVV]
- で、今実際にexeファイルサイズにどのくらいの差が出るか裏を取ってみた。
Allegroのexamplesをmingw32とmsvcでそれぞれコンパイル。 mingw32は最大限の最適化+stripあり msvcは実行速度依存の最適化。 それぞれDLL版でやってみた。 結果: おおむねmingw32版の方が1.5〜2倍程度の大きさになることが判明 それぞれの大きさまでは言及せずともいいよね? Allegroのexamplesなので、誰でも再検証可能と思われ。 mingw32のバージョン:3.1.0-01 msvcのバージョン:Visual Studio 6 SP5
- 464 名前:名前は開発中のものです。 mailto:sage [04/09/05 21:00 ID:7VdTEgWQ]
- つうか、今時exeのサイズ気にする奴なんているのかよ
- 465 名前:名前は開発中のものです。 mailto:sage [04/09/05 21:21 ID:oltXOr3P]
- 「Delphiで小さな実行ファイルを作ろう」スレ思い出した
不毛この上ない
- 466 名前:名前は開発中のものです。 mailto:sage [04/09/05 21:39 ID:LXMSqFvj]
- .comで8バイトプログラムとか作ったのを思い出す。
- 467 名前:名前は開発中のものです。 mailto:sage [04/09/05 23:31 ID:JKTBcmLx]
- まとめページでQuadrupleDが3D対応:◎になってるけど
地形作成機能がまったくなくコリジョン判定も弱い 対応フォーマットも少ないのに◎は他のライブラリの 評価とバランスが悪いんじゃない?
- 468 名前:名前は開発中のものです。 mailto:sage [04/09/06 00:14 ID:Vq9rQlb4]
- >>467
過去スレ見たが、QuadrupleDは触れてないように見えるが? まとめ「ページ」ってこた、ここの過去スレではないんかな? だったらURLよろしこ。
- 469 名前:名前は開発中のものです。 mailto:sage [04/09/06 00:33 ID:a1xy8CC1]
- >>468
gamdev.org/w/?%5B%5B%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%5D%5D
- 470 名前:名前は開発中のものです。 mailto:sage [04/09/06 07:45 ID:fweo5lD2]
- >>469
さんくすこ。そっちの話だったのね (つかそのページにこの項目上がってるの知らんかったわ)。 確かに、QuadrupleDがTrueVision3Dと五分の3D機能なのかと言われると疑問だわな。 貴重(?)なDelphi向け国産3Dライブラリではあるけど、 同じくDelphi対応であるTrueVisionとの比較で考えたいところだねぇ。 となると、○ぐらいが妥当かもしれん。 Wikiなんだし、訂正してしまえば?
- 471 名前:名前は開発中のものです。 [04/09/07 17:07 ID:CzNMTiDR]
- OpenXDKのライブラリ見てみたけど
XBoxってWinsock使えないのか? なんかDirectPlayベースっぽいけど・・・
- 472 名前:名前は開発中のものです。 mailto:sage [04/09/07 19:46 ID:CzNMTiDR]
- って、違うな・・・
そもそもOpenXDKってsocket関連の機能が全く無い。 公式のXDKにはWinsockとほぼ一緒のコードでOKなやつがあるけど・・・。 OpenXDK使ってネットワーク系アプリ開発してる人って一体どうやってるんだろう?
- 473 名前:名前は開発中のものです。 mailto:sage [04/09/07 20:50 ID:HNGF/dk7]
- 単に誰もやってないのでは?
XBoxでネットワーク系アプリってゲームだと思うけど OpenXDKはGPLライセンスだからソース公開の義務があるんで きっとチートされまくりになる。
- 474 名前:名前は開発中のものです。 mailto:sage [04/09/07 21:13 ID:pzfeCiVg]
- >>460
あ、そゆことね。 VCで作ると、MFCに限らず、Win32SDKだけで作ってもリリース版はメモリ管理悪くて 何も悪くないコードにも関わらず落ちる時あるよ。
- 475 名前:名前は開発中のものです。 mailto:sage [04/09/07 21:19 ID:nVo8xvZl]
- >>474
はぁ?そんなこと一度もねぇぞ。 お前のコードが糞なだけだろ。 よくいるんだよな。 本当は自分が悪いのに、コンパイラやライブラリの(つまりは他人の)せいにする奴って。
- 476 名前:名前は開発中のものです。 mailto:sage [04/09/07 21:23 ID:zH/qJkXJ]
- 何も悪くないプログラムを作る以上に、
何も悪くないプログラムだということを検証するのが難しい。
- 477 名前:名前は開発中のものです。 mailto:sage [04/09/07 21:25 ID:Xivz5Ogs]
- >>474
>VCで作ると、MFCに限らず、Win32SDKだけで作ってもリリース版はメモリ管理悪くて >何も悪くないコードにも関わらず落ちる時あるよ。 そんなん起きたことないぞ 間違いなくお前のたたき方が悪い
- 478 名前:名前は開発中のものです。 mailto:sage [04/09/07 21:29 ID:hvOpjDoC]
- >>460
勉強のためMFCのどの辺で嫌なメモリの取り方してるか 具体的な場所を教えて欲しいです。
- 479 名前:名前は開発中のものです。 mailto:sage [04/09/07 21:54 ID:mO8jfU22]
- >>474
何言ってるのこの人? SDKだけで作って自分のコードが何も悪くないのに 「メモリ管理」が原因で落ちたらそれはWindowsのバグじゃないか。 VCに限らず何で作っても落ちるはずだろ?
- 480 名前:名前は開発中のものです。 mailto:sage [04/09/07 23:09 ID:syuXgy+r]
- VC使った後Delphiに戻るとホッとするよ
- 481 名前:名前は開発中のものです。 [04/09/07 23:12 ID:ygIvxG2H]
- ネットゲーム向けのライブラリありませんか?
C/C++対応でオプソ、無償で日本語か英語のものをおながいします。
- 482 名前:名前は開発中のものです。 mailto:sage [04/09/07 23:25 ID:XP0tM8Ru]
- >>474
Debug の時は何もおきないようなバグにでもあったか? そりゃ VC が Debug モードの時にだけ確保する領域違反検出用のメモリブロックを破壊してて、 Release モードだとそれがないから変なトコ壊して 強制終了食らってるだけなんじゃねーかっつー気がするな。 モノがベータ版とかいうなら別だが、コンパイラを疑うのは最後の選択肢だろうよ。
- 483 名前:名前は開発中のものです。 mailto:sage [04/09/08 00:58 ID:NRrGcJ0W]
- Purifyとか使ってMFCなプログラムのメモリリークを検知してると、
真っ先にMFCのメモリリークが報告されるね。
- 484 名前:名前は開発中のものです。 mailto:sage [04/09/08 02:05 ID:kzQRGr1l]
- それはboostとかSTLPortでも検出されるよ。
MFCでもたとえばSplitterのドラッグイメージとか、ひとつしか生成しない事がはっきりしている オブジェクトは、プールしていてプロセス終了に破棄を任せているし。 こういうのはむしろ賢い使い方であって、何ら問題ないと思うけど? lintで警告が一切出ないソースしか認めないとか言うスタンスの人間ならその方針でもいいけど そんな奇妙なコードかいてる人間なんてほとんど居ないだろうな。 ところで業務用プロファイラの話はどこ言ったのよ。 まさかVTuneのこととか言わないよな?
- 485 名前:名前は開発中のものです。 mailto:sage [04/09/08 02:32 ID:9CJ/xdXc]
- MFCの使い方が悪いとかだろ
- 486 名前:名前は開発中のものです。 mailto:sage [04/09/08 02:44 ID:VUx78eUd]
- 実は>>474のOSはWindows3.1
- 487 名前:名前は開発中のものです。 mailto:sage [04/09/08 06:02 ID:6+1P9W1S]
- ヒープはプロセスローカルなものなので、プロセス終了時に
リークしているものは、完全に無害。 どちらかというと、一定時間おきにリークしているものだとか ある操作ごとにリークしているものが危険。 なお、STLがリークチェッカにひっかる件は、STLの公式ドキュメントにも 記されているよ。
- 488 名前:名前は開発中のものです。 mailto:sage [04/09/08 08:35 ID:cVJ+TfVR]
- ヒープの確保なんでどんな環境でも内部でAPI呼んでるんだろ?
それにC++だと開放は自分持ちだし・・ MFCにメモリ管理に介入出来るところなんてあるのか。
- 489 名前:名前は開発中のものです。 mailto:sage [04/09/08 08:53 ID:NRrGcJ0W]
- >>488
Afx……で始まる、一連のメモリ系APIとか。
- 490 名前:名前は開発中のものです。 mailto:sage [04/09/08 10:23 ID:HTUcrn+z]
- まぁ、デバッグモードでOKなのにリリースで駄目とか
確かに書いたコードが悪いんだろうけどさ モードによって結果が変わってたら、何の為のデバッグモードかは分からんね。
- 491 名前:名前は開発中のものです。 mailto:sage [04/09/08 10:26 ID:VUx78eUd]
- ど素人のためのデバッグモードです。
- 492 名前:名前は開発中のものです。 mailto:sage [04/09/08 11:27 ID:ynCgLjJ8]
- >>490
それはテメェの設定(デフォルトなんだけどさ)が悪いだけ。 デバッグ時に「変数の値をXXで初期化」って項目が確かある(うろ覚えだが) なんか設定を色々といじってみたら?
- 493 名前:名前は開発中のものです。 mailto:sage [04/09/08 13:37 ID:dly54/T/]
- >>484
わり、ここ2、3日ここ見る暇無かった。 その時使ったんはDevPartnerという奴だ。 (つか会社で調べないとわからなかったのさ、スマソ) ttp://www.compuware.co.jp/products/devpartner/dpstudio6.htm 体験版があるっぽいので実際どうなるか通してみるとよかろ。 すでにこの話題はスレ違い甚だしいので、これで終わりにするために、 発言に至る全経緯を書いておく。長文になるがすまん。 NDAで明かせないところは勘弁しとくれ。 2年ほど前、漏れの所に、 「外注に作らせたプログラムが、PCでは動くのだが某ROM焼き用Windowsで動かん、面倒みれ」 というお達しが。(某ROM焼きWindowsが何かはNDAで勘弁) (もともと漏れはVxWorks屋なんだが、とりあえず面倒は漏れのとこに来る仕掛けになっていたのさ当時。) PCで追ってもさっぱりわかんねぇし確かに動く。でもターゲットに持ってくと動かねぇ。 ターゲットには計測用一品物PCIボードがわんさか刺さっているし、 そっちとの相性なんだろうかとも考えつつ追うがさっぱりわかんね。 しょうがないのでWindows部隊に相談すると貸してくれたのが上記のDevPartner。 それで追ってみると、MFC内のTabControle(だっけ?)あたりでメモリリーク警告される。 これが怪しいのかと仮定して、ダイアログにタブ何枚かとボタンだけ出して何もしないアプリを書いて、 ターゲットに持ってくと、やっぱり動かねぇ。 OS屋にネジ込んでみたが 「アプリの問題です、それで動かないとしたらこっちの仕様制限ということで」 ということでそっち方面の改善はのぞめない、ということになり、 泣きながら仕様書もないそのアプリを非MFC版に書き直しましたとさ。 ということがあったんさ。 そのターゲットOSが悪いと言えばその通りなんだが、 MFCにはこういう落とし穴もありますよ、ってことで。 というわけで、どう見てもム板、マ板系の話題なので、ここまでにしとく。 スレを元に戻すべく、>481のリクエストに対応のためネット巡りしてくま。
- 494 名前:名前は開発中のものです。 [04/09/08 13:42 ID:nt5JAcCE]
- そういえばLunaはメモリ管理自前でやってたな。
ああいうやり方がいいのかどうかはしらんが。 ELはGlobalAlloc()だった気がする。 今ならVirtualAlloc()のがいいとは思うけど。 Win9x系ってnewででかい領域確保できないのが難儀な気がする。 設定で変えられるかも知れんけど以前画像展開用に 20MB確保しようとしてWin98だと落ちてたの気づかなかった事がある。 20MBも確保するなよ、と言われればそれまでだけど・・・
- 495 名前:名前は開発中のものです。 mailto:sage [04/09/08 17:04 ID:kzQRGr1l]
- >>490
debug assertとか>>492にあるようなのとか使わないのか。 デバッグモードとリリースモードが全く同じならデバッグモードの意味ないじゃないか。
- 496 名前:名前は開発中のものです。 mailto:sage [04/09/08 20:08 ID:YnNNX9fV]
- メモリ管理なんか自前でせずに、普通にmallocやnewでokだろ。
それがヤダってんならdlmallocでも使え gee.cs.oswego.edu/dl/html/malloc.html 自作はヤメといたほうがいい。 大抵糞なモノが出来て、開発効率、実行速度、メモリ効率全てがガタ落ちする。
- 497 名前:名前は開発中のものです。 mailto:sage [04/09/09 00:04 ID:X/ip1pi7]
- >>496でようやく「ライブラリ紹介」に戻ってきた。
- 498 名前:名前は開発中のものです。 mailto:sage [04/09/09 00:56 ID:PecWHS5e]
- >>481
RakNet ttp://www.rakkarsoft.com/ UDPベースのオブジェクト同期系ネットワークライブラリ Windows/Linux対応
- 499 名前:名前は開発中のものです。 mailto:sage [04/09/09 01:36 ID:PAmWt9Ny]
- >>498
RakNetはフリーソフトに使うのでなければ有料では? >>481のネットゲームがフリーソフトなら問題ないけど。
- 500 名前:名前は開発中のものです。 mailto:sage [04/09/09 17:00 ID:4yIkblD5]
- >>481
HawkNL ttp://www.hawksoft.com/hawknl/ LGPL、Windows、各種Un*x、MacOS 7〜9/X対応のネットワークライブラリ オブジェクト同期までは持ってないが、ネットワーク越しのSignal、Mutexぐらいは持ってる。
|

|