TorqueL(トルクル) の開発環境を書いてみる

> 本記事の内容を[はてなブログ](https://nanmo.hateblo.jp/entry/2015/03/20/000000)に転記しました。
> すぐにQiitaの記事を削除する予定はありませんが、どちらか一方だけ残すとなったらはてなブログの方を残すと思います。
> ご承知おき下さい。

とりあえず思いつく範囲で書いてますが、あのツールは使ったのかとか気になる点があればコメントで頂ければ追記します。

# TorqueL(トルクル)って何？

PS4/PSVita/Windows用の2D回転アクションゲームです。
[詳しくは公式サイトの方を見て下さい](http://TorqueL.net)

BGMと一部SEを除いて1人で開発したので、どういった環境だったのか書いておきます。

# PS4/PSVita開発機およびUnity for PS4/PSVitaについて

パブリッシャーさんとかユニティさんとかソニーさんに相談しましょう。
TorqueLはUnity 4.3.7p3をベースにして開発しています。


# ハードウェア/周辺機器

![IMG_0020.JPG](https://qiita-image-store.s3.amazonaws.com/0/37548/2e21e6e7-0415-63cc-95d2-1399d7179488.jpeg)

開発用PC
--------------------
マウスコンピュータ/G-TUNEの NG-N-i300SA6-WA7 を使ってます。
確か2013年の1月ぐらいに買いました。

主なスペックは

CPU: i7-3630QM 2.40
メモリ: 16GB
GPU: Geforce 650M (Optimusあり)
液晶: 11 インチ / 1366x768 / TN
OS: Windows 7 Home Premium

ノートPCではありますが、ほとんど閉じたまま外付けディスプレイ+マウス+キーボードを接続という感じで使ってました。

HDDだけ普通のHDDからハイブリッドHDDに載せ替えました(さすがに遅すぎたので)。

11インチなのでまあ持ち出すことも不可能ではない感じです。

最近本体側のキーボードが反応悪いので買い替えどきっぽい...

モニタ
----------
ノートPC本体のディスプレイは解像度が低いのとTN液晶で視野角がアレだったので殆ど使ってないです(イベント展示で持ちだした時ぐらい？)

開発当初は [PlayStation公式の3Dディスプレイ CECH-ZED1J](http://www.jp.playstation.com/ps3/peripheral/cechzed1j.html)
開発途中から [LGの25UM65-P](http://www.lg.com/jp/monitor/lg-25UM65-P)を使ってました。

25UM65-Pに変えた理由は主に

 * 作業領域(解像度)を大きくしたいのとPCとは別の映像出力を表示したいけど場所的にデュアルディスプレイとか別にモニタ用意するのも難しいので21:9の25インチモデル(ほとんど横幅が変わらない)
 * この機種は21:9で16:9の入力をPBP(Dual LinkUp)できるので、PCから開発機を制御するとかキャプチャするとかの作業をするときに便利

という感じです。

実際使ってみると

 * PBPするときに前の状態を覚えてくれなくてHDMI1+DisplayPortの状態でPBPされることが多くて一々変えるのが面倒(どうも電源を切ると状態がリセットされるらしい)
 * PBPした時にティアリング(テアリング)が発生する(PC/PS4側の出力は問題ない)

というのがありました。

また、PlayStation公式の3Dディスプレイ CECH-ZED1Jに比べて音周りが弱いのでスピーカーを別途接続しました。

スピーカー
-----------
LogicoolのZ120BW を使ってました。
色々記事上がっている通り、価格の割にいい感じ。
今も販売はされてるみたいですが、Logicoolウェブサイトのラインナップからはなくなってるみたいですね。

接続はスピーカーの前にBelkinのRockstarを噛ませて、PCの音声出力とモニタの出力(ゲーム機側はこっちから出る)を簡易的にミックスするようにしてました。PBPした時に両方聞こえないとそれはそれで困るので。

マウス
------
[Logicool G300](http://gaming.logicool.co.jp/ja-jp/product/g300-optical-gaming-mouse)

特にマクロとか割り当ててはいないですが、値段も手頃だし、挙動も素直なので使い続けてます。
今は後継のG300sとかも出てるみたいですね。

キーボード
------------
[Logicool K810](http://www.logicool.co.jp/ja-jp/product/bluetooth-illuminated-keyboard-k810?crid=26)

Bluetoothキーボード。3つまでペアリングできるのと大きさもちょうどよかった(横幅がノートPCの幅とほとんど同じだった)ので。

Androidタブレットをすぐ横において開発してたり、持ち出したりしてたのでそこらへんの用途でひとまとめにした感じです。

キーボードでゲーム遊ぶと若干遅延してる気もしましたが、まあ実用範囲内だと思います。

時々PC側のBluetoothがいきなり死んでOS再起動するまでつながらないとかもありましたが、ドライバ更新したら直ったみたいなので多分PC側の問題です。

キャプチャ機材
---------------
[elgato Game Capture HD](https://www.elgato.com/ja/gaming/gamecapture-hd)

今はelgato自身が日本進出してますが、以前はフォーカルポイントコンピュータが代理店やってました。

個人的に気に入っているところは

 * Windows/Mac両対応(個人的には結構重要)
 * 記録される映像はH.264形式(無圧縮での保存機能は無い、けどその分USB2.0でも大丈夫)
 * Flashback Recording機能(キャプチャ用ソフトを起動した段階から録画が開始されていて、巻き戻して録画開始とかできる、停止する設定も可能)
 * 720Pで60fpsの映像が撮れる([きちんと設定する必要あり](http://help.elgato.com/customer/portal/articles/1020306-capture-settings-and-elgato-game-capture-hd)), 1080Pは30fpsまで
 * コンポーネント入力あり
 * HDMIスルー出力あり(コンポーネント入力もHDMIに変換してくれる、気になるような遅延は無い気がする)

HDMIだけに絞って、1080Pの60fpsまで取れるようになった[HD60という機種](https://www.elgato.com/ja/gaming/game-capture-hd60)も出てます。

大きい会社ならRAID0でも組むなり、4Kとれちゃうようなキャプチャカード指して無圧縮で記録なりしたらいいんですが、個人でやってると秒間300MBオーバーの映像扱える機材もディスクも無いので、そこらへんのバランス見て選んだ感じです。

キャプチャ周りに関しては[以前 CEDEC で発表してるので興味ある方はどうぞ](http://cedil.cesa.or.jp/session/detail/864)。

メディアとかではAvermediaあたりの製品がよく取り上げられてますが、個人的にはelgato推しです。

コントローラ(開発PC用)
----------------------
Xbox 360 コントローラーを使ってました。

DUALSHOCK 4はPCにつなぐとボタンの割当がちょっと違うんですよね...

PlayStation®Camera
--------------------
PS4持ってる人でも気づいてない人もいるかもしれませんが、カメラを接続しているとホーム画面で「プレイステーション」と喋るか、L2ボタンを押すと音声コマンドが使えます。

ゲームの起動もこの音声コマンドからできるようになってますんで、あとは、わかるな？


# ソフト/ツール関連

Mono Develop
----------------
Unity付属の4.0.1を使ってました。

まあ重くなったりとかありましたが、そもそもそんなにソースコードの数も多くないので何とかなってました。

これから始めるならVisual Studio 2013+UnityVSがいい感じですかね。

Adobe Creative Cloud
----------------------------
主に使うのはPhotoshop/Illustrator/Premiere Pro/After Effects です。

FL Studio
------------------
プロトタイプ版のSE全部、製品版にも入ってるミスった時のSE(通称:ティウンティウン)は3xOSCあたりで作りました。
プロトタイプ版のゴールした時のSE(通称:テッテッテーレレテッテ)はPS4版の概要画面でひっそりと流れます。

M01D(3DS専用作曲ソフトウェア)
-------------------------------
佐野さんにBGMの仕組みを説明するための試作BGMはM01Dで作曲しました。
デジゲー博版は試作BGMで試遊してもらっていた気がします。
試作BGMはPS4の概要画面でひっそりと流れます。

Pandoc
------------
Windowsパッケージ版のReadme.htmlの生成に使いました

`pandoc index.md -f markdown -s -c manual.css -t html5 --toc --self-contained -o Readme.html`

というような感じで変換指定して、pandoc markdownから画像もHTML内に全て含まれるようにしてました。

WinMerge/udm
-------------
パッチ作るときに

GifCam
--------
WIPのGIF撮る/作るときに

SourceTree/Tortoise HG
--------------------------
普段はSourceTreeで、ちょっと込み入ったことをする時はTortoise HG

リモートリポジトリとしてBitbucketのプライベートリポジトリを使ってます。

次はGitかなあ？　と考えてはいます。

ESET Smart Security 7
--------------------------
 * 特に他のソフトと比較して選んだわけじゃないです
 * 作業中に大きな問題が出たことは有りません。
 * でも実はUnityのインポーターと相性が悪くOpenning failedが出まくる時があるため、インポートを実行する際には一時的に保護を無効化してました。(2クリックぐらいでできるし、原因として特定できていたので変えなかった)

![unity_opening_failed_dialog.png](https://qiita-image-store.s3.amazonaws.com/0/37548/87da8896-cf19-fe75-fb6e-1ca8711717b7.png)

# 他、開発上での幾つかのTips

 * Unityは4.3系ベースになる関係でGUI周りはNGUIを使うことになりますが、NGUIがコントローラでの操作をあまり想定していない作りになっているので、基本的に闇が深いです(もともと深いかも知れませんが)。
 * 現在のUnity for PS* は4.3系の次はいきなり5なので、今から始めるなら5での作業にした方がいいかもしれません。もちろんプロジェクトの性質や期間、進行度合いによってくるので判断は難しいところですが。(参考: [Unity - Unity Japan Official Blog – Unity for PlayStation®4が登場します！](http://japan.unity3d.com/blog/?p=1585))
 * TorqueLでは専用ツール/拡張の開発などは行わず、Unityの基本機能のみで制作しています
 * 固定グローバルIPアドレスが使用できる回線・プロバイダを用意しておくといいです。
 * 有線LANの口が多い環境だとなおいいです

# 開発環境じゃないけど使ったサービス/アプリ

[hootsuite](https://hootsuite.com/)
---------------------------------------
[Twitterアカウント](http://twitter.com/fpsacom)と[Facebookページ](http://facebook.com/PlayTorqueL)の運用はこれでやってます。1人で。
画像ツイートする時は公式のウェブやアプリ、あるいはInstagramからやってます。
(hootsuiteから画像ツイートするとow.ly経由になるのが嫌なので)

[Instagram](https://instagram.com/)
---------------------------------------
主にイベント先でTwitterとFacebookに写真をまとめて上げるのに使ってます。

[Strikingly](http://www.strikingly.com/)
------------------------------------------
1ページのシンプルでモダンなサイトをさくっと作れるサービス。
[TorqueL公式サイト](http://TorqueL.net)はこのサービスで稼働しています。
デザインとかそんな手間かけてられないのですが、ここは画像とかを配置してくだけで結構見られるものになります(個人の感想です)。

無料プランも有ります。
有料プランは純粋にレンタルサーバー+CMS的な感じで捉えると高く感じるかもしれませんが、先に書いたデザイン面とかでお釣りが来る感じじゃないでしょうか(自分はブログで記事書いて1年間使えるクーポンもらいました)