投稿記事

2023年 08月の記事 (4)

上顎 2023/08/26 18:00

雑談回 ゲームエンジンの話

雑談回の第5回はゲームエンジンのお話です。

ゲーム制作を始めたい人が一番最初に悩むことは
「何を使ってゲームを作るか?」だと思います。

そこで今回はゲームを自作しようと調べるとたどり着く
ゲームエンジンについての話をします。


まずゲームエンジンとは何か?
簡単に言えばゲームを作るためのツールです。

ゲームはどう作るの?と良く知らない人に聞くと
「プログラミング…とかする?」と答えると思います。

実際にプログラミングしますがやることはめちゃくちゃ多くて
・絵や3Dモデルを表示する処理の作成
・音楽を鳴らす処理の作成
・物理演算の実装
・パラメータの管理
etc…

本当に面倒です。
これをC言語みたいなプログラミング言語だけで作るのはヤバイくらい面倒です。

そこでゲームエンジンは
そんなゲームを作る際に必須の処理を最初から大体実装してあって、
楽にゲームを作れるめっちゃ便利なツールというわけです。


ロボット少女は夢を見る 制作中のUnity画面

さてそんなゲームエンジン、調べるとめっちゃ種類があります。

有名どころを挙げると以下のようなものがあります。

・Unity … ポケモンGOなどスマホゲームから家庭用ゲームなど色々
・Unreal Engine(以後 UE) … FF VII リメイクなど高画質なゲーム
・GameMaker … Undertale など
・Cocos2d-x … モンスターストライク など
・RPGツクール … 青鬼などのフリーゲームが多い印象

種類が多くて初心者はどれを使えばいいか分からなくなってしまいますが、
有名どころから順に触って自分に合うものを使えばいいと思います。

しいて言えばUnityとUEが広く使われており
・どちらも無料で試せる
・分からない時に検索すると、先駆者が書いたブログにヒットしやすい
・ゲームクリエイターとして就職するなら現場で使われる確率が高い
などお得だと思います。

この2つでどちらか悩んでいるのなら
・スマホゲームならUEだとちょっと処理的に重めなのでUnityがオススメ
・ダークソウルのような高画質アクションゲームならUEがそういうの得意
くらいの認識で大丈夫だと思います。


さてゲームエンジン…
例えば Unity をダウンロードしようとした場合にはこんな画面があります。

先ほど無料で試せると書きましたがそれではUnityの会社に利益が出ません。
場合によってはお金を払う必要があります。

Unityの場合は
・利益が出たとき、
 10万ドル以下なら無料
 10万~20万ドルならPlus(5万円/年)
 20万ドル以上ならPro(27万円/年)

UEの場合は
・売上が100万ドル以上を超えると5%をロイヤリティとして払う

他にもRPGツクールはソフトを7000円前後で購入する必要があったり
ツールによってお金がかかったりするので
こういうのもゲームエンジン選びの指標になるかもしれません。


ゲームエンジンのお話、いかがでしたでしょうか?

個人でゲームを作るうえで
ゲームエンジンはほぼ無料で使える上にめちゃくちゃ便利です。

私は大学生のころ、ゲームエンジンで簡単に作るよりも
プログラム言語で苦労して作る方が勉強になると考えていましたが
就職面接で
「なんでゲームエンジン使わないの?使った方がいいよ」
と言われて、
ゲーム会社の実務ではほぼゲームエンジンでした。
(稀に外注でc++で作ったりもしました)

もしこれからゲームを作る人は
遠慮せずにゲームエンジンを使いましょう!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

上顎 2023/08/19 18:00

ロボット少女は夢を見る - 制作記その28- 専用の翻訳用のソフトを作った話

以前の記事で多言語対応の話をしました。

その時にお話しましたが、
Steamなどのゲーム販売サイトでは海外の市場がとても大きいです。

そこで日本語以外の言語にも対応したいのですが、
私が作っているゲームはテキストノベルな部分が多いため翻訳する量がとても多いです。

しかも中身は以下の画像みたいな形で
知らない人からしたら何の文章なのかまったくわかりません。

自分で翻訳するのなら何とかなりますが、
翻訳サイトで雑に翻訳すると訳の分からない文章になり魅力が半減します。

そこで専門の翻訳業者に依頼する予定なのですが、
そのために上の画像から
会話文を抽出して翻訳するためのツールを作成したのでそのお話をします。


まずはそのツールの動作を動画にてお見せします。

基本の機能としては以下の感じです。
・翻訳したいファイルを指定して翻訳できる。
・翻訳元or翻訳後の文章が実際のゲームでどう表示されるか確認できる。
・翻訳が終わった文章の色を変えたり、メモを入力できる。
・翻訳が必要な日本語の文字を計算できる。

最低限、翻訳さえできればよいのですが
せっかくなので使いやすいように
こだわったポイントがいくつかあるのでお話します。


こだわりポイント1つ目が
翻訳時に余計な情報が見えないことです。

開発者の私が会話スクリプトを組む際は以下の画像のようなエディタを使います。

その際には上記の画像の緑色の部分のように
ゲーム会話中にフラグを立てる処理があったりします。

他にもお金やパーツを付与したり、背景をアニメーションさせる情報も
会話スクリプトには仕込まれているのですが、
この翻訳ツールではそれらの情報は必要がないため表示していません。

翻訳するのは会話の話者名+本文と選択肢で選ぶ文章の3つだけなので
それらと分岐時の移動先などの情報しか表示されません。

これによって通常の会話スクリプト作成エディタよりも情報が減り、
翻訳しやすくなります。


こだわりポイント2つ目が
翻訳した文章がゲーム中でどのように表示されるかすぐに確認できることです。

日本語だけを見てそれを外国語に翻訳することは可能ですが、
実際にその会話が再生される状況によって
同じ言葉でも違った意味合いを持つことは多いです。

翻訳者の方が少しでも翻訳を正確にできるように、
より良いものを仕上げていただけるようにこの機能は絶対に入れたかったです。


…ちなみにゲーム中ではパラメータなどによって会話が分岐するのですが、
この翻訳ツールを使用する場合はゲーム内で勝手に分岐する場所が

上記の画像のように自分で選択できるようになります。

他にも選択肢がパラメータによって選択できないことがあると
以前の記事で書きましたがこれも翻訳ツールではすべて選べるようになります。


こだわりポイント3つ目が文字数の計算です。

実際に翻訳してくれるサービスを探していると
翻訳に必要な金額が「○○文字につき○○円」みたいなことが多いです。

この記事を書いた段階ではまだ実際に翻訳を発注していないので
実際にはどのように金額を決めるのかは分からないのですが、
翻訳してもらう際は文字数が分かっていた方が話がスムーズに進むのでしょう。

そこで先ほどの私の会話スクリプト

ここから翻訳してもらう文字数を数えるのは絶対にやりたくありません。
絶対に数え間違えます。

そこで文字数を数えてくれるボタンを作っておきました。
これで翻訳してくれる会社とのやり取りがスムーズになりそうです。


翻訳ツールを作ったお話、いかがでしたでしょうか?

このツールはゲームを遊ぶユーザーからは見えないものですし、
ゲームを作らない人にはよく分からない話だったかもしれません。

ですのでゲーム制作者はこんな苦労もしているんだなぁ…と
ゲーム制作の裏側の与太話程度に読んでいただけたら幸いです。

それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

上顎 2023/08/12 18:00

ロボット少女は夢を見る - 制作記その27- バックアップは大事!

皆さんはパソコンのデータが飛んだことってありますか?

突然の停電で1日作成したデータが吹き飛んだ…なんてよく聞く話です。

ですがこれがパソコンの故障で
数ヶ月、数年の作成データが吹き飛んだ…と言うならどうでしょう?

そんなことになったら多くの人がやる気を失い、
場合によっては開発費が無駄になり洒落になりません。

なので個人制作のゲームであってもバックアップを取ることは必須で、
今回はそんなバックアップのお話です。


まず個人でバックアップを取る場合、
ポータブルHDDなどの外部記憶に保存する方法と
ネットのクラウド上に保存する方法があります。

ポータブルHDDは
容量や種類によりますが購入に5000円前後かそれ以上が必要ですが、
その分容量も数百GBからTB単位であるのでかなり保存できます。

クラウドは
GoogleドライブやDropBoxのような無料で利用できるものの、
その場合容量は少なくて増やす場合は月額課金が必要です。

さらに各々に利点があるため
私の自作ゲームでは購入したポータブルHDDと無料のクラウドの両方を使い、
HDDの方は容量が大きいのでかなり古いデータまで保存し、
クラウドは容量が小さいので最新のもののみ保存しています。


では企業ではどうやって保存しているのでしょう?
私が働いていたゲーム会社では、
どこでもバージョン管理ソフトを使用していました。

バージョン管理ソフトとはGit、SVN、Perforceなどのソフトで
原理としては先ほどのクライド保存と似ていて、
ネットからアクセスできる場所にデータを保存し、
作業をする人たちがそこからデータを落としてきます。

そして何かしら作業を進めて一区切りついたところで
自分の変更をアップロードして、

他の人たちもタイミングを見計らって
アップロードされたデータを落としてくることで
複数人が同時並行で作業を共有します。

バージョン管理ソフトは
このアップロードやダウンロードを管理してくれるソフトで
誰が?いつ?どのような内容を?変更したかを記憶してくれるため、
バックアップを取るだけでなく、
バグった際にいつ頃にそのバグが発生したか?なんでバグったかを調べるのに有効で非常に便利です。

準備が面倒なうえサーバーを用意する必要があるため
個人製作では準備さえすればバグを追いやすくて便利…程度ですが、
複数人でのソフトウェア開発においては必須と言える存在です。


バックアップのお話、いかがでしたか?

バックアップって面倒ですし、
やっても結局使わずにゲームが完成する事もあります。

ですが世の中何が起こるかわかりませんし、
Steamなどで販売するためにガッツリ長期間作るのなら
バックアップはきちんと取った方が良いでしょう。

それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

上顎 2023/08/05 18:00

ロボット少女は夢を見る - 制作記その26- オリジナルの世界の作りこみ その2

ロボット少女は夢を見る の26回目の記事はオリジナルの世界の作りこみについて再びです。

以前の記事では世界の広さの話をしましたが、
今回は色々実装しているときに作ったある設定についてのお話をします。


まず、ある設定のお話をする前にサンドイッチ問題のお話をします。

サンドイッチとはパンに肉や野菜を挟んだ一般的な料理で、
ファンタジーから現代もの、近未来物まで様々な作品に出てきます。

問題は「サンドイッチ」という名前です。
サンドイッチの語源はギャンブル好きのサンドイッチ伯爵が
片手でゲームをしながら食べれるように
パンに肉を挟ませたことが由来とされています。

つまり、サンドウィッチ伯爵がいないとこの名前にはならないんです。
もし地球とは異なるハイファンタジーな世界を作る場合、
サンドイッチという名前の食べ物は生まれない可能性が高いんです。

だからと言ってパンに具を挟んだ食べ物に別の名前を付けても
創作物としてはややこしいだけなんですよね。

せっかく1つの世界を作るのですから
その世界の歴史や文化、宗教に合わせた設定を作りたいですが、
固有名詞や現実の常識から変更しすぎると分かりにくくなってしまいます。

プレイヤーが混乱しないよう
いい塩梅で設定を盛りこむ必要があります。


というわけで今回の本題は
これに近い問題が起こりそうな「祝日」についてです。

本ゲームではカレンダーを表示し、
月火水木金土日の曜日や祝日によって変わるイベントもあります。

しかし現実世界ですら祝日は国によって違いますし、
その由来を調べてみるとその国特有のものばかりです。

例えば本作序盤の大会では
土・日・祝日と休みを使って3日間で行われるものがあります。

日にちとしては10/13が祝日になっている感じです。
これはストーリー上の都合、この日が祝日になっているのですが、
実はこの日は現実の日本でも祝日だったりします。

10/13は10月の第2月曜日なのでスポーツの日です。
昔は10/10が体育の日だったのですが、
法律改正で名称がスポーツの日、日にちが10月の第2月曜日に変わった祝日です。

ただその起源が1964年の東京オリンピックの開会式の日なので
安易にそのまま使うことを避けたいです。

そこで今回はロボットバトルの日という祝日を制定しました。

この世界の意志を持ったロボットたちが
ロボットバトルという競技を作り、その世界大会が初めて行われた日!

…と私が設定しました。
なんとなくスポーツの日と由来が似ていますが、
祝日の由来は割と似たようなものが多いため現実の祝日を参考にしつつ、
その世界特有の文化を利用すれば雰囲気が出ると思います。

世界でも多いのだと
王様や偉人などの誕生日、宗教的に特別な意味を持つ日、
大きな出来事が起こった日、戦争関係などが多いです。

実際に住んだことがないため詳しくはわからないのですが
インドではヒンドゥー教とイスラム教絡みの祝日が多いため
宗派によって祝日になる日・ならない日があるかもしれません。


世界観を作りこむ話の祝日編、いかがでしたでしょうか?

祝日という概念はどんなゲームにでも盛り込めるわけでないため、
参考にならないゲームもあるかもしれませんが、
こういうのが自然に盛り込まれていると世界の解像度が増しますよね。

有名作品だと
ファイナルファンタジーXIVでは1か月が32日、1週間は8日間で
風属日
雷属日
火属日
土属日
氷属日
水属日
星極日
霊極日
と属性と極性というその世界の暦があるらしく、
さすが大企業の大型タイトルだなぁと驚くと同時に
自分の規模のゲームで曜日名まで変えると混乱するだろうなぁと思い
曜日名をその世界固有のものにする対応は行いませんでした。

これからも自分の作る世界観をより確立するために設定を作りつつ、
プレイヤーを混乱させないようにゲームを完成させたいです。

それでは、また次回!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索