トップページgamedev
31コメント14KB

ゲ製作の観点で、データベースを利用するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/09/03(水) 03:39:52ID:wix3Ajo1
ム板などで話が進むような業務視点でのデータベース(以降・DB)の話ではなく、
「興味がある、使ってみたい。でもよくわからない」 という人まで含めた初歩的なDBスレです。

一応、ゲ製作板と言う事で、ゲームに組み込むケースで、まったり考えたいと思います。

またそんな訳なので、初心者の人でも軽く質問できるような流れで、
概念やイメージ的な話よりも、具体的な利用方法に重きを置いて進められたらと思います。
(ぶっちゃけSQLとか)

とりあえず、ゲームなどアプリケーションに組み込みやすいDBMSと言う事で、ここでは

 SQLite: ttp://ja.wikipedia.org/wiki/SQLite
       ttp://www.sqlite.org/download.html

の利用を一つのデフォルトにしておきますが、別に MSDE: ttp://www.microsoft.com/japan/SQL/msde/default.mspx
等、他のDBMSでも構いません。
0002名前は開発中のものです。2008/09/03(水) 03:40:41ID:wix3Ajo1
さて、なんとなく立ててはみたものの・・・ 今日はもう寝る・・・・
眠い。
0003名前は開発中のものです。2008/09/03(水) 03:47:51ID:wix3Ajo1
ちなみにSQLiteを利用したアプリケーションの事例で言うと、とりあえず身近な所では専ブラの Jane とか。
他、入門系については ttp://www.google.co.jp/search?q=sqlite ← こちらをどうぞ。 ・・・・おやすみなさい・・・
0004名前は開発中のものです。2008/09/03(水) 05:30:48ID:K5sUxGx8
専スレの意義あんのかなあ

ゲ製の観点つってもな
毎フレーム叩けるストレージでもないし
MMO向けな視点で語るくらい?
オフゲのデータリスト管理にDB使う利点ってピンと来ないしな
ゲーム用データなんぞエクセルやCSVあたりのデータ読んで
必要なインデックス張る程度で済むと思うのだけども。

よほど柔軟な設計が要るか、オンゲでトランザクションややこしくなりそうなとき?
0005名前は開発中のものです。2008/09/03(水) 05:48:18ID:wix3Ajo1
例えばMMOでも、そのサーバ側を作ってみたい人とかでもいいし。むしろ実地的な部分で。
例えばレン鯖でもMySQLが使える所もあるし、あと趣味や同人以外で、例えば学生ならスキルの範疇として
ついでに覚えたいって人もいるだろうし。

で、そういった思惑含めてのDB関係、特にSQLやその周辺となると、
それ自体がまた別の考え方なり、言語そのものも別になったりする訳だから、
普通のコーディング主体の製作スレだと、脱線気味になる可能性もあると思うんだよな。ありがちな展開として。

そう言う意味で、だからむしろ専スレ。 興味無ければスルーでも良い訳だし。
意義はあると踏んだ。

>よほど柔軟な設計が要るか、オンゲでトランザクションややこしくなりそうなとき?

うん、それでも。 あるいは単に使ってみたいだけでもおkかなと。 好きなジャンルを入り口とした、スキルアップ的な意味で。
あるいはもっとライトな視点でもいいかなと。

・・・・つうかまだ起きてる俺ヤバい。今日はもうこのまま行くわww
0006名前は開発中のものです。2008/09/03(水) 08:56:54ID:AP8mwzk7
ローカルルールに違反してない?
0007名前は開発中のものです。2008/09/03(水) 09:09:36ID:7NpUxjry
>>6
どの項目?
0008名前は開発中のものです。2008/09/03(水) 14:44:10ID:bxbvneh7
SQLiteでローカルにファイルを置く、という点では
設定ファイルに使うのが考えられる。
WindowsだとWritePrivateProfileStringとか使ったり
レジストリ使ったりするし、オレも今まで両方(+独自フォーマット)使ってきたが、
SQL使い慣れてるとこっちのが楽だったりするんだわ。
0009名前は開発中のものです。2008/09/03(水) 18:34:50ID:xEJ7j59t
今一どういうスレかわかんないんだけど

言語関係なくゲームで使うデータを外部に置く手法について話し合うスレか?

それともSQL以外はダメか?
0010名前は開発中のものです。2008/09/03(水) 19:05:52ID:hXrSQ/XT
帰って来ました。レスありがとうです。

>>9 そういう意味だと、開発言語は関係無いとして DBは広い意味ではなく、SQLを使うDBの話です。
広い意味の「データベース的にファイルを扱う手法」みたいな外部にデータを置く手法、とかではなく。 分かり難くてスイマセン。

ちょうど >>8 さんが実体験的な部分を書いてくれたんですけど、要するに製作する上での選択肢の一つとして、
DBを使ってみるって話です。

で、実際にそれを選択肢として考えた時に、初心者の人とかだと 「具体的にどうすればいいの?」 って部分で
ハードルがあると思うので、それをサポートする的なスレのつもりです。 そういう意味で、視点の広がりにもつながるし、
興味がある事が大前提ですが、ゲーム製作の、製作する段階そのものも面白くなるかなぁと。 新しいチャレンジをしたい人にとっては。

なので、すでに仕事などで使っててわかってる人(例えば俺や他の方)も、「ググレ」ではなくて
色々話せたらなぁと思ったわけです。
0011名前は開発中のものです。2008/09/03(水) 19:15:21ID:hXrSQ/XT
具体的には、例えばサンプルとして RPGのシナリオデータを考えた場合に、
 「20個の町、各町に5〜20人のNPC、一人あたりフラグ分岐で3つの台詞とそれに伴うアクション(フラグ変更など)」 があった時、

 ・[町テーブル] town_id、town_name、他
 ・[NPCテーブル] npc_id、npc_name、town_id
 ・[NPC属性テーブル] npc_id、player_flag、message、action_code

みたいにテーブルを構成して、そのデータ(DBではレコードと言う)をSQLで取得して・・・ みたいな構成で作れるよね。 みたいな発想。
複雑なデータを一元的に集約して管理出来るから楽になるな、って言う発想。

・・・もちろん、製作する内容によっては必須じゃないし、そもそも他の手段で実現出来るからやらない(不要、ないし興味が無い)なら、
このスレに参加する必要は無いですが、 興味があって、また(おまけとして)将来仕事にしたい人がついでに覚えられたら
一石二鳥かもしれないな、と思った訳です。
0012名前は開発中のものです。2008/09/03(水) 19:18:29ID:hXrSQ/XT
今日じゃないけど、なんかサンプル書きますね。・・・・こういうまったりスレでどこにうpしたらいいかアレなんですが。
C# + SQLite で、簡易RPG的なヤツ。

アプローチの視点を広げる。 で、「このスレではその手段として」 DBを使う、って所です。 ゲーム製作に限定して。
0013名前は開発中のものです。2008/09/03(水) 19:49:39ID:SwuTrgXR
おお、いいスレができたもんだな
DBは仮想ファイルシステムとしてOSの制限を受けにくいってのがある

例えば、ファイルが同じフォルダに1万あるゲームだとする
そうなると読み書きが著しく遅くなる
独自の圧縮ファイルを使って1ファイルにする方法もあるけど、これはバグの温床になりそう
この場合は速度低下が少なく、多くの人に使われてるSQLiteのようなDBのほうがいい

で、俺もゲームに使ってみたい1生徒だ
サンプルに期待
0014名前は開発中のものです。2008/09/03(水) 20:15:48ID:hXrSQ/XT
>独自の圧縮ファイルを使って1ファイルにする方法もあるけど、これはバグの温床になりそう

それ!そういう視点もあります。
・・・頑張って書きますwwww 軽いヤツですけどね。のんびり行きます
とりあえず今日から2週間程度を目安として、一回たたき台、ネタとしてうpしますね。
0015名前は開発中のものです。2008/09/04(木) 13:31:37ID:13gY5jkE
DBとか興味もなかって、いまいち把握できない俺がいる。。
しかし>>11で目覚めて、初めて興味もった。
サンプル読んだら、話の筋は分かると思うので期待しています。
■ このスレッドは過去ログ倉庫に格納されています