ゲームプログラミングのためのフレームワークについて本気出して考えてみた
どうも、DarkOmemeです。
定期的になにか自分の考えたことを文章にしないと端から忘れます。
--
ゲームをいくつか開発していると、だいたいソースコードの一覧性が悪くなっていく。
そのうち状態管理ができなくなってきて、今自分はどこの画面のどこの状態のソースコードを書いているのかわけがわからなくなってくる。
というか、そもそもゲームプログラミングをするにあたって、作りたくない部分ばっかり手間取って、作りたい部分はおろそかになる。
考えても見れば、僕はもともと物語りが書きたかったのだ。
それが、なにをまかり間違ってプログラマーなんかになったのだ。
物語を書きたい!
↓
小説を書く
↓
ノベルゲームにはまる
↓
この小説をノベルゲームにしてしまおう!
↓
俺ストーリー書くから、お前プログラミングやれよ
↓
いやだよ。面倒くさい。それに今日俺塾だからもう帰るわ。
↓
ポツネン
↓
・・・プログラミング勉強するか
↓
VB6.0とか、なにこれプログラミングとか簡単ジャン!
↓
ノベルゲームのストーリーを記述するためのマークアップ言語を開発しよう!
↓
え、なに、パーサー開発?なんぞそれ美味しいの?
↓
うがー!マークアップ言語じゃ限界あるわ!こうなったらスクリプト言語を開発しよう!
↓
え、逆ポーランド記法?演算子の優先度?
↓
普通のテキストエディタじゃ使いづらくてせっかくの面白いストーリーが台無しだ!作る!
↓
もー、画像とか音声とか連携取りづらいっちゅう話!フレームワーク作んないとアイディアがどんどん形にならない!作る!
↓
VB.NETの度重なる仕様変更に心が折れてスクリプト言語開発・エディタ開発・フレームワーク開発を投げる(VB厨涙目)
↓
死のう・・・
↓
え、Flashって動画作るソフトじゃないの?
↓
Flex Builder?プログラマ向けFlash開発環境?
↓
無名関数とかwwwwwwシングルスレッドとかwwwwwwOS依存ないとかwwwwwwwwwwwうめええええwwwwwwwwwwwwww
↓
なにこれ、Effectとかカッコヨス!
↓
じゃあ、せっかくActionScript3とかMXML覚えたんだしゲーム作ろう!
↓
とりあえずRPG作る!
↓
RPGは扱うデータが多すぎるから、エディタをちゃんと作らなきゃ!
↓
エディタ作りは大変だなあ
↓
エディタ作りは大変だなあ
↓
エディタ作りは大変だなあ
↓
あれ?←いまようやくココ
なげえええええ。
で、その後、桶屋がどうなるかというと・・・
--
さておき。
あれ、本気出して考えてないのに、投稿が長くなっちゃったよ。
じゃあ、フレームワークの概要は次回。
べ、別に俺、ツンデレとか好きじゃねえし!
今日というか、日付的には昨日ですね。
やったことといえば、PostgreSQLとの熾烈な戦いです。
もともと、プロジェクト管理ソフトの9arrowsを試してみたかったんですよ。
プロジェクト管理というか、タスク管理というか、そんなソフトを後に作りたくて。
なんですが、この9arrowsを実行する環境づくりにめっさ足を取られて、ちょっと軽い気持ちで試すつもりが一日潰すという…。
とても熾烈な戦いだったため、記憶の一部が欠落しております。
本当は、このブログにログを残すつもりでしたが、色んな事やったのでどれが正しかったのか正直謎です。
色んなサイトを見ながらやって、Ruby on RailsとかRubyGemsとかRubyのPostgreSQLのアダプタとかはすんなりインストールできたんですよ。
ただ、PostgreSQLを運用するためのphpPgAdminとPostgreSQLの設定にすごいてこずりました。
phpPgAdminのページに接続してもデータベースに繋げられない模様。ログインしようとしても失敗する。
ちゃんとIDもパスワードも合っているのに失敗する。そんな現象です。
以前、phpMyAdminとMySQLはすんなり入ったので、そのノリでやってたら、全然だめ。
どうもキモとなる設定がここらへん。
- phpPgAdmin/conf/config.inc.phpの設定
- $conf['servers'][0]['host'] の部分(ドメイン名かIPを設定、ローカルの場合はlocalhost)
- $conf['extra_login_security'] = true の部分(true -> falseに変える)
- PostgreSQLの設定
- pg_hba.confの設定
- 認証モードをidentでなく他のもの(passwordとか)にする
- pg_hba.confの設定
ここらへんを気をつけてやれば、きっと上手く行きます。
もしも、設定が上手く行かなくて、検索したらこんなブログに引っかかってしまった、そこの君。
ここら辺を気をつけましょう。
そんなわけで、ひまころじーV2というプロジェクトは、今日はあまり進んでないのです。
Soundクラスを拡張するクラスであるBGMクラスを作って、ループ再生ができるようになったのと、BGMのフェードアウトをTweenerを使ってできるようにしたくらい。
ちゃんと聴覚特性を考慮して、フェードを指数関数的に音量を下げるようにしてみた。それが正しいかどうかはさておき。どうなんだろう?
Tweener便利だね。動作比較の上では遅いらしいけど。(比較サイトの所在を忘れてしまったのでリンクが見つかりませんが、速度比較を行っている方がいました
書いてみて気づいたけど、フェードインも作らなきゃね。考えてなかったけど。
ファイルのロードなんかを最近作っているんだけど、ActionScriptでThreadを使えるようにする、ActionScript Thread Library 1.0 (そうめん)ってライブラリがあるらしく、このライブラリを使うともっと簡単に実装ができそうなので検討中。
さて、今日はそんなとこです。今週中にはファイルのロードやらを完成させたい。進捗表示も頑張って作るぞ。
あれ、は、入らない。。あれ?えっと・・・えーと・・・
ということで、ようやく入りました。AwStats。
色々なサイトを見回り、お世話になりました。
特に僕のとこと環境が似ていた
というサイトはとても分かりやすかったです。ほんと。
あ、そうそう。以前のはてなでのブログでもそうでしたが、タイトルは気にしたら負けです。
それがここでのたしなみというもの。
特に内容と関係ない場合が多いです。もちろん、今回もね。
ということで、今日はせっかくの週末なので、ガリっと開発を進めます。
私信:フィジーのウソップへ
本日、恐らくメッセできないと思う。ただ、だめもとでオンラインしている場合もあるので。
なので、本命は明日の早朝(日本時間)にしましょう。
日本の6時にいればいいのか?