同人ソフトを作るために現在決まっていることのメモです。
| プラットフォーム | Windows (Win32API) |
|---|---|
| 言語 | C++ + Boost + TR1 |
| 開発環境 | Visual C++ 2008 Express Edition |
| プレゼンテーションレイヤー | (未定) |
| パーシストレイヤー | SQLite |
| 効果音 | WAV |
| BGM | Ogg Vorbis |
| スクリプトドライバ | Lua |
| データ抽象化 | POSH |
| プロジェクト管理 | Chaw |
| ソースコード管理 | Chaw + Subversion |
| バグ管理 | Chaw |
やっぱりプレゼンテーションレイヤーが鬼門ですね。作るゲームによって適切に切り替えられるような仕組みが必要です。大丈夫です、きっと yomogi さんが良いゲームエンジンを作ってくれます。
Comments
…
RSSを更新したらyomogiの文字が…
驚きました(汗
え、エンジン…
いま人工知能を作ろうと思ってました(現実逃避
とりあえず2008を入れてきます
この間インストールDVDを作ったところなので
APIということはDirectXは使用しない、ということでしょうか
その前に○○レイヤーというのは何でしょうか…知識不足ですいません
あと、POSHとChawが過去記事を読んだだけでは具体的によく解らないので解説をお願いします
> yomogi さん
システム開発の世界ではプログラムや技術の立ち位置を
層(レイヤー)で表現するのですが、
パーシストレイヤーはデータを保存する階層のことで、
プレゼンテーションレイヤーはグラフィック描画などの表現に関する階層のことです。
ちょっとピンと来ないかもしれません、良い表現を考えます(^^;
POSH と Chaw に関しては別途エントリーをポストしますのでお待ちください。
了解しました
ところで…作成に戻ってみたのですが、、、
.NetFrameworkに浸かりすぎて腕が…
という感じでしたw
しかし、.NetFramework的なものを無理矢理APIで実装出来なくもないので雰囲気だけでも作成しています
とりあえず2008とLua(5.1)を入れてきました
本格的に様々な状態に対応可能なエンジンを書いてみようと思うと、問題が後から出てくるとまずい気がするので、かなり質問をすることになるかもしれません…というか、します
ウィンドウサイズはどうしましょう
最近ワイド化の話も聞きますし対応しておけば2~3年後を見ると楽かな、と思いまして
*4:3
640×480
800×600
1024×768
*16:9
640×360
800×450
1024×576
*16:10
640×400
800×600
1024×640
と、数をそろえてみました
まあ、エンジンですし、対応しなければ…とか思いつつ(汗
腕が追いつくだろうか…
さて、VC++が最初に吐き出すサンプルを改造していくと言う形で作成しますか?それとも、この形っ!というステキな形はありますか?
あと、ウィンドウの情報をどのように管理しますか?
内部でコンパイルする時に固定してしまうか、エンジンらしく外部ファイルで変更可能にするか…
固定は楽ですが、エンジンらしくない気がします(コンパイル時に一つのファイルを書き換えるだけで変更可能にはしているのですが)
外部ファイルにしても、INIに記した場合書き換えられることが怖いですし、暗号化した形が一番なのでしょうか
普段考えているのが、フラグ情報の暗号化をするしても、一つのフラグだけを書き換えるのは書き換える場所を教えている気がするので、ハッシュのような形で一定の周期で数値を拾った時の値で管理するのがいいのではないかとか思っているのですが…
そんな感じで作成してみようとすると、技術的な問題が(アルゴリズムではなくファイル書き換え側です)いくつか出てくるのですが、一つはINIは指定したキーを書き換えることは可能ですが、ファイルで指定した位置の指定した数分データを上書きで書き換えるようなプログラムは無いのでしょうか
やはり、ファイルを全部読んで指定した位置だけ書き換えて全て上書きするしか無いのでしょうか
よろしくお願いします。
追伸(?)
LuaはLua本家のbinaryのDownloadからWin32VC2005コンパイル版をダウンロードして、中からlua5.1.libを使用していますが、これで大丈夫ですか?
oggの再生機能を何とか実装してみました
あとは、SQLiteも入れたので…
大体環境は揃いました
資料をあさりながら何とかやっていますが、、、
作りながらまとまった情報ページを自分で作ってみます
上で、『さて、VC++が最初に吐き出すサンプルを改造していくと言う形で(以下略)』
と書きましたが、とあるサイトでWinMain関数周辺(ウィンドウ生成・初期化、等々)をクラス化しているものがあったので
これもいいな、と…
(考えが不安定ですいません
もう少し固めてから作ってみようと思います)
> yomogi さん
こんにちは(^^
返信が遅れて済みません m(_ _;)m
具体的にゲームエンジンの開発を進めるとなると、
一度詳細を打ち合わせした方が良さそうですね。
今度、メールさせていただきます。
全体的な設計としてはタスクのように中核を担当するプログラムは
しっかりとクラス設計して作ろうかと思っているのですが、
Windows のウィンドウ作成などは Win32API であっても MFC であっても、
VC++ のスケルトンであってもゲームになるようにするほうが良いと思います。
これも一度詳細を詰めましょう。
Ogg の再生は非常に興味があります。
ぜひともサイトができたら教えてください(^^
Contributions