cocos2d-xとは??基礎とゲーム代表作を紹介します
2024年7月5日
cocos2d-xはゲーム開発用のフレームワークの一種で、2Dのスマートフォン向けアプリの開発に幅広く利用されています。
とはいえ、cocos2d-xがどんなものかをご存じでない方が多いでしょう。そこで当コラムでは、cocos2d-xの特徴やメリットをわかりやすく解説します。ゲーム業界でエンジニアやプログラマーを目指す人はぜひ最後まで読んで参考にしてください。
cocos2d-xとは?
この項目では、まずcocos2d-xが何かを説明したうえで、その数多くの特徴にも言及します。
そもそもcocos2d-xってなに?
cocos2d-x(ココスツーディーエックス)は、ゲーム開発用のフレームワーク(ゲームエンジン)の一種です。
開発された場所はアメリカですが、中国のChukong Technologies社によって、2010年の11月に公開されています。日本に普及しはじめたのは2012年頃からですが、メリットの多さから広く利用されるようになり、特に2010年代に開発された2Dスマートフォン向けアプリの開発に多く使われました。
この当時は、まだ家庭用ゲーム機とそのソフトがゲームの主流と考えられていました。しかし、スマートフォンアプリの性質もあって数千万回のダウンロードや、月商が億単位というメガヒットタイトルが生まれます。
たとえばこの時期にcocos2d-xを使って開発され、大ヒットした『モンスターストライク』や『LINE:ディズニーツムツム』、『ぷよぷよ!!クエスト』などは一時的なブームだけでなく、2024年5月現在もサービスを継続しています。
つまりcocos2d-xの普及はこの時期のゲーム史の転換を支え、現在もその存在価値を保っているツールと言っても過言ではありません。
cocos2d-xは2Dゲームに強い
cocos2d-xは、2Dのゲーム開発に適したフレームワークです。実際にcocos2d-xを使って、日本国内だけでも非常に多くの2Dスマホゲームが作られ、ヒットしています。
2Dゲームの開発に最適化されていたことから、「2Dゲームを作るならcocos2d-x」と言われるほど多数のゲーム開発者に利用された時期もあります。
cocos2d-xでスマホゲームが簡単に作成できる
cocos2d-xを使用すると、iOSやAndroid向けのスマホゲームが比較的容易に開発できます。これはフレームワークとしての枠組みがあることで、ゼロからコードを書く必要がないためです。
cocos2d-xはMITライセンスを作用していますが、ライセンスとしてはかなり緩いものなので、商用利用の制限も存在しません。この点でも敷居が低く、スマホ向けのゲーム開発に取り組みやすい特徴を後押ししています。
cocos2d-xは他のゲームエンジンに比べると参考書籍があまり存在しませんが、その点がデメリットとして特に目立たなかったからこそ、実際に広く利用されたのでしょう。
cocos2d-xの使いやすさとは
cocos2d-xは少ないコードで2Dゲームの開発ができます。また、ソースコードが公開されていることで、開発者の好みやゲームの仕様に合わせて最適化しやすいのもcocos2d-xならではの特徴です。
cocos2d-xが特に広く使用された2010年代には、コンシューマー機向けのゲーム開発であれば、ゲームエンジンを作るケースもありました。しかし、開発サイクルが早いスマートフォン向けアプリにはゲームエンジンから作るスタイルは向きません。そのため、ゲームエンジンとしての枠組みがあり、使いやすいcocos2d-xが広く利用されたのです。
クロスプラットフォームに対応
最近リリースされるスマホ向けゲームの多くは、iOSとAndroidの両方で動作できるクロスプラットフォーム開発が行われています。cocos2d-xは、iOSとAndroid間でのクロスプラットフォームに対応しています。
また、それだけでなく、WindowsやMacOS、Linux Ubuntuで動作するゲームを開発することができるので、スマートフォンだけでなく、PCでプレイするゲームとのクロスプラットフォーム対応にも適しています。
複数の言語で使える
cocos2d-xのベースであるcocos2dは、Python(パイソン)という言語で2008年に作成・公開されています。この段階では2Dゲーム向けのフレームワークがあまり普及していませんでした。そんな背景から、多くの開発者が機能拡張に積極的に参加していきます。
その結果としてcocos2d-xは、JavaScriptやC++、LuaやC#、Javaなど非常に多くの言語に対応しています。
オープンソースなので無料で使える
cocos2d-xを語る際に必ず出る言葉として、「オープンソースであること」と「無料であること」があります。
無料なので誰もが使いやすいという特徴だけでもありがたいですが、オープンソースであるということはソースコードの細部まで閲覧可能ということです。この特徴によって開発者はゲームエンジン内部を変更することができますから、ゲームの仕様にあったゲームエンジンとして最適化することも可能です。
cocos2d-x専用のUIエディタ・アニメーションエディタがある
cocos2d-xにはcocos studioと呼ばれるUIエディタ・アニメーションエディタがあります。このエディタを活用すれば画面上のキャラクターを容易に動かすことができるので、簡易なアニメーションを使いたいときに非常に便利です。
軽くて快適に動作する
cocos2d-xはわずか3MB程度と非常に軽いので、動作速度も速いメリットを有しています。これによって、エンジニアは開発時のストレスを軽減できます。
ゲームエンジンが軽くて速いことは開発者のプラスとなるだけでなく、ユーザーにとっても軽くて軽快なアプリとなるので、誰にとってもメリットとなります。
cocos2d-xフレームワークの種類
cocos2d-xには、以下に示すように多数の種類があります。
・cocos2d for iPhone … Mac向けのフレームワークで、Objective-C(iOSアプリ開発にしばしば利用されるオブジェクト指向の言語)を使って開発されています。
・cocos2d for Android …Androidに特化したフレームワークで、Javaを使って開発されています。
・cocos2d-js …HTML5での公開可能なブラウザゲーム向けのフレームワークで、JavaScriptを使って開発されています。
・cocos2d-XNA …XNAやMonoGame向けのフレームワークで、C#を使って開発されています。
・cocos2d …Go言語向けのフレームワークです。
・cocos creator …ゲーム開発ツールを統一するためのパッケージで、使い勝手の良さに注力されています。
cocos2d-xで作成した代表的なゲームタイトルは?
この項目では、cocos2d-xで作成された多数のゲームの中で、代表的なゲームタイトル6選を紹介します。なお、cocos2d-xで開発されたスマートフォン向けアプリは非常に多く存在しており、ここで紹介するのはあくまでごく一部になります。
モンスターストライク(アクションRPG)
mixiが2013年に開発・リリースしたスマートフォンアプリで、「ひっぱりハンティングRPG」とジャンル付けされています。リリースから10年以上経った現在も多くの人にプレイされています。2015年以降はeスポーツの種目としても親しまれています。
ファイナルファンタジーレコードキーパー(RPG)
2014年にリリースされたタイトルですが、キャラクターがドット絵で描かれていることを特徴としています。スクウェア・エニックスとDeNAの共同開発で、運営はスクウェア・エニックスが行っています。
LINE:ディズニーツムツム(アクション)
開発はNHN PlayArt、運営はLINEです。2014年1月にリリースされているので、既に10年以上が経過していますが、いまだに多くのユーザーに親しまれています。シンプルなゲーム性でありながら、ディズニーキャラクターの可愛らしさと、ランキングやコミュニケーション機能など戦略がかみ合った結果でしょう。
ブレイブフロンティア(RPG)
『ブレイブフロンティア』は、2013年にエイリムからリリースされたスマートフォン向けアプリです。2022年にサービス終了していますが、美しいドット絵や動作のスマートさなどで多くのユーザーを獲得しました。
剣と魔法のログレス いにしえの女神(MMORPG)
2013年にマーベラスからリリースされた本格MMORPGです。PC向けタイトルである『剣と魔法のログレス』のスマートフォン向けアプリで、2024年5月末現在もサービスは続いています。
ぷよぷよ!!クエスト(パズルRPG)
2013年にセガからリリースされたスマートフォン向けアプリです。国民的落ち物パズル『ぷよぷよ』のシリーズで、iOS用アプリは配信開始から24時間で24万ダウンロードされ、その後も好調なダウンロード数を記録しています。
cocos2d-xでゲーム開発!有利な就職・転職のために必要な知識とは?
この項目では、cocos2d-xでゲーム開発をしたいと思う人に向けて、就職・転職に有利な知識を記載します。
プログラミングに必須な言語を覚える
「cocos2d-xを活用してゲーム開発をしたい」と思うのは、エンジニアやプログラマー系の仕事を望む人でしょう。その方向性であれば、やはりプログラミングに必要な言語を習得することが重要です。
たとえば本格的なiOS向けアプリを作るのであれば、難易度はやや高いですが、Swift(スウィフト)が向いています。一方、ブラウザゲームやウエブサイト関連の仕事をしたいのであれば、JavaScript(ジャバスクリプト)がおすすめです。
また、C#(シーシャープ)はゲーム開発エンジンのシェアが大きいUnity(ユニティ)とあわせて使うので、ゲーム開発を行う上では押さえておきたい言語です。
さらに、言語だけでなく、ゲームエンジンのシェア上位であるUnityとUnreal Engine(アンリアル・エンジン)も使えるようになっていると非常に便利です。
どんなゲーム開発をしたいか方向性を知る
当コラムのテーマである「cocos2d-x」は、2010年代の2Dスマートフォン向けアプリに多数使用されており、現在も稼働しているタイトルがあるので、習得しておくに越したことはありません。
ただし、cocos2d-xは、2019年11月以降メジャーアップデートは行われていないので、最新のフレームワークと言える状態ではありません。また、3Dのゲーム開発をしたい人やスマートフォン向けのゲーム以外にも関わりたい人であれば、cocos2d-xの知識だけでは勝負できません。
そのため、自分の目標や目的にあった言語やゲームエンジンをまず選定し、それを使いこなすスキルを身につけることをおすすめします。
ゲーム開発で使用することが多い言語としては、前の項目でも言及したSwift(スウィフト)、JavaScript(ジャバスクリプト)、C#(シーシャープ)などがあります。また、上記のほかにもシステム開発での需要が高いC++(シープラスプラス)や高速Webアプリに適したRuby(ルビー)、スマートフォン向けアプリでの使用頻度が高いPHP(ピーエイチピー)など用途に応じてさまざまな言語が存在します。
ゲーム開発エンジンUnity(ユニティ)とUnreal Engine(アンリアル・エンジン)の存在も含めて、どのような方向で活躍したいのかをまず考えて、必要な知識やスキルを身につけるよう励んでください。
ゲーム業界の動向・求人の把握
ゲーム業界は比較的変化が多く、新しい技術を求められやすい傾向があります。それを踏まえると、現状使われている言語だけで満足することなく、今後必要になりそうな技術に目を向けることも重要です。
たとえばメタバース関連の技術に興味があり、今後VRを使ったゲームにも関わりたいと思うのであれば、UnityとC#、またはUnreal EngineとC++などをセットで習得することをおすすめします。
また、業界全体の動向だけでなく、入社を希望するゲーム会社が、どんな言語やスキルを要求しているかを調べておくことも非常に重要です。多くのゲーム会社は、エンジニア、プログラマーの求人情報欄に、業務上必要となる言語を記載しています。そのため、注目しているゲーム会社で活躍するための必須スキルを事前にチェックすることから初めてはいかがでしょう。
まとめ
2Dスマートフォン向けアプリに広く使用されているフレームワークの一種であるcocos2d-xについて、概要や特徴のほか、メリットなどをまとめました。
cocos2d-xは2010年代に開発された2Dスマートフォン向けアプリに多数利用されており、現在でもまだ活用されています。そのため、ゲーム業界のエンジニアやプログラマーを目指す人は、ぜひこの機会にcocos2d-xに着目してみてください。
ゲーム業界の求人をお探しの方へ
ゲーム業界への就職・転職を目指しているのであれば、ゲーム業界専門の転職エージェントである「G-JOBエージェント」がおすすめです。
G-JOBエージェントはゲーム業界での経験と知識が豊富なコンサルタントによる就職・転職サポートをおこなっています。
また、ゲーム業界に特化した活動をおこなっているため、4,000件以上のゲーム関連の求人を扱っています。
ゲーム業界各社に太いパイプがあるからこそ、非公開求人の扱いも豊富です。
これらを踏まえて、ゲーム業界への就職・転職をお考えであれば、まずはG-JOBエージェントに登録・相談することをおすすめします。