1週間でゲームを一本作る


How To Build a Game In A Week From Scratch With No Budget.
http://www.gamedev.net/reference/articles/article2259.asp
経由;ABAの日誌「40時間でRPGを作る」


この記事は,1週間でRPGを作ってみましたって言うどっかで毎週のようにやってる話
すごいね,時代を先駆けてるよ,ゲ製板.
先駆け過ぎて,何か時々激しく荒れるけど.
先駆者はいつも叩かれる,ってやつかな(違


自分の場合,月曜に構想からスタートして日曜までにゲーム完成させるトライアルは,
過去6回(内2回挫折)やってきました(参考;SolidImage/土日スレ作品).
これが社会人的には結構な荒行,というか苦行.
当然,得られる経験値も達成感も半端無いんですが.
あー,これがいわゆるアレなのかな...マz


上記参考記事では,作製に40時間かけています.
ABAさんも言ってるけど,普通の社会人が一週間に40時間を確保するのはかなりキツい.
自分の場合,論理限界が30時間位です.具体的には,
平日3時間x5 + 土曜10時間 + 日曜5時間
(時差があるので,ベルギーでは日曜の午後四時が締め切りだったりする)
これは,土日には予定が入って無くて,
平日は仕事から帰ってきてプログラムするだけの気力が残っているのが前提.
自分が非常に特殊な状況にあったから出来た事だと思います.普段は無理だな,絶対.
(ストレスを創作で発散してたとも言えなくは無い節はあるんですが)


さて,自分がこの荒行を経て得られた能力は何だったのか,
良い機会なので,ちょっと思いつくものを書いてみようかなと思います.
あー,数値は適当です.感覚値.

汎用ライブラリ/テンプレート整備レベル+10

使いまわせるコード集の構築.
これは,土日スレ参加当初の目的でして,やはり効果絶大でした.
土日スレ作品は,全て Sky Swimmers'Heaven で構築したコード群が元になってて,
ゲームを作る毎に,必要機能の追加と不必要機能の削除を意識的に行ったので,
大分(自分の使い易いように)ブラッシュアップされました.
今見ると Sky Swimmers'Heaven のソースはかなり汚い.
当時はかなり頑張って書いてたんだけどな

手抜き能力+6

そりゃ無いだろっていう実装を大胆に行う能力.
具体的にはグローバル変数とか縦横無尽にアクセスされるスタティックメンバとか.
やっぱり便利なものは便利なので,表面の実装では結構使うようになりました.
コアの部分では使いませんが,表面なら多少スパゲティになってもどうにか完成まで
持ってけるという感じです.でも,これは一度出来上がったら2度と弄りたくない
プログラムになってしまうので,良い能力かどうかは疑問.

汎用素材整備レベル+1

使いまわせる素材集の構築.
期待したほど整備されなかったなぁと.フォントとエフェクト位でしょうか.
コードの使いまわしは,プログラマ視点で無いと割と気付きにくいのですが,
素材の使いまわしの場合,プレイヤー視点でも容易に気付いてしまうので,
全体の印象を形成する物への素材の流用は意図的に避けました.
とはいえ,目立たない素材は極力使いまわしたつもりだったんですけど,
こういうところは(真面目に差別化を図ろうとすると)意外と手が抜けないという事みたいです.

素材作製能力+3

そこそこ見栄えのする素材を効率良く短時間で作製する能力.
上の汎用素材整備レベルと対の能力で,これが伸びたかというと案外そうでも無い.
絵のスキルとかは,自分にとって短期ゲーム作製を通じて得られるものでは無いみたいです.
この能力は,とにかく他人の素材を沢山参考にして技術を盗むのが良いと思うので,
ゲーム作製とは別に,ひたすら素材を作るとかそういう修行の方が良さそう.

頻出バグ把握レベル+7

自分のバグの癖を把握する.
これは結構効果があったと思います.
開発期間が短かいので,急いでる分だけバグも結構出るのですが,
急いでる分だけワンパターンなバグが多くて,傾向を把握し易い.
もっとも,バグの癖を把握すると,そこは意識してコーディングするようになるので,
そのバグは出辛くなるというイタチゴッコなんですけど.

コーディングスタイル把握レベル+10

自分のコーディングの癖を把握する.
上のバグ把握に近いんですが,例えばハイスコアのチェックをどこから呼び出すかとか,
この関数はここら辺から呼び出してるはず,みたいな感覚が身に付く.
設計をちゃんとしてれば,あんまり必要の無い能力な気もしますけど,
個人開発レベルでは実はかなり有効な能力だと思います.
また,自分のコーディングスタイルを把握しているという事は,
設計上おかしいところにも気付く事ができます.
これは,汎用ライブラリ整備レベルの向上にも繋がってると思います.

ゲーム製作時間見積もり能力+8

企画段階で大体の作製期間を見積もれる能力.
これは,ミニゲーム限定かつ自分の得意ジャンル限定ですが,
結構正確に見積もれるようになったと思います.
Quantized Blaze の場合,見積もりから逆算して1週間に収まるように
企画の段階でプログラムに制約を設けたりしました.この能力は結構面白いです.

ゲームシステム修正能力+6

ツマンネと思ったらすぐゲームシステムを修正できる能力.
プログラムのどの位置をどう弄ったら,効率良くシステムを変更できるか,
また,予め修正の可能性のあるシステムは,どう書いておけば良いか,
という感覚が結構身に付いた気がします.

コンテンツの充実+100

自分のホームページのコンテンツの充実.
単純にこの半年で3倍に増えましたからねぇ.この点では文句無しです.
数だけだよ.中身は考えちゃあかんよ.

自己分析+10

自分という人間の人間性の把握.
意外に効果的です.そりゃ極限状態ですから,色んな物が見えてきます.
主にダメさ加減とか,ダメさ加減とか.
あとダメさ加減とか.
とりあえず,就職を控えた学生にお勧めかも.

結局

ゲームを1週間で作る事は,
色々と意識すれば,例え完成しなかったとしても,相当の経験値が得られると思います.
けど,1週間で仕上げる事自体を目的にしてしまうと,ただの時間の浪費になるかも知れません.


目的意識を持って望めば良いスキルアップになるんですが,特に社会人にはお勧めしません.
断食ダイエットと同じ類というか,間違えなく効果はあるんですが派生する悪影響も多い.
社会人には月1位が健康的で妥当じゃないかと思います.
こういう事は学生の頃にやっておきたかったな.
もっとも学生時代はCなんて全く知らなかったんだけど.