採用技術について

amagamina

当社では3D開発において業界で最もメジャーなUnityに加えて、CocosCreatorを採用した開発を行っています。

Unity(C#)

Unity – https://unity.com/ja

ゲーム、ツールと幅広く3Dアプリケーションの開発に活用できるゲームエンジンです。

Unityを10年近く使用している代表がプログラミング手法について解説したYoutubeチャンネルは、更新停止中の現在も登録者が増え続け、今では3000人以上になります。

Cocos Creator

CocosCreator – https://www.cocos.com/en/creator

2023年から使用を開始し『ポケット本屋さん』の3Dレンダリングに使用している、Webに特化したゲームエンジンです。

当初はUnityで開発していたため、Unityで制作した3DシーンをCocosCreatorに移行するためのOSS『Unity2Cocos』もあわせて開発しました。

Webに特化した3Dレンダリングシステムは他にも「three.js」や「Babylon.js」などありますが、CocosCreatorはUnityに近いエディタやエンジン機能を備えているためUnityからの移行がしやすく、効率的な開発が可能です。

React(UI構築)

CocosCreatorはWebをベースにしているため、昨今のWebアプリ構築で主要なUIフレームワークであるReact等を取り入れることも可能です。

『ポケット本屋さん』ではUIをReactで構築することによって、生成AIを用いた迅速なトライ&エラーとレスポンシブデザインを実現しています。

CocosCreator上でReactを使用する方法については、サンプルプロジェクトとしてOSSにて提供しています。

また、Reactを採用したアプリをスマートフォン向けにストア公開するにはセットでCapacitorを使用します。CocosCreatorとCapacitorを使用してアプリ化する方法についてはこちらの記事で解説しています。

ReactとCapacitorを使用してアプリ化する場合、iOSにおけるMetal、AndroidにおけるVulkanなど、ネイティブのグラフィックス機能を利用できない点がデメリットとなります。

これらを使用したリッチなグラフィックを実現する場合、CocosCreatorでも開発は可能ですが、Unityを採用する方が基本的には良いでしょう。

プレイアブル広告への利用(今後の活用方法)

Unityと比べて出力されるアプリサイズが軽量になることから、プレイアブル広告に利用することもできます。

ゲーム本体はUnityで制作、『Unity2Cocos』を使用して3DシーンをCocosCreator向けに変換し、プレイアブル広告を出力するということも可能です。

このような制作方法を取ることで、実際のゲームと広告の体験が全く違うものになることを防ぐことができるでしょう。

TypeScriptの活用

TypeScriptは、Webの主要言語であるJavaScriptから派生したプログラミング言語です。
事前にJavaScriptへ変換して実行するため、JavaScriptが動作する環境であればどこでも利用することができます。

Unityで採用されているC#と同じMicrosoft社の開発者が設計した言語でもあり、近い思想や仕組みを持っています。

当社では部分的にPythonを使用することもありますが、C#とTypeScriptという似た特徴をもつ2つの言語をメインに使用することで、学習コストを下げつつ開発可能なコンテンツの幅を広げています。

CocosCreator / React

CocosCreatorは開発言語としてTypeScriptが採用されています。Reactの開発でもTypeScriptを利用できるため『ポケット本屋さん』はアプリ全体をTypeScriptで構築しています。

Express

当社ではサーバでもTypeScriptを利用できるよう、NodeJSサーバのフレームワークであるExpressを採用しています。

Electron

動画編集者向けのツール開発で、Webアプリをデスクトップ向けアプリとして出力することができるElectronを採用しています。ElectronではReactを使用できるため、こちらでもTypeScriptを採用しています。

記事URLをコピーしました