- 1 名前:名前は開発中のものです。 mailto:sage [2010/04/02(金) 00:21:35 ID:zsqivwcw]
- 疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。 pc11.2ch.net/gamedev/ ※ >>980 を踏んだ人は次スレ立てをお願いします。 【アップローダ・避難所・Wiki】 ゲーム製作技術板公式Wiki wiki.game-develop.com/ ゲーム製作技術板公式アップローダ gmdev.xrea.jp/ ゲーム製作技術板予備(機能停止中?) yy13.kakiko.com/gamdev/ アップローダー予備 gamdev.hp.infoseek.co.jp/ gamdev.orgが落ちるたびにあげてみるスレ pc11.2ch.net/test/read.cgi/gamedev/1107022166/
- 77 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 01:44:45 ID:HU8kE9y3]
- 縦STGで縦長の画面にしないのはフルスクリーン用では
縦長の画面でなくとも画面の使い方で縦長に出来るし
- 78 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 07:55:27 ID:drnPL57D]
- 必ずそういう事言う奴が居るがワイド画面にきちっと対応していないのとかも意外に多く
Windowで合わせて貰える方が無難だ、そうなると4:3画面で作られる縦STGは本当に邪魔くさい
- 79 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 11:10:37 ID:tcsda+Vh]
- ワイド画面云々は、モニタの設定じゃねーの?
- 80 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 13:21:24 ID:p+ZvCADD]
- 4:3の画面モードを正しいアスペクト比で表示してくれない
ワイドディスプレイのPC環境が少なくないんで、仕方なく アプリ側で何かしら対処することはあるのね 16:10や16:9のLCDの表示容量(ネイティブ解像度)を取得して それに合わせて画面モード設定して左右に枠(黒or絵柄)を 描いたり。dot-by-dotにも対応するときは上下左右に描くのね で、ウィンドウモードで遊んでください、で済むならそれが一番ラクね
- 81 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 13:47:23 ID:d/r4hXs0]
- 自分は常に固定のアスペクト比のテクスチャにシーンをレンダリングして、
それを最後に画面全体サイズのバックバッファにアス比固定でStretchRect転送してるよ。 これで画面サイズがどうあれ、正しいアス比で固定される。
- 82 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 14:34:30 ID:drnPL57D]
- >>79
そういう問題じゃないから >>80-81 今のPCはながらゲームでもそこらのフリゲなら重くならんくらいの性能があるものが大部分だし モニタも昔より大きくワイド使ってる奴も多い だからウィンドウモードで遊んでくださいって言わなくてもだいたいがウィンドウモードだよ ちゃんと対応してくれるに越したことはないけど、ウィンドウモードで遊びやすく設計されてれば 大きな問題はない、立ち上がるとき勝手にフルスクリーンになるのさえ迷惑だったりする
- 83 名前:81 mailto:sage [2010/04/24(土) 14:53:33 ID:d/r4hXs0]
- >>82
もちろん、ユーザーがフルスクリーンと設定したときの挙動の話ね。 ウィンドウモードのときは楽チンだよねw
- 84 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 17:13:13 ID:drnPL57D]
- あとフルスクリーンでやらざるを得ないくらい小さいのは嫌だな
640*480の横長画面の両脇に残機やスコアなどのデータ表示スペース設けて 中心に立てSTG 組み込んだような奴はサイズ的に微妙800*600くらいならウインドウでも十分だけど ちゃんと対応してないとワイド画面でアス比が狂うし、そのままだとちょっと見づらい構成だと まともに楽しめないからな
- 85 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 17:19:02 ID:U7wZT1tX]
- 320×240の場合はフルスクリーンでも仕方が無いかな?とか思う。
ウィンドゥモードでは小さすぎるから。
- 86 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 17:24:34 ID:drnPL57D]
- 320×240なら2倍拡大で640*480でウインドウ表示できるようにして欲しいな
今時320×240でわざわざ作るなんて、逆に小さいことで何かを狙ってるゲームじゃないか? それにそんな粗い画像のゲームをフルスクリーンにしても嬉しくないし さらにフルスクリーン時にワイドモニタでアス比が狂うようなら目も当てられん
- 87 名前:名前は開発中のものです。 mailto:sage [2010/04/24(土) 20:45:57 ID:9G78iIee]
- >>86
320*240はツクールではよくある気がする。
- 88 名前:名前は開発中のものです。 mailto:sage [2010/04/25(日) 08:45:08 ID:R/l487cB]
- ツクールは544x416だろあれでもやや小さいけどさ
- 89 名前:名前は開発中のものです。 mailto:sage [2010/04/25(日) 17:20:38 ID:UDXAoPVs]
- 640x480などのゲーム画面をフルスクリーンにしたときにアス比がおかしくなるってのは
モニタの設定で切り替えるのって普通じゃないの? もしかして 俺がおかしい? 安物にゃ付いてないよ、って意見なら分かるが。
- 90 名前:名前は開発中のものです。 mailto:sage [2010/04/25(日) 19:20:20 ID:R/l487cB]
- ゲームのたびにモニタの設定変えるのか?
4:3モニタでフルスクリーン時にアス比が狂うのは自分のせいだが ゲームの仕様でフルスクリーンにすると4:3のゲームが16:9に歪むのがあるんだよ あとできるだけフルスクリーンではやりたくないし 今時フルスクリーンでやる奴少ないだろ
- 91 名前:名前は開発中のものです。 mailto:sage [2010/04/25(日) 19:27:19 ID:1OfKigkp]
- 当たり判定の関数を作るに当たって、Collision(CharaData *a CharaData *b){}という風なものにし、この引数に、他のクラスからの構造体の
配列のアドレスを返す関数を作りたいんですがどうすればいいでしょうか。 Collision(&JikiShot,&Enemy){}だと、一発、一匹のときは出来たのですが、これを、複数行うにはどうすればいいのかわかりません。 CharaData JikiShot[256]; CharaData Enemy[512]; Collision(&JikiShot[i],&Enemy[j]){}//このような感じで行いたいのですが。 &JikiShot[i]などを、返値で返す関数の作り方もわかりません。 よろしくお願いします。
- 92 名前:名前は開発中のものです。 mailto:sage [2010/04/25(日) 23:05:21 ID:77HGVGIT]
- 最近ノート型 PC の解像度が上がってきていて、ロースペックでも 1366x768 くらいが標準になってきている。
これに収まる 4:3 または 16:9 で大きいものにしないと、フル HD 対応モニタだとフルスクリーンにするしかなくなるほど小さくなってしまうだろうな。
- 93 名前:名前は開発中のものです。 mailto:sage [2010/04/25(日) 23:21:43 ID:9JIqTsJC]
- >>91
ポインタについてもうちょっと勉強しようぜ
- 94 名前:名前は開発中のものです。 [2010/04/26(月) 00:04:05 ID:VSz0FUYx]
- さっぱりわかんないけどさ、
質問の最後に「よろしくお願いします」って付けるのはYahoo知恵袋だけだから 2chで使うと嫌われるから次から注意してね。
- 95 名前:名前は開発中のものです。 mailto:sage [2010/04/26(月) 00:51:26 ID:re+thrRA]
- 知恵もないのにそういう事だけいうなんてどうしようもない奴だな
お前何様だよ。 答えられるようになってからそういう事いえよ カス
- 96 名前:名前は開発中のものです。 mailto:sage [2010/04/26(月) 01:05:13 ID:LdHY1oAb]
- >>90
4:3の解像度で出力すると、自動的に左右にレターボックス表示して アスペクト比が狂わないようにしてくれるモニタも多いよ。 あと、最近の高解像度モニタだと、インチ数によっては640x480は小さいと感じるかもしれないなあ。 最初から解像度を落とせばいいんだろうけど。 >>94 どこの常識だよw 2chだと、多少くだけた口調で質問してもそんなに問題ないとか、 別所だとネットスラングでの質問はマナー違反だとかはあるかもしれんけど、 2chで丁寧口調がダメということは無いっしょ。
- 97 名前:名前は開発中のものです。 mailto:sage [2010/04/26(月) 06:23:18 ID:PBgQ/EBC]
- >>91
www.geocities.jp/KY_webid/c/030.html ポインタの扱いについてはこの辺を見れば分かるかと。 >一発、一匹のときは出来たのですが、これを、複数行うにはどうすればいいのかわかりません。 forループで処理させるのではダメ? for(int i = 0; i < 256; i++) { for(int j = 0; j < 512; j++) { Collision(&JikiShot[i], &Enemy[j]); } }
- 98 名前:名前は開発中のものです。 mailto:sage [2010/04/26(月) 12:06:54 ID:gcCDVLcC]
- DSのhomebrew開発スレが見当たらないのですが、落ちたんでしょうか。
それとも任天d
- 99 名前:名前は開発中のものです。 [2010/04/27(火) 00:48:47 ID:y5cH/Uon]
- 久々に3Dったら頭が混乱してきました。
球を y>=a(定数)でカットした半球的なものと平面の埋まりの検出ですが if 半球と平面の距離d <= r(球の半径) { if d.y(dのy成分) >= a { 埋まり確定! } else { 平面上の y=a となる直線 L を考えて if 半球とLの距離 <= r { 埋まり確定! } else { 埋まってない! } } } else { 埋まってない! } で問題ないですかね?もしくはもっといい方法教えて
- 100 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 11:11:08 ID:YQQlekKQ]
- ttp://javagame.skr.jp/index.php?%A5%D6%A5%ED%A5%C3%A5%AF%A4%C8%A4%CE%BE%D7%C6%CD
ここのブロックと自機の衝突部分をC++でやるとしたらどんな感じになるんでしょう?
- 101 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 11:25:52 ID:KjDVWDVP]
- >>99
そのまま日本語で説明されてるじゃない。
- 102 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 11:29:05 ID:DSxZYWnI]
- >>100
ロジックそのままで良いんですけど… もしかしてソースコードをきいてんの?
- 103 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 11:41:37 ID:rLh640PO]
- >>100
ソースコード見てみたけどほとんどそのまま移植できるよ。
- 104 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 11:48:15 ID:YQQlekKQ]
- >Point tile = map.getTileCollision(this, newX, y);
この部分はどうなるんでしょうか?
- 105 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 12:32:58 ID:7SlZhUcN]
- それくらい自分で考えろ
- 106 名前:名前は開発中のものです。 [2010/04/27(火) 12:33:10 ID:tY0CYfCK]
- >>104
えっ? Pointクラスを作ってないとか? getTileCollisionの方?実装はそのページの下で説明してるやん? なんかの本のコードまんまコピペしたって。
- 107 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 12:39:32 ID:rLh640PO]
- >>104
Point *tile = map->getTileCollision(this, newX, y);
- 108 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 12:47:14 ID:YQQlekKQ]
- ありがとうございます
- 109 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 14:24:37 ID:tY0CYfCK]
- 何が分かって、何が分からなかったんだろう…
スルーされてる >>76 が俺も気になるんだが。 俺の場合座標とかハードコーディングなんだけど、みんなどうしてんだろね。
- 110 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 14:59:43 ID:+9zKjY27]
- ゲーム会社勤務のPGさんの話だけど
その当時、FLASHか何かで作ったメニューを読み込めるようなシステムを開発してたらしい
- 111 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 15:44:05 ID:rLh640PO]
- 今はUIをFlashで作成できるScaleformGfxっていうミドルウェアがあるよ。
ゲーム会社だと何かしらのUI作成ツールを使ってるところが多いと思う。 でも個人制作だとそこまで手間もお金も掛けられないし、ほとんどがハードコーティングじゃないかな。 そういうフリーのツールがあればいいんだけど・・・
- 112 名前:名前は開発中のものです。 mailto:sage [2010/04/27(火) 16:26:10 ID:DSxZYWnI]
- Flex使えば基本的なUI作るの難しくないと思うんだけど・・・・
画像をカスタマイズし始めると面倒だけど。
- 113 名前:65 mailto:sage [2010/04/30(金) 07:12:03 ID:6IWWdbeh]
- >>68
操作キャラが当たっている地面を求めたいのですがうまくいきません・・・ for(i=0;i<MAP_H;i++){ for(j=0;j<MAP_W;j++){ if(MapData[(int)(playerY)/MAP_SIZE][(int)(playerX)/MAP_SIZE]==1){ ・・・ この判定でプレイヤーの足元が地面なら playerY=(mapi*MAP_S); と、当たっている地面上部分の座標をplayerYに入れてやりたいのですが どこの地面に当たっているか調べるのにいい方法はないでしょうか
- 114 名前:名前は開発中のものです。 mailto:sage [2010/04/30(金) 07:43:35 ID:6IWWdbeh]
- playerY=(i*MAP_SIZE);
でした。
- 115 名前:名前は開発中のものです。 mailto:sage [2010/04/30(金) 07:50:45 ID:SoO+SnLu]
- >>113
>if(MapData[(int)(playerY)/MAP_SIZE][(int)(playerX)/MAP_SIZE]==1){ この条件文がどこの地面に当たっているかを調べてるんじゃないの?
- 116 名前:名前は開発中のものです。 mailto:sage [2010/04/30(金) 08:13:35 ID:6IWWdbeh]
- >>115
足元が1かどうか(地面かどうか)だけ調べてると思うので どこの地面なのかは分からない、気がします
- 117 名前:名前は開発中のものです。 mailto:sage [2010/04/30(金) 08:25:20 ID:SoO+SnLu]
- >>116
>足元が1かどうか(地面かどうか)だけ調べてる ということは足元がどこの地面か分かっているということでしょ? つまり「MapData[(int)(playerY)/MAP_SIZE][(int)(playerX)/MAP_SIZE]=当たっている地面」だと思われるけど。
- 118 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 13:03:36 ID:qwH1pwxC]
- Windowsでやってて,
assertにかかったときにエラーウィンドウで 例外参照知らされると思うんだけど, 単にVCデバッガでブレークするだけにできない? いちいち再試行おすのがめんどい& 間違って中止おしてバグ再現しなきゃいけなくなるのが辛い.
- 119 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 14:39:29 ID:e37jMZuS]
- __asm { int 3 }
- 120 名前:名前は開発中のものです。 [2010/05/02(日) 15:31:30 ID:GNNinoD1]
- カプセル化で質問です
ステータス画面などを表示したいときも HPやMPを見るためだけのメソッドを用意した方がいいんですか?
- 121 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 15:34:13 ID:qwH1pwxC]
- 場合による
- 122 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 15:38:11 ID:GNNinoD1]
- その場合がわかりません><
参考になるサイトとかありますか? なさそうならとりあえず勉強と思って全部作ってみますが
- 123 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 15:44:47 ID:bkckDMgJ]
- HPやMPならステータス画面のレイアウトで何桁まで表示するか決めてるはず。
そういう場合ならメソッド作って、何桁以上ならカンストするとか、表示するときだけその桁数に合わせたらいいんじゃね? わからなかったらとりあえず作っておけ。後で変えるときに楽だ。
- 124 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 15:59:03 ID:xnYPH8Bt]
- 例えば宇宙空間にいるときはHP/MPを一律3分の一にしたいなんてときに
ゲッタの中で3分の一にしておけばそれで十分なわけだ。
- 125 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 16:23:06 ID:Z7PNMhjm]
- ゲッタwww
やれやれ、文明の地にJava原人が紛れ込んだようだ。
- 126 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 16:37:37 ID:xnYPH8Bt]
- setter/getterってjava限定の用語だったんだ知らなかった
- 127 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 16:50:10 ID:J6RVu3x/]
- こんな未開の地で言語民族が争うんじゃない
- 128 名前:名前は開発中のものです。 mailto:sage [2010/05/02(日) 21:08:36 ID:Fty9ttWn]
- >>126
日記だが、 昔クラスタの講習を受けたときにアクセサメソッドが出てきてJava特有のもんだと思ってたよ 結局その件はぽしゃったんだが、何故か時代遅れのActiveXをVCで作ることになったとき JavaScript側からのアクセス方法として出てきて懐かしくなった
- 129 名前:名前は開発中のものです。 mailto:sage [2010/05/03(月) 05:52:16 ID:0wSce+Dq]
- >>122
とりあえず>>120のパターンだとアクセサは用意しておいた方が良さそう。 あとは「カプセル化」でググって下さい。
- 130 名前:名前は開発中のものです。 mailto:sage [2010/05/05(水) 17:38:37 ID:ct+h51hJ]
- >>125が一番恥ずかしいということでよろしいか
- 131 名前:名前は開発中のものです。 mailto:sage [2010/05/10(月) 19:00:51 ID:gdJFfJNK]
- 俺の知ってるHSPスレが悉く落ちているんだが、新スレとか立てたら来てくれる人いるんだろうか。
それとも派生スレを再利用した方がいいんだろうか。
- 132 名前: [―{}@{}@{}-] 名前は開発中のものです。 [2010/05/10(月) 21:30:38 ID:fxUBI2Ko]
- 立て逃げ宣言か。HSP厨はいくつになっても厨房だな
どうせ止めても立てるんだろうから好きにしなよ禿げ ゲ製板の本スレ ★ゲーム製作期待の星! HSP Part 9 ★ pc11.2ch.net/test/read.cgi/gamedev/1005313791/ 3Dスレ 【HSP】HSPで3Dゲーム 4 【3D】 pc11.2ch.net/test/read.cgi/gamedev/1229142015/ あとム板に質問スレと駄目です犯罪ですスレがあったな
- 133 名前:名前は開発中のものです。 mailto:sage [2010/05/10(月) 23:18:05 ID:gdJFfJNK]
- >132
トン。そこが本スレになっているのか。 パート16までは確認してたが、そんなスレがあったのぜんぜん知らんかった。 そっちで聞くようにしてみるよ。
- 134 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 17:11:43 ID:QbQcF3AV]
- 2Dスクロールアクション作っててジョイパッドにも対応することにしたんだけど
検証用にどの製品が良いのか分からないのでアドバイス下さい。 今までPCゲームほとんどやってなくて、 自分で調べた限りで検討してるのは、BSGP801GY(SFC風)です。 安くて(今作ってるゲーム以外では使わない)そこそこ評判が良さげで、 イベント展示用に持っていく時もかさばらなさそうだという理由。 ちなみに十字キー+通常4ボタン+スタート+セレクトを使用、約60FPS。 スーマリくらいの操作性でそんなシビアではないけど、キーの取りこぼしは避けたいです。 心配してるのは、一般プレイヤーはPS2風のコントローラーの方が好きなのか? もしPS2風の方が多い場合、自分がBSGP801GYで動作検証しても 他のプレイヤーのコントローラーで使えなかったりするのか?といったことです。 ただし今のとこ、プログラム上ではjoyGetPosEx関数でキー番号1〜12を取得して 自由にコンフィグ入れ替え可能なまでにはしてあって、実機がないからテストはしてない状態です。
- 135 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 17:58:42 ID:1jprUcQI]
- >>134
基本的にそのアクションゲームが 十字キーと十字キーと同じ面に付いているトリガー1〜4のみを使うゲームなら ほとんどのパッドで問題はないと思う スタート&セレクトに関してはパッドのよって割り当てが違うので要注意 自分が持っているものでもその部分にハットスイッチがあったり 連射切り替えボタンがあるようなモノもいくつもある PS形状のLR含め8ボタンのものはスタート&セレクトは9と10に割り当てられている 場合が多くSFC形状のパッドでは7&8に割り当てられている場合が多い 7と8はPS形状だとL2&R2ボタンに割り当てられている場合が一般的 これは間違えてプレイ中に押してしまう人も居るので使用によっては注意が必要 一応PSに似た配置のパッドでも一応の標準的なキーは位置はあっても モノによってキーは位置が違っていたりする、バッファローみたいな大手でも 同じメーカーで見た目のボタン配置が同じなのにキー割り当てが違う製品があるくらい キーコンフィグがあればあまり問題はないけれど一応1000円程度で買えるので ほぼPSと同じ配置のUSBゲームパッドを検証用に1つ買っておくと良いとは思う 実際問題今後もアクションゲームを作っていくなら奮発して2000円前後の 使い勝手のよさそうなPS配置のものを1つ買っておくと良い
- 136 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 18:35:12 ID:N2QL8OL8]
- USBは遅いからプリンタケーブルに接続するものを自作したほうがいいよ。プロはみなそうしている。
- 137 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 18:45:02 ID:1jprUcQI]
- >>136
いつの時代の話だか パラレルポート16M、USB1.1は12M パラレルに接続が流行ったのはゲームパッドをシリアルポートに接続していた時代のことだろ それにゲームを操作する信号自体 そこまでの転送容量はいらないぞ
- 138 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 18:48:21 ID:tiOS8rUG]
- それよりプロって何のプロだ?
日本じゃプロのPCゲーマーなんていないだろ韓国じゃアメリカじゃあるまいし
- 139 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 19:21:32 ID:ZMWUPVjp]
- PCじゃないが ウメハラがプロゲーマーって日本初でなのっていたな
- 140 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 19:24:07 ID:ibwkSFdU]
- え!?
ウメ、プロに昇格したの!?
- 141 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 19:34:01 ID:1jprUcQI]
- ウメハラって言うのがなんだか知らんけど
そいつはバカみたいにゲームパッドをパラレル接続にしてるのか?
- 142 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 20:06:24 ID:YWGBRWug]
- >>134
気にしすぎ。 キーコンフィグあるなら、気にする必要無かろう。 文句出てから対応で十分。フリーのゲームなんでしょ?
- 143 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 21:04:26 ID:ZMWUPVjp]
- >>140
自分でいっているだけみたいだが 詳しくは分からないからググってくれ
- 144 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 21:33:18 ID:QbQcF3AV]
- スタートとセレクトは、ポーズとメニュー用なので、
間違えて押すとうざいだろうけど、致命的ではないかと。 ゲームはフリーの二次創作ですがここまで数年かかったので 完成しても次のゲームを作る気力は無さそうですw いろいろ参考になりました、皆さんthx!
- 145 名前:名前は開発中のものです。 [2010/05/11(火) 21:52:33 ID:TKDOFbWs]
- きめーーー。ゲイ同士二人だけのスレW
yomi.bbspink.com/test/read.cgi/pinkcafe/1271942152/
- 146 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 21:58:44 ID:YWGBRWug]
- >>144
キーの配置が物によっておかしいのはあり得るけど、 ゲームはじまればすぐ気づくし、キーコンフィグでOKでしょ。 >間違えて押すとうざいだろうけど、致命的ではないかと。 ウザイ程度なのか、致命的なのかどっちなんだwwおちけつw
- 147 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 22:50:46 ID:Pq30OCBN]
- PCゲームならまず最初にキーコンフィグするだろ、普通
- 148 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 22:55:42 ID:6+Fyb6b4]
- SQLをゲームのデータ管理に使うのってそんなに便利なの?
誰か使っている人いる? marupeke296.com/SQLITE_main.html
- 149 名前:名前は開発中のものです。 mailto:sage [2010/05/12(水) 00:44:39 ID:/96M4YqH]
- >>148
普通に使うが、それはSQLを知ってるから。 ある程度規模が無いとメリットは感じないかもな。
- 150 名前:名前は開発中のものです。 mailto:sage [2010/05/12(水) 00:55:40 ID:Ctshm01T]
- データベースというものが一体何をするものなのかも良く分かっていない・・・
単なるデータ表みたいなのではないの? CSVファイルをC言語で読み込むのとは分けが違うのかなぁ?
- 151 名前:名前は開発中のものです。 mailto:sage [2010/05/12(水) 01:02:14 ID:TW+wbp9/]
- SQLで特に便利な機能って、"group by"とかか
SQL文1つで他の表と簡単に結合できる
- 152 名前:名前は開発中のものです。 mailto:sage [2010/05/12(水) 02:13:50 ID:RGXBbcnU]
- 集計やソートがSQLの強みだから普通のRPG程度ではあまり意味ない。
一番差が出るのは、たとえば交易やトレード、MMORG どのアイテムを誰がいくつ持っているかやユーザのログイン管理みたいに、 ランダムで適当に数字作るわけにいかないようなものだと、 逆にSQL使わないととても管理しきれない
- 153 名前:名前は開発中のものです。 mailto:sage [2010/05/12(水) 02:26:17 ID:lFdb3vUJ]
- >>152
君は馬鹿だろ。 共用のデータにアクセスする仕組みで一番枯れてるから利用されてるだけ。 >ランダムで適当に数字作るわけにいかないようなものだと、 >逆にSQL使わないととても管理しきれない ↑ コード書いてないだろ。
- 154 名前:名前は開発中のものです。 mailto:sage [2010/05/12(水) 22:55:41 ID:vZNCFf+m]
- >>150
語弊がかなりあるけどこんなイメージかな CSVファイルにデータ表(1ファイル1テーブル)を書いてC言語で読み書きする ↓ 何度もファイル開いて1行ずつ読んで…ってコード書くのがうざくなったので、 その部分を独立したプログラムにする。 このプログラムに対してデータを追加・検索するなどのコマンドを送れば 結果が返ってくる(もう使う方からはCSVファイルの存在を意識しなくてよくなった) ↓ このプログラム(DBMS データベースマネジメントシステム)は、 専用言語(SQL)で検索・追加・削除などの操作ができる しかも速くて大量のデータを扱える(1000万件とか) ※さらに整合性を保つための仕掛けとかもできる このDBMSが、OracleとかSQL ServerとかMySQLとかPostgreSQLとかのことで 独立したアプリケーションとしてサーバー上で動作する。 SQLiteはちょっと特殊で、アプリ組み込み型(モジュール扱い)で軽量なので取り回しやすい
- 155 名前:150 mailto:sage [2010/05/12(水) 23:08:29 ID:Ctshm01T]
- >>154
ありがとう! なるほど。 大量のデータに検索ってだけでも十分に使う価値ありだね。 幸い(?)にも、まだそういうが必要になるプログラムを書くことがなかったけど、 今後、新しい問題に取り組むときには意識してみるよ。
- 156 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 11:01:42 ID:RQqzrl9H]
- ま、ゲームでは使い道が少ないってだけで、
世の中ではばんばん使われてるからねぇ。 MMOでも作らん限り、積極的に利用できる場面は限られるけど、 それでも、仕事の知識が生かせて簡単に使えるから、使っちゃうなぁ。 今後はKVSが流行るんだろうけどね。 流行るというか、Web系だと必修になるかんじか。
- 157 名前:名前は開発中のものです。 [2010/05/13(木) 11:15:50 ID:gxo3tiAt]
- DBもさ、ひとつの表からリレーショナルでマスターとかテーブルに分割しちゃったあとの更新作業が面倒
いちいち各マスター更新してからID探して各テーブル更新とかじゃなく 元の一つの表ベースで1行更新掛けたら、あとはDBが各テーブルに振り分けて更新するくらいしてほしい
- 158 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 11:44:01 ID:vUM1T9VZ]
- それは正規化まちがってんじゃないか?
ビュー使う方法もあるし
- 159 名前:名前は開発中のものです。 [2010/05/13(木) 12:11:36 ID:gxo3tiAt]
- ビュー?
それでマスターIDとか意識しなくても ビューの1行追加で済む? りんご スーパー成田 ¥50 青森 りんご 田沢商店 ¥60 長野 みかん スーパー成田 ¥20 愛媛 みかん 田沢商店 ¥40 和歌山 これに りんご ジャスコ ¥70 中国 とか追加で済む? 実際のテーブルのデータは 1 1 50 1 1 2 60 2 2 1 20 3 2 2 40 4 こうなってるのはわかってるよな? 追加するなら 1 3 70 5 で、その前に店舗マスターと産地マスターを更新してID値を確保せねばならん これが addlist={りんご ジャスコ ¥70 中国}とかで更新出来るんならすごい
- 160 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 12:31:58 ID:vUM1T9VZ]
- ああ読み間違ってた
それなら無理 ただ、その手のコードは一回簡単なコードを書くだけだから、それほど手間とも思わないが
- 161 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 12:45:57 ID:vUM1T9VZ]
- と思ったが、ちょっと調べてみたら、更新ビューで追加もできるのがあるみたいね
外部キーはどうすんだろ
- 162 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 12:55:03 ID:RQqzrl9H]
- >>157
おまえ、本気でそれのほうが効率がいいっておもってる? >>159の例から考えると りんご スーパー成田 ¥40 青森 を追加した場合の処理はどうなるんだよ 入力を指示した人からすると、「スーパー」と「スーパー」は同じつもりでも、 PCだと別データとして認識するだろ。スーパー成田は別IDになるんか? そこまでDBの判断に任せるとかありえん。 それに、都度、登録済みかどうかの判断が入るとか致命的。 1000件程度ならいいが、10万件とかざらだろ。 俺が扱ってる奴ではマスタは1万件ぐらいでも、実データの方は7億ある奴があるぞ。 マスタの更新はデータテーブルに比べるとほとんど無いと言う普遍的な経験があるから、 正規化して、マスタを切り出すわけなのに、それは無かろう。
- 163 名前:名前は開発中のものです。 [2010/05/13(木) 13:08:37 ID:gxo3tiAt]
- >>162
お前・・・・プログラム上の処理のことと ユーザー誤入力の不具合とごっちゃにすんなよ ユーザーが「スーパー」を見逃して「スーパー」で新規登録しちゃう場合 どのみちDBはそれに従って新規追加するしかない それは自動と同じ不具合だ
- 164 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 13:20:34 ID:O3Jg0he7]
- なんでユーザーがマスタを手入力してるの?
逆にそれでいいなら表分割しない設計が正解じゃん
- 165 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 13:22:59 ID:RQqzrl9H]
- >>163
ふむ、例が悪かったかもしれん。 確かにごっちゃにしてるな。 根本的な話をすべきだな。 >>160が言うとおり、そんなの対した処理じゃないし、 そもそもそれの処理を素のSQLの処理だけでやるのか?って話になるよな。 DBの上には普通アプリケーション層があるよな。 あなたが言ってる部分とか、そこで吸収できちゃう。 というか、出来なきゃいけないでしょ。 画面から、さっきのデータだけがわたってくるわけでもないだろうし、 実際のアプリ画面とか考えたら、データ入力画面では、マスタ部分は選択にするでしょ。 選択肢にないなら、新規マスタ登録画面にでも遷移してマスタ登録するだろうし。 あなたがやりたいその処理が行われる場面ってのが想像できない。
- 166 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 13:33:55 ID:vUM1T9VZ]
- そういう状況があるかどうかなんて、それぞれの個々の条件によるんだから、議論してもしょうがないよ
問:「これこれこういう場合に何かいい方法ある?」 答:「そんな場合あり得ないから考えなくていい」 不毛だろw
- 167 名前:名前は開発中のものです。 [2010/05/13(木) 13:36:36 ID:gxo3tiAt]
- >>164
表分割せず全部プログラマがconst掛けてリストを作り データ量削減と更新をやるのは従来どおりの手法 今はDBを利用してやる場合(>>150)の話だ マスター更新がない場合でも、いちいち毎回ID値引っ張ってこなきゃならない処理が増える DB使わなきゃそんなの意識せず 単に りんご 田沢商店 だけでconst値で処理が終わる
- 168 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 13:42:21 ID:vUM1T9VZ]
- だから、更新ビューでINSERTできるRDBもあるって言ってんじゃん
俺は使ったことないから、後は自分で調べてくれ
- 169 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 13:43:15 ID:RQqzrl9H]
- >>166
確かに不毛だがw しかし、>>157がの希望に対しては答えでてるでしょ。 >>160でいうとおり「それほど手間ではない」 1回メソッド作れば終わり。しかも対した手間ではない。
- 170 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 13:59:31 ID:O3Jg0he7]
- >>166
元の問いに対しては「無い」が正解だな 代替案としては表の非正規化という回答を提示した ※他の方が回答している通りOracle等のほかのDBなら方法があるが 俺はSQLite前提の話な SQLiteのViewはReadOnly >>167 りんご、田沢商店がconst値になっている? それでいいなら商品名マスタや店舗マスタを分割する理由がない 一つの表にすべてのデータが入るべき DBを使う場合と使わない場合で実現している機能が違うから 手順が増えるのは当たり前
- 171 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 14:11:15 ID:O3Jg0he7]
- あ、わかった
配列に代入する手間をDBなしの場合はコストゼロで計算してるのか それDBを使うかどうかじゃなくて、データを外部に持つかの問題じゃね? ファイルから読み込む場合も同じ事がいえる
- 172 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 14:19:51 ID:uQyfT4Hj]
- >>167
文字列からIDを取り出す処理を混ぜるのなら、 insertでサブクエリーの結果を挿入すればいいだろ。 そもそもDBも分かってなければSQLも理解していないから、 あり得ない例が出てくるんだよ。
- 173 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 14:36:20 ID:vUM1T9VZ]
- >>171
確かにそうだがw ファイルに書くと削除処理の面倒くささがDBの比じゃないしね
- 174 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 14:51:09 ID:O3Jg0he7]
- 文字列からIDを取り出す処理ってDBなしの場合でも必要だよね?
DB有無の差がどこで発生したか本当にわからん ソースの行数レベルで比較してもDB有のほうが少なくなると思う
- 175 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 15:25:40 ID:X+eHsgZ5]
- いや、単純に、正規化してテーブル分けた場合の更新処理が、
なんで一発でできないんだって、文句言ってるだけだと思うぞ 総じてDBよりテキストファイルのほうが優秀、とかそんなことまで考えてないと思う
- 176 名前:名前は開発中のものです。 [2010/05/13(木) 18:28:38 ID:gxo3tiAt]
- >>171
なにもわかってないね const使って表一つで管理するとデータ量を圧縮できる (誰もconst使って表も分割するなど言ってない) それと同じことをDBで実現するには、表を分割してリレーション組まなきゃならない DB使って表も分割しないで使うというお前のやり方では 単にベラボウにデータ量を食うだけだ 同じ文字列ばかりのデータソースを毎回毎回検索するのがお前の流儀かね?
- 177 名前:名前は開発中のものです。 mailto:sage [2010/05/13(木) 18:41:30 ID:RQqzrl9H]
- 論点が益々わからなくなってきたわけだが。
|

|