LoginSignup
4

More than 5 years have passed since last update.

SwiftでRPGをほぼスクラッチから作成したが、こんご後悔しないための戒め

Posted at

2016年10月28日にRGambitteというタイトルの
テキストRPGをリリースできました。

ほんとに長い開発期間がかかりました。
2013年9月ごろから開発し始めて、約3年。
ほんとに長い。

反省というか、戒めのためにメモを残しておきます。

主因 1 Objective-cからSwiftに開発言語を変更

半年間、Obj-Cで開発していて使い慣れたフレームワーク、
開発ノウハウ(大したことなが、ほぼ考えないで実装できる部分)
が無駄になった。
さらに、新しい言語を覚えるためのコスト。
半年間書き溜めたコードの書き換えコスト。
(ブリッジするという選択肢は捨てていたため)

主因 2 RPGを作ったことがないということ

作りたいRPGを作り始めたら、一生終わらないことを悟る。
その後、何度も仕様の変更を繰り返すことになった。


<戒め>

1. ユニットテストは開発中盤まで書かない
   -> どうせテストはスグ壊れる

2. できるだけフレームワークを使う
   -> できだけ他人の力を借りる

3. ユニットテストの代わりにplaygroundでテストを書いておく
   -> playgroundのファイル名はクラス名にしておこう
   -> 書いたコードは削除せず、コメントアウトしておこう
   -> playgroundも大量のコードがあると動作がもたつくので注意
   -> 確認できたらコメントアウト
   -> コメント大事。積極的に書いおく

4. xcodeがエラーを標示している状態で終わりにしよう。
  -> いつコーディングが再開できるかわからないぞ!

5. 小さいプロジェクトで機能を試そう(特にUI)
   -> 想像してごらん(未来の俺、思い出せ)、エンディングのUIテスト …orz
   -> CoreDataの実装
   -> アニメーションの調整

6. リファクタリングする暇があったらもいちど全部書き直せ!
   -> ついつい新しい技術を使いたくなるからコードが不必要に読みにくいぞ!
   -> ゲームシステムの贅肉が削がれていく(強制的にシンプルに!)

7. 意地でも完成させよう!
   -> 完成させなければただの人生の浪費

  

<結論>
  もっとシンプルに、もっとゲーム性を上げることはできるのではないかと考えているが、それは今後のアップデートで対応するとして、二度とRPGをスクラッチから作成したいと思わないこと!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4