進捗報告 – タイトル仮決め

sdpo_progress_title

多忙になってきたのと睡眠に必要な時間がなぜか伸びてきているので製作時間がなかなか取れない今日このごろ……

暫定的ではありますが、現在制作中のゲームのタイトルは「魔法使いのカーディナル」にしようかと考えています(制作開始時は全く別の名前だったのですが、シナリオの変更によってタイトルの要素がどこにもなくなってしまったので……)。カーニバルではありません。

まだシナリオも完全には定まっていないので、気分でタイトルごと変わるかもしれません。

進捗報告 – アイテムいろいろ

sdpo_progress_drone sdpo_progress_wirerope sdpo_progress_footing

アイテムをひたすら実装しています。

現在、実装済のアイテムは約140種類、パラメータ違いのアイテムを除くと70種類くらいです(我ながら頑張りすぎた)。個々のアイテムだけで簡単なゲームなら一本できそうな感じなのですが、アイデア一本勝負のゲームを作るよりは自由度が高いのを作るほうが好きなのでネタ切れになるまでアイテムを増やす予定です。

アイテムの半分くらいは手に装備してゲーム中でZ/Xキーで使用する「道具」なのですが、なにしろ全部キーの使い方が違うので(ゲーム画面中の右下に表示)、その操作説明をどうするかが最近の悩みです。ゲームの説明に一個ずつ書いていったらネタバレになるし……

進捗報告 – アイテムのグラフ

タスク山積みの中でちまちま作ってます。

アイテムとアイテム合成のレシピが増えてきて頭のなかだけでは管理できなくなってるので、Graphvizで可視化しつつ調整しています。

sdpo_progress_craft_graph

現在の様子(ノード・エッジの色とかの説明はややこしいので省略)。ネタバレになるので直接お店・自販機で買えないアイテム(白色)は名前を非表示にしてます。二重丸なアイテムは実装済みなのでそこそこ出来てるように見えますが、大部分がアイコンを描くだけで出来る中間素材なのでなんともないえない感じです。

「日本で売ってるようなアイテムを駆使して上位のアイテムを合成する」っていうコンセプトは個人的にとてもワクワクしてよい感じなのですが、主人公(女子)が鍋の蓋やらリモコンやらを買い占めて現代兵器を錬成する様子は大変シュールになりそうです。

 

 

進捗報告 – マップの作成

システム面の作成段階で割と悩んだのはマップの作成方法についてです。マップチップを使った方法ではマップエディタ(またはそれに類する編集手段)を作成する必要があるのですが、ゲーム内にどう組み込むかという問題もあり、操作性のいいエディタを作成するのはなかなか難しいです(現に数回心が折れてる)。

以前まで採用していた「ベクターグラフィックスとHitTest関数を使った作成法」は非常に実装が簡単ですが、

  • 床の法線や情報(素材によって足音が変わる、とか)を取得することが困難
  • 厳密な当たり判定が取れない
  • グラフィック面がチープになる(繰り返しのパターンなどを動的に描画できない)

などの問題があります。

sdpo_progress_map_daydream
過去作DayDreamでのマップ。床のテクスチャはビットマップによる塗りつぶし(手作業)で表現

それを踏まえて、今回は「コンポーネント・ムービークリップのクラス情報を利用した動的生成」という手法を取ることにしました。具体的な手順は以下のとおりです。

  1. マップとなるムービークリップ上に配置したいムービークリップをFlash CS4でマウスでグリグリ配置し、swcとして書き出す
  2. 各オブジェクトを表すクラス(「岩」とか「木」とか)とムービークリップを紐付ける(抽象メソッドでクラスを返すようにしています)
  3. 紐付けに従ってマップロード時にオブジェクトを生成する

sdpo_progress_map_editer
1. でのマップ。床(紫色)はコンポーネントのパラメータで属性(「雪原の床」とか)を指定

sdpo_progress_map実際に生成されたマップ。木は「雪原の床」クラスで初期化時に動的生成

sdpo_progress_map_snowedge
「雪原の床」の単位タイル。床の動的生成時にはこれをちょうどいい間隔で拡大縮小して敷き詰める

これによって適当にオブジェクトを配置するだけでそれっぽいマップを作ることができ、作者のモチベーションが保たれます。

進捗報告 – アイテムとかイベントとか

月一更新と言っておきながらうっかり2ヶ月放置してたので制作の様子を置いておきます。

sdpo_progress_item アイテムまわりのUI。電気・液体の概念を実装しているので、エナジードリンクをポリタンクから飲んだりソーラーパネルでLEDを点けたり出来ます。

アイテムはcsvでちまちま管理してます。

sdpo_progress_craft工作システム(レシピはテスト用)。書籍を買うと行えるようになります。(画像には載ってないけど)素材の他に工具が必要になるレシピもあります。

sdpo_progress_eventイベント(明示的に日本人が出てくるゲームを作るのは初めてなような気が……)。イベントは独自の簡易言語で記述しています。

上には出てないですが、道具・装飾品の装備、買い物、攻撃(?)なども実装しています。

目下の悩みは、アイテムのクラスの管理についてです。イベントやレシピ等ではアイテムはアイテムID(傘なら”kasa”等)で記述されていて適宜クラス(Kasa等)でnewしたりするのですが、クラスがコンパイル時にどこかでimportされていないとそもそもクラスがswf内に入らなくなります。今はアイテムの全クラス(27個)を名前だけ列挙して無理矢理入れてるのですが、アイテムが増えたらどうなるのやら……

お引っ越し

サイトを全てWordPressに移行しました。ゲームはページの上のメニューから遊べます。

工事中なのでゲームがプレイできたりできなかったりするかもしれないです。ごめんなさい。

更新再開?

2年半ほど大学生活にうつつを抜かしてサークルとか勉学とかバイトとか人間関係のナニを満喫していたのですが、ゲームを作る意欲が一向に衰えてこないのと一人で引きこもってゲームを作るほうが自分の性に合ってるの判断したので活動再開しようかと思います。

 

前の記事のゲームは3Dの次元の呪いで製作速度が上がらずに頓挫し(2012年4月〜2013年1月)、2Dのジャンプアクションに変更するも当たり判定とマップエディタの性能の悪さにグラフィックだけ書いて頓挫し(2013年6月〜2014年6月)、現在はBox2DとFlashCS4の力を借りてシステムの基盤くらいは出来てます(2014年12月〜現在)。

 

ブログの方は月一くらいで更新しようかなと考えています。

SDPO(略称かつ仮称)制作開始のおしらせ

追記(2014年12月29日): 中途半端にデータを吹っ飛ばした影響で画像だけどっか行ってます。

 

タイトル、シナリオ、ゲームシステム、その他もろもろは一年くらい前からちまちま練ってましたが、もう技術もある程度積んだと判断したため、制作開始しました。

内容としてはお使い半分、その他半分の3Dゲームになりそうです。ついでに言うと現代風です。

ぶっちゃけ完成に何年かかるかっていう規模です。ですが、3Dのゲームはゲーム制作を始めてから一番作りたかったものなので、よっぽどのことがない限り頓挫はしないでしょう。きっと。

以下、スクリーンショット。開発中なので、いろいろぶれます。同じ内容はtwitterのほうにも上がってます。