Hatena::Groupiphone-dev

とあるiPhone開発者とゲームエンジン このページをアンテナに追加

2011-01-23

まずは企画を考えてみる

11:16 | まずは企画を考えてみる - とあるiPhone開発者とゲームエンジン  を含むブックマーク はてなブックマーク - まずは企画を考えてみる - とあるiPhone開発者とゲームエンジン

cocos2dの勉強のために3dダンジョン探索ゲームを作ってみよう。

パーティーを組んでダンジョンに潜り、モンスターと戦いながら地下を目指す。

たまにRPGやりたくなって探すんだけど、どれも英語オンリーだったり、キャラが可愛くなかったりしてなかなか手が出ない。

「こんなゲームが欲しいなー」なんて俺得な事を考えつつ、画面のイメージをタブレットで落書きながら妄想(≒企画)を広げてみる。

f:id:saika_makoto:20110123105137j:image

どこから手を付けるか?

11:16 | どこから手を付けるか? - とあるiPhone開発者とゲームエンジン  を含むブックマーク はてなブックマーク - どこから手を付けるか? - とあるiPhone開発者とゲームエンジン

まずはダンジョン表示と、タッチイベントによるマップ移動かな。

戦闘とか、パーティー編成なんかはまだ妄想段階なので後回し。

f:id:saika_makoto:20110123111323j:image

今日はまずはこんなカンジの画面を作ってみようか。

ダンジョンの壁

12:03 | ダンジョンの壁 - とあるiPhone開発者とゲームエンジン  を含むブックマーク はてなブックマーク - ダンジョンの壁 - とあるiPhone開発者とゲームエンジン

案の定フリーハンドで壁を描くと使い物にならなかった(汗

正確なパースが欲しかったのでBlenderでガイドをレンダリングしてみた。

f:id:saika_makoto:20110123120317p:image

グリッドにスナップさせると正確なオブジェクトを作るのがすごく楽。

マテリアルにはワイヤフレームを指定してレンダリング

これならガイドに使えそうだ。

余談だけど去年からBlender2.5の開発もかなり進んでおり、UIの改善から安定性の向上と実用に耐えうる段階まできている。

個人ではMayaや3ds maxを買えそうにないのでとても期待してます。

http://www.blender.org/


仮の壁イメージ完成

13:07 | 仮の壁イメージ完成 - とあるiPhone開発者とゲームエンジン  を含むブックマーク はてなブックマーク - 仮の壁イメージ完成 - とあるiPhone開発者とゲームエンジン

Blenderの画像をガイドに仮の壁イメージを作成。

今度はこれを表示するコードを実装しなくちゃ。

f:id:saika_makoto:20110123130510p:image

お腹減ったのでひとまず昼飯にしよう。

マップデータ

19:26 | マップデータ - とあるiPhone開発者とゲームエンジン  を含むブックマーク はてなブックマーク - マップデータ - とあるiPhone開発者とゲームエンジン

ひとまずマップデータはエディタ的な物がないのでテキストで持つ事にしてみた。

落とし穴やダメージ床などの新要素も追加しやすいと思う。

本格的に作り込むならもっと細かい設定のできるエディタを用意する必要があるけど、今はこれで十分。

マップデータはウイザードリー#1のB1Fを模倣してます。マジリスペクト!

ひとまずボタンイベントでプレイヤーが移動したり、向きを変えられる事をコンソールで確認。

f:id:saika_makoto:20110123192108p:image

次は壁の表示いってみますかね。

晩飯のカボチャを煮ながらどうやって作るか考えよう。

壁表示

00:00 | 壁表示 - とあるiPhone開発者とゲームエンジン  を含むブックマーク はてなブックマーク - 壁表示 - とあるiPhone開発者とゲームエンジン

ようやく壁を表示してダンジョン内を歩き回れるようになった。

壁の表示の仕組みは非常にシンプルで、ゲームウォッチ(古い?)のようにあらかじめ壁画像を配置しておき、プレイヤの向きとマップの状態で表示/非表示を切り替えているだけ。

壁が若干ずれているのはノーマル解像度と高解像度にあわせるために画像位置をスクリーンサイズの割合で指定しているため。

今回は目測で位置を決めたけど、しっかり計算すればピッタリに表示できるはず。

f:id:saika_makoto:20110123233825p:image

実際に操作してみると思ったより指で画面が隠れてしまう。

移動キーは右によけておくべきかな?

目標にしてたマップ表示&移動までできたので本日はここまで。


リファクタリングもしてないコードだけど進捗ってことでアップ。

http://files.me.com/penguin.dream/rbgt9r

(※リンクは12ヶ月間のみ有効にしてあります)

はるはる2012/04/09 17:39こんにちは。3Dプログラミング初心者です。
勉強もかねて3Dダンジョン系のゲームを作ろうとして、
このページを発見しました。
もし宜しければ、コードを再アップして頂けないでしょうか?