スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲーム開発の効率化について

最近 思ったのですが、
ゲーム開発の効率化は結構重要だと思いました。

なぜならば、一つのゲームを作るのに1~2年とかかかってたら、
人生の中で2桁の数 ゲーム作れるのかな?ぐらいのレベルになってしまいますし。

で、色々と"ゲーム開発 効率化" とかで検索かけたりしてるんですが、
なかなか参考になりそうなものがない。

スクリプト言語でどうたら~みたいなのは引っかかりました。
んーやっぱりスクリプト言語なのか。


自分が今やってるのは、
csvファイルからゲームの動作を
制御してしまおう!

という、そんなシステムの構築です。

で、問題になるのが、
どこまでを外部ファイル(csvファイル)にするのか?という事です。

例えば、パズルゲームを製作するとして、
ピースを落とす⇒消滅判定を行う⇒落下判定を行う

上記のような動作の部分まで全て外部ファイルにしてしまうと、
安定性の無い 独自言語でソースコードを作ってるみたいな状態になるんですよね。
(それなら、初めからC++で実装すればいいやん、みたいな)


なので、とりあえず、
以下の情報を外部ファイルにしようかと思ってます。
-----------------------------
【1】画像、音声データ (ファイル名)
【2】入力
【3】アニメーション
【4】画面ごとの描画、遷移条件

-----------------------------

【1】は こんな感じ。
GraphicType GraphicID      Pass
0:Title 1:TitleLogo Resource/Title/Picture/TitleLogo.png
0:Title 2:BackGround Resource/Title/Picture/BackGround.png
0:Title 3:Cursor   Resource/Title/Picture/Cursor.png

単純に画像タイプ、画像番号、ファイルパスが記載されています。
画像タイプは、「いまエンディングだから、町の画像とかはもういらねぇ!」みたいな時に、
特定のグループのみ まとめて削除する際に使うフラグみたいなものです。


【4】はこんな感じ。
GraphicType GraphicID     PosX  PosY Width Height  Right Left Top Bottom
0:Title 1:TitleLogo 200   320  128 256     1.0  0.0  0.0 1.0  
0:Title 2:BackGround   0     0  800 600     1.0  0.0  0.0 1.0  
0:Title 3:Cursor   260   400   64  64     1.0  0.0  0.0 1.0  


【1】のcsvファイルから、画像データを CTextureManagerが管理しているので、
以下のようなプログラムで、【4】のファイルから 描画オブジェクトを生成します。
※一部 変数の宣言、定義を省略してます。
t_GraphicHandle = t_Manager.GetGraphicHandle(t_GraphicType, GraphicID);

MyDrawObject t_Object;
t_Object.Handle = t_GraphicHandle;
t_Object.PosX = t_Load.LoadValue();
t_Object.PosY = t_Load.LoadValue();
t_Object.Width = t_Load.LoadValue();
t_Object.Height = t_Load.LoadValue();
t_Object.Right = t_Load.LoadFloatValue();
//以下略


まぁ、未完成ですが、
上記の様な感じのシステムを作っています。

理想形は、PowerPointみたいな感じです。
以下の3つがあれば、どんなゲームであろうと多少は対応できると思ってます。
--------------------------------
【1】どういう入力があったら
【2】どういうアニメーションなどを行って
【3】どういう状態に遷移する
 
(キー入力を受け付けるようになる、画像が表示される、など)
--------------------------------

このシステムが完成したら、
きっと効率的に開発できる様にになると思うんだ・・・。

※暗号化とかすべきですが、
現状そこまでの域に達していないので、アーカイブ化とか暗号化とかは後回し。
スポンサーサイト

テーマ : 日記 - ジャンル : 日記

コメント

No title

ゲーム用のフレームワークを使う っていうことではないんでしょうか?
iOSだとunityやemoとかはよく聞きますね
昨今の情勢ですとスマフォ向けのゲーム開発求人は大量にありますが
そちらは考えていないですか?

No title

フレームワークの部分を作ろうとしてる感じですねv-293

裏側の処理がブラックボックス化されたシステムを使うよりも、
根本の仕組みを知って、そこを自分で実装させてみたい、という願望(?)があります。
(スキンメッシュアニメーションなんかも、結局DirectXの汎用関数とか使わずに実装したりしましたし)

UnityCOCOS2あたりなんかはよく聞きますねv-290

個人的に、そういうフレームワークに依存してしまうと、
将来的に 廃止になったり、別のフレームワークが出てきたりした際に色々と面倒になりそうかなとか思ってますv-404

なので、そこら辺のフレームワーク使用に関しては
どうしようかなーと思ってます。
--------------------------------------------------
スマフォ向けの開発もやってみようかな と思ってます!
iPhoneの方は、MACが必要だとかで現状開発できない状態ですが、
Androidなら開発して公開まで持っていけるかなと思ってますv-407

今のうちに開発を出来るようにしておいて、
スマフォのゲーム開発会社とかに就職するのも良いかなと思うので、
ちょっと求人なんかを色々と探してみますv-293
(デバッグの仕事じゃ、開発側の能力は身に付かないですし)
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。