
チョコットランド開発で使っているPCのスペックと良く使うツールについて
-
2022年1月27日
初めまして。cocone fukuoka チョコットランド事業部の開発チームに所属しているXです。
今回は学生さん向けに開発環境についてを書かせていただきます。
チョコットランドがどういったPCとツールで開発されているかをご紹介します。
最初にチョコットランドと開発チームについて紹介
チョコットランドは業界屈指のドット絵で描かれるクォータービューの世界に、
15年間積み上げられた膨大なコンテンツを持つオンラインのRPGです。
こんなに長く続いているオンラインゲームは、世界でも珍しいと思います。
色々な企画・デザイナー・品質管理の方々と、開発チームが力を合わせて作り続けてきた作品です。
チョコットランドの開発チームは社内と社外合わせて10人ほどです。
開発チームがサーバやクライアントなど、各々の得意分野を生かして協力しながら制作に取り組んでいます。
ハウジングなどの新しい機能も追加されたチョコットランド。
PCとスマートフォンでぜひ遊んでみて下さい。
開発に使っているPCについて
チョコットランドはPC版とSP版があり、それぞれWindowsとスマートフォンで遊べるタイトルです。
- Windows PC用クライアントアプリとサーバの開発にWindows PC
- iOSとAndroid用アプリの開発にMac PC
を使っています。
スマートフォンアプリ開発にMacを使う理由は、iOSアプリを開発するのにMacのXcodeが無いとビルドが出来ないためです。
この記事では主にスマートフォン開発で使っているMacの環境について解説します。
最近新しいMacBookProを購入して頂きました。
比較すると以下のようにパワーアップしました。
[以前のMacBookProのスペック]
- 2.4GHz クアッドコアIntel Core i5
- 16GB メモリ
- 512GB SSD
[現在のMacBookProのスペック]
- 8コアCPU、14コアGPU、16コアNeural Engine搭載Apple M1 Pro
- 32GBユニファイドメモリ
- TB SSDストレージ
開発現場でスマートフォンゲーム開発にはどれくらいのスペックが必要?
年々開発ツールのメモリ使用量が増大している影響もあり、16GB以上のメモリ容量が無いと起動しているツールを意識的に管理しないとすぐにメモリ不足に陥って、Macだと「スワップ使用領域」を確保して動作が重くなってしまいます。
開発では主にAndroid StudioとXcodeというツールを使って開発します。
この二つのツールが大量にメモリを使うため、他のツールを同時に使い過ぎると、
「スワップ使用領域」を大量に確保して、ファイル一つ開くのですらカクカクになってしまう。
メモリが足りないとメモリ管理をしながら作業を進める必要があり、この管理が結構な作業時間のロスへと繋がっていました。
SSDの容量も巨大サイズのツールやファイルで一杯一杯になっていたので、Xcodeのキャッシュをいちいち消すなどの作業も発生する羽目に。
(Xcodeは一つで約18GB。古いバージョンも開発で必要な場合もあるので、複数入れると…)
こういう作業時間ロスを大雑把に1日30分くらい発生していると考えると
- ひと月20日勤務で10時間
- 年間12ヶ月で120時間
ほどのロスが発生してしまいます。
チリも積もればなんとやら…恐ろしい。
一方、CPUに関しては余裕がある為、よほど高負荷な処理を行わない限りメモリ不足ほど影響は感じません。
開発でPCが重くなるのは大抵メモリ不足が原因です。
画像のように「アクティビティモニタ」を起動するとメモリ使用状態が見れます
スワップ使用領域は常に0バイトで作業するとスムーズに操作できます
学生でも買える個人開発で必要なスペックは?
開発現場で使っているMacBookProを買おうとすると約30万円くらいします。
現行の14インチMacBookPro標準スペック(239,800円)に、メモリを+16GB(44,000円!)して、SSDを+512GB(22,000円!)するだけでここまで高くなります。
バイト代ではこんな高級品買えないですよね。
個人で開発する分には同時にツールを起動してあれこれやる事も少ないと思われるので、
MacBookProじゃなくてもMacBookAirのメモリを16GBに増設したもので十分です。
これなら約14万円弱で買えます。(これでも高いなぁ)
(※メモリ8GBだと開発に使うにはかなりきついです。せめて16GBのものにしましょう)
持ち運びせずに自宅で使うだけなら、更に安いMacMiniという選択肢もあります。
別にモニタとキーボードとマウスが必要になりますが、メモリ16GBに増設しただけなら約10万円ほどです。
ご存じの方も居ると思いますが、学割で少し安くMacを購入することもできます。
iOSで開発する予定が無ければ、安くWindowsで開発環境を整えても良いと思います。
仮想通貨のマイニングの影響でグラフィックボードが高騰しているので、中古のノートPCやRyzen GシリーズのAPUでPCを自作すれば大分安上がりです。
開発現場で使っているMacのツールについて紹介
Android開発
ToolBoxを使ってAndroid開発用のAndroidStudioというツールをインストールして開発しています。
Android開発以外にも、Pythonなどのスクリプト用のものもあるので、これを入れておけば色々と開発環境が揃えられます。
iOS開発
App Storeからインストールすると自動更新がかかってビルドが通らなくなるなんて事件もあったので、Apple Developerから必要なバージョンのXcodeをインストールして、Xcode13.2みたいな感じにバージョン名を付けてます。
これなら複数のバージョンをMacに入れられます。
コマンド実行用CUI【Character-based User Interface】
【ITerm2】
開発中にファイル名やファイル内の文字列を再帰的に検索したり、スクリプトやコマンドを実行するためにCUIを多用します。
Mac標準CUIのターミナルは最低限の機能なので、使いやすいようにITerm2というCUIツールを使っています。
ITerm2はターミナルをより高性能にしたツールで、ショートカットコマンドでMacの画面に素早く表示・非表示を切り替えたりできるので、デフォルトのターミナルより断然使いやすいです。
色々カスタマイズできるので、使い易いように弄ってます。
デフォルトのターミナル + zsh
背景も透けず、入力補完なし
ITerm2 + fish shellを導入して、背景を半透明にするなどカスタマイズ
他のViewが見やすく、数文字打つだけで履歴が出るので作業効率が良い
履歴が出ている時にテンキーの「→」を押すと自動で入力してくれる
【Homebrew】
Homebrewは様々なツールのパッケージをインストールするのに使っています。
例えば「brew install python3」のようにCUIでコマンドを打つだけでPython3の実行環境が構築されます。
【git】
gitはバージョン管理に使うツールです。同時に複数の開発者が同時に更新したソースをまとめたり、新しい機能を実装する時に他の作業をする人の邪魔にならないように、別の所に開発中のソースを分けたりなど、開発の際には必須になります。
【fish shell】
fish shellは非常に使いやすいshellです
※ shellとはコンピュータへのコマンドを入力する時に使うソフトウェア。Windowsだと、コマンドプロンプトやPower Shell。MacだとターミナルやITerm2で使われている。
これを導入しているとITerm2でgitの操作などを行う際に、今自分が作業中のbranchを常に表示してくれたり、コマンド文の最初の数文字を打つだけでコマンドの履歴を出してくれたりと、作業が非常にやりやすくなります。
バージョン管理ツールと管理サイト
【Sourcetree】
SourcetreeはGitクライアントソフトです。
ITerm2でもgitは十分使えますが、GUIで操作できるSourcetreeの方が使い易いと思います。
CUIとGUIどっちでも操作できるように両方使っていった方が良いですが、開発現場ではCUI派とGUI派で別れている印象です。
(私はCUI派なので、Sourcetreeをあまり使えてないです)
【Github】【GitLab】
Github GitLabはGitのリポジトリを管理するWebサイトです。
開発中のソースを管理サイトにアップロードして、他の開発者と開発環境を共有したり、
管理サイトからビルド用PCへソースをダウンロードさせて自動でビルドさせたりと、
現在の開発には必須のサービスです。
終わりに
チョコットランドの開発でよく使っている基本的なツールは以上となります。
この記事を書いている間にも新しいツールはどんどん作られているので、
数ヶ月ごとに便利なツールないかなーと、調べたりしてます。
開発者を目指されている方の参考になれば幸いです。
cocone fukuokaでは一緒に働く仲間を募集中です。
ご興味のある方はぜひこちらのリンクよりご応募お待ちしております。
http://www.fukuoka.cocone.co.jp/recruitall/index
またココネでも一緒に働く仲間を募集中です。
ご興味のある方は、ぜひこちらの採用特設サイトをご覧ください。