CF/GMなど、ツール系は慣れきれなかったので素人感想。
また、SLG/RPGについては既に強力なツールがあるので省略。
今回はACT限定とする。
■概要
ACTを作るのに何を使えば良いかは永遠の問題で、最終的には「慣れたモノを使う」のが「最適」になる(「最上」とは別。)
なんで永遠かというと、バージョンアップやツールの問題、興隆で状況が変わってくるというのもある。
(昔は微妙だったが、VerUpで良くなったり、ライブラリが使用出来なくなったり、まあいろいろ…
いずれにしても学習コストがばかにならないので、学生の時に色々手を出して試すよういつも言ってる。
全部試すのも大変なので、どれがどういうものかくらいはまとめておきたい。
どれも一長一短なので、「自分に合うモノを選ぶ」のが一番。
基本的に「自由度」と「簡易さ」はトレードオフ。「最新」と「安定性」もトレードオフ。
自由度を求めるならC++とライブラリ、3DならUnity/UEといった印象。
CF/GMなどのツール系は未知。慣れてる人は強いが、ずぶの素人からだと結局知るべきこと多そうなのでどうかなぁ…。
あと大規模になると問題の性質が変わってくるので注意。(ツール系は制限や仕様が一番辛い)
■ツール候補
🦐が知らないものは書けないので、ざっと見た感じ書けそうなものを下記にまとめる候補は下記の通り。詳細はぐぐろう。
・C++&DXLib
→昔からあるライブラリ。→ゲームラッパーとしての性能は低いが、その分応用力は高い(はず)
→△その分1から構築する必要があり、満足行く状況にするまでにかなり時間がかかる(🦐は5年以上かかった)
・C++&Siv3D
→最近出たライブラリ(とはいえもうだいぶ経ってる)→必要な機能がかなりラップされているライブラリ。
→△草の根レベルの情報がまだ多くない。ラッパー度が高いので大規模開発でのノウハウが不明(例:Textureはどう管理するのが良いか…?DXLibはハンドル(int)で管理すれば良い
→とはいえC++なのでポインタはつきまとう
・Unity/UE
→UnityはC#で作成出来る(地味に重要)→3Dについてはほぼデファクトスタンダード
→Assetが大量
→△枯れてないので、VerによるAPI変更が頻繁に起こる。未知の問題が発生しうる。仕様に振り回される。などなど、製作以外の手間がコワイ。
・CF/GM
→未知数。→△C++/C#系からすると謎が多く学習コストが高い
今回は下記を省略
・ツクール/ウディタ&スクリプト
→×コモンやスクリプトがあり、実質可能。ただし、作品数が少なく、難しい可能性が高い。・アクツク
→×アプデが止まっている→×メニューなどのカスタマイズが苦痛
→×キーカスタマイズが面倒。標準配置が謎
・cocos2d
→ゲーム管理機能が最初から実装されており、動作するタイプ→Siv3Dと似ているが、こちらはスマホ向けがメイン(ちょっと前からWinネイティブも作成可能に。)
→CocosStudioで作る感じ。
→△スマホ以外については不明。ツールの仕様やバグに振り回されるのはツール共通。
(悪くは無いが、PC用ゲームという観点から省略。感覚的にはSiv3D/Unity)
・アクションエディタ、豆乳
→△もうちょっと、なんというか、手心というか…→学習コストはめちゃ低い
・その他海外産ゲームライブラリ、ツール群
→有名なモノ(CF/GM)以外は英語がほとんどなので省略■比較ポイント
🦐が見るのはここ!・大規模開発に強いか
→リソース耐性
→安定性
ぶっちゃけ、小規模ならどれ使っても大差無いです
・逆引きリファレンスの充実、あるいはラッパー関数の便利さ
・Live2D/Spineなどとの連携
・日本語情報の充実
■比較
・大規模開発に強いか:リソース耐性
大量のリソース(画像や音声)が来ても処理しきれるか・DXLib:○プリミティブな部分が多く、かなり柔軟に対処出来る。
・Siv3D:?オーバーヘッドが不明。問題はないように見えるが、ノウハウが不明
・Unity/UE:△ある程度まではDXLibより楽だが、一定以上になるとツール側の不具合(謎のエラー)や動作速度問題が浮上しがち
・CF/GM:×EXE一体型のものは2GBの壁につまづく(32bit環境/32bitアプリでは2GB以上のファイルを扱えない)。
×リソースに限界がある場合が多く、いろいろきつい。GM:Sのサンドボックスは悪評が多い
・大規模開発に強いか:安定性
途中で製作以外の悩みが発生しないか。・DXLib:○枯れてるので「安定性に限って言えば」ほぼ無し。
・Siv3D:?問題点がそもそもあるのか分からないので保留。
C++系は、どっちかといえばデザインパターンやアルゴリズムで悩む。
UnityやCF/GMはオブジェクト指向やシーン、状態管理などが仕様やUIで既に実装されている状態なので、そういうものに悩まされることは少ない。
・Unity/UE:×何気ない設定で問題が発生することあり。枯れてないのでVerUpで直ることもあるが、そもそもVerUpもヤバイ。
・CF/GM:△仕様や制限に悩まされることはある。どのツールも、だいたいそんな感じ。
・逆引きリファレンスの充実、あるいはラッパー関数の便利さ
・DXLib:×かなり低層寄り。文字列処理、幾何学処理、入出力、ゲーム用処理など作るべき項目は多い。死ぬ。・Siv3D:○かなりラップされている。とりあえずDXLibの不満点は実装されてると思っていい。Win32API寄りの機能も多い。
・Unity/UE:○ユーザが多いので(英語が読めるなら)情報は多い。ただしAssetを軸にしたモノも多く、「良いAssetを探してくるノウハウ」が重要になってくる。
自分でシコシコ作ったものより高性能なものが、Assetや公式VerUpで出たりすることに耐えられるなら。
・CF/GM:×正引きはあるが、逆引きは意外と無い(結局近いサンプルをじっくり読むしかない)。ツールなのである意味ラップではあるが、ActionScriptやGMLなどは制限の強いC++みたいな感じ。
・Live2D/Spineなどとの連携
そういうこと。・DXLib:△どうなん?(DirectX対応はしてるが…)
・Siv3D:△どうなん?
・Unity/UE:○公式で対応しているモノが多い。というか無料Assetにもある(Anima2D)
・CF/GM:○GMは対応してるものが多い。
・日本語情報の充実
・DXLib:○国産なので当然全部日本語。逆に海外ではあまり使われていないという問題はある・Siv3D:○これも国産
・Unity/UE:△英語が多いが、公式中心に日本語情報も多い。ただし、チュートリアルがビデオだったりするので、見るのが面倒
・CF/GM:△少ない。
■タイプ別オススメ
・3Dやりたい!
Unity/UE:ぶっちゃけこれ二択。情報量、自由度、Asset量、全て最強。・とにかく簡単なものがいい!
アクションエディタ、豆乳:「とにかく」簡単に作りたいなら。CF/GM:ポインタが無いというだけで勧める価値はある。
Unity/UE:Assetで大体片が付く場合に限る。意外とコーディングは多い。
・オリジナルのシステムを組みたい!
DXLib:これ単体なら新規で使う意味は薄いが、過去のコード流用など何か意味があれば。Siv3D:新規で作り始めるならこれが強い。
Unity/UE:2Dでもかなり強い。Assetも豊富。コーディングに加えてAsset選別ノウハウは要る。
CF/GM:不可能では無い。
0 件のコメント:
コメントを投稿