ゲ製作の観点で、データベースを利用するスレ
■ このスレッドは過去ログ倉庫に格納されています
ム板などで話が進むような業務視点でのデータベース(以降・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でも構いません。 さて、なんとなく立ててはみたものの・・・ 今日はもう寝る・・・・
眠い。
ちなみにSQLiteを利用したアプリケーションの事例で言うと、とりあえず身近な所では専ブラの Jane とか。
他、入門系については ttp://www.google.co.jp/search?q=sqlite ← こちらをどうぞ。 ・・・・おやすみなさい・・・
専スレの意義あんのかなあ
ゲ製の観点つってもな
毎フレーム叩けるストレージでもないし
MMO向けな視点で語るくらい?
オフゲのデータリスト管理にDB使う利点ってピンと来ないしな
ゲーム用データなんぞエクセルやCSVあたりのデータ読んで
必要なインデックス張る程度で済むと思うのだけども。
よほど柔軟な設計が要るか、オンゲでトランザクションややこしくなりそうなとき? 例えばMMOでも、そのサーバ側を作ってみたい人とかでもいいし。むしろ実地的な部分で。
例えばレン鯖でもMySQLが使える所もあるし、あと趣味や同人以外で、例えば学生ならスキルの範疇として
ついでに覚えたいって人もいるだろうし。
で、そういった思惑含めてのDB関係、特にSQLやその周辺となると、
それ自体がまた別の考え方なり、言語そのものも別になったりする訳だから、
普通のコーディング主体の製作スレだと、脱線気味になる可能性もあると思うんだよな。ありがちな展開として。
そう言う意味で、だからむしろ専スレ。 興味無ければスルーでも良い訳だし。
意義はあると踏んだ。
>よほど柔軟な設計が要るか、オンゲでトランザクションややこしくなりそうなとき?
うん、それでも。 あるいは単に使ってみたいだけでもおkかなと。 好きなジャンルを入り口とした、スキルアップ的な意味で。
あるいはもっとライトな視点でもいいかなと。
・・・・つうかまだ起きてる俺ヤバい。今日はもうこのまま行くわww SQLiteでローカルにファイルを置く、という点では
設定ファイルに使うのが考えられる。
WindowsだとWritePrivateProfileStringとか使ったり
レジストリ使ったりするし、オレも今まで両方(+独自フォーマット)使ってきたが、
SQL使い慣れてるとこっちのが楽だったりするんだわ。 今一どういうスレかわかんないんだけど
言語関係なくゲームで使うデータを外部に置く手法について話し合うスレか?
それともSQL以外はダメか? 帰って来ました。レスありがとうです。
>>9 そういう意味だと、開発言語は関係無いとして DBは広い意味ではなく、SQLを使うDBの話です。
広い意味の「データベース的にファイルを扱う手法」みたいな外部にデータを置く手法、とかではなく。 分かり難くてスイマセン。
ちょうど >>8 さんが実体験的な部分を書いてくれたんですけど、要するに製作する上での選択肢の一つとして、
DBを使ってみるって話です。
で、実際にそれを選択肢として考えた時に、初心者の人とかだと 「具体的にどうすればいいの?」 って部分で
ハードルがあると思うので、それをサポートする的なスレのつもりです。 そういう意味で、視点の広がりにもつながるし、
興味がある事が大前提ですが、ゲーム製作の、製作する段階そのものも面白くなるかなぁと。 新しいチャレンジをしたい人にとっては。
なので、すでに仕事などで使っててわかってる人(例えば俺や他の方)も、「ググレ」ではなくて
色々話せたらなぁと思ったわけです。 具体的には、例えばサンプルとして 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で取得して・・・ みたいな構成で作れるよね。 みたいな発想。
複雑なデータを一元的に集約して管理出来るから楽になるな、って言う発想。
・・・もちろん、製作する内容によっては必須じゃないし、そもそも他の手段で実現出来るからやらない(不要、ないし興味が無い)なら、
このスレに参加する必要は無いですが、 興味があって、また(おまけとして)将来仕事にしたい人がついでに覚えられたら
一石二鳥かもしれないな、と思った訳です。
今日じゃないけど、なんかサンプル書きますね。・・・・こういうまったりスレでどこにうpしたらいいかアレなんですが。
C# + SQLite で、簡易RPG的なヤツ。
アプローチの視点を広げる。 で、「このスレではその手段として」 DBを使う、って所です。 ゲーム製作に限定して。
おお、いいスレができたもんだな
DBは仮想ファイルシステムとしてOSの制限を受けにくいってのがある
例えば、ファイルが同じフォルダに1万あるゲームだとする
そうなると読み書きが著しく遅くなる
独自の圧縮ファイルを使って1ファイルにする方法もあるけど、これはバグの温床になりそう
この場合は速度低下が少なく、多くの人に使われてるSQLiteのようなDBのほうがいい
で、俺もゲームに使ってみたい1生徒だ
サンプルに期待 >独自の圧縮ファイルを使って1ファイルにする方法もあるけど、これはバグの温床になりそう
それ!そういう視点もあります。
・・・頑張って書きますwwww 軽いヤツですけどね。のんびり行きます
とりあえず今日から2週間程度を目安として、一回たたき台、ネタとしてうpしますね。
DBとか興味もなかって、いまいち把握できない俺がいる。。
しかし>>11で目覚めて、初めて興味もった。
サンプル読んだら、話の筋は分かると思うので期待しています。 C#でSQLiteって事は、System.Data.SQLite使うのかな。
LINQ to SQLite使って.NET3.5向けでやるの?それとも使わず.NET2.0向け?
似たような事をやろうと考えてた者として、たたき台のサンプルが気になるw ああ、ちょうど今XNAでSQLite使ってるところ
SQLiteはやっぱいいね こんばんは!
>>15 おお!いいですね。慣れると面白い&楽ですよ!・・・とりあえず今は先入観無しで待ってて下さい。
>>16 おお、じゃあ是非そちらもサンプルを何かww てか、本当に簡素な内容にしますよ?
多少実地的にはするけど、余計な事やりすぎて、要点がぼやけたりしないようにしますね。 あと、
対象はとりあえず 2.0でいきます。 System.Data.SQLite で。 その方がノウハウの分岐が一段階少ない=シンプルなハズなので。
※コーディングの手間としてのシンプルさではなく、 手順として覚えやすいシンプルさ。 DB直球でいきますww
その方が把握しやすいと思うので
あ、リロードしたらww
>>17 お、XNAですか! 俺XNAは手出そうか迷いつつ、なんか放置していつも通り手描きしてます
SQLite って、最初にユーザ作成も無いし GrantもDB作成も無いから、導入したばっかの頃って、なんか笑えますよねww
楽すぎて ハイスコアの記録なんかにも使えるかもね。
まあ点数だけならいらんけど、プレイ時間とか取得アイテム数とか
いろんな記録を保存するのに、そのまま入れていって取り出すときに加工できる。 シミュレーションのような膨大なデータを管理する必要のあるゲームには
DBは有用かもしれないね ゲ製では脈絡なく十日以上放置されてたら見限った方がいいよ SqliteいいよSqlite
めっちゃ使いやすい SQLiteが便利なのは同意だが
そもそもSQLが使いにくい データ検索と同時にソート処理ができて楽だよな
RPGで「HP1以上で行動不可でない敵味方を素早い順にリストアップ」とか
これが一発で終わるのはホント楽 「メモリ上で処理ゴリ押し」と「DB側に任せる」で、どの程度で
後者が優位に立てるかってのが問題だな。
そもそもゲームは複雑な構造がいらないので、DBの出番は
あまりない。というか有効活用できない。 そんなのゲームによるだろ
最近多いブラウザゲームはDBが大部分を占めてる SQLiteはオフゲー使うとデータ丸見えになるのがなあ >>32
俺こないだスイリ小説ってのを読んだんだけどさ
くだらねーと思ったよ
だって犯人がすぐわかるんだもん
最後の数ページめくるだけですぐわかるんだぜ
ちんたら100ページ以上読むやつなんかいねーってwww
あれ書いてる奴ぜったいバカだよ
フツー気づくだろ 正直使い所はたくさんあると思うんだがぜんっぜん賑わってないなー スタンドアロンで使うことって滅多にないだろ
クライアント環境にSSD必須とかありえんし >>34
お前これで揚げ足取ったつもりなの?
お前が正論言ったつもりなら、なぜほとんどのソフトでデータを暗号化してるのか説明してみろ スレタイトルに興味をもって覗いたがガックシ
mmoの大規模処理なら任せてくれっておもたが
みんなsqlliteが好きなのか クラ側でDB使うのが意味ありそうなのはスカイリムばりのMODシステム使う時くらいか。
でもそれどうせバイナリデータだろうしなー。 クラオンリーでもセーブデータの読み書きに使うと便利よ >>39
テーブルはどんな感じ?ガチガチに正規化してる?崩してる?
DBはやっぱOracleなのかな。ゲームに向いてるDBとかあるのか気になる
>>42
試作中にデータをいじりたい時に困る
テキストデータみたいにテキストエディタで開いてすぐってわけにはいかないし・・・
なにかいいツールないかな 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
32BER4YLPL ■ このスレッドは過去ログ倉庫に格納されています