Unityでゲームを作る

Unityでゲームを作る

今や最強と言えるゲーム開発ツール「Unity」。
紙広告のグラフィックデザイナーがそんなUnityを使ってゲームを作る日々を綴ります。

Amebaでブログを始めよう!

プライバシーポリシー

TEAM369は、TEAM369の管理運用する全てのコンテンツをご利用の皆様のプライバシーを尊重し、以下の基本方針に従って個人情報の保護を行います。TEAM369がオンライン上で提供する各種サービスをユーザーの皆様がご利用になる際の参考にしてください。

 

1. 法令遵守
TEAM369は、個人情報保護に関連する法規制、その他の要求事項を遵守し、「個人情報保護規定」を定め、TEAM369社員(※)、及び関係各所に周知徹底するために、管理、教育を実施し、継続的改善・維持に努めます。(※)TEAM369社員とは、役員、従業員(正社員、契約社員、パート)アルバイト等TEAM369に従事する者すべてが該当します。

 

2. TEAM369が取得及び利用する個人情報の種類
TEAM369がお客様から取得及び利用する個人情報には、以下のものが含まれています。
①TEAM369の商品・サービスその他の事項につきご連絡・お問い合せ等をいただいた際に、TEAM369が取得する個人情報
・氏名、電話番号、メールアドレス
・その他ご連絡・お問い合せに回答するために必要な、TEAM369がお客様から提供いただく一切の情報
②TEAM369の携帯アプリ利用にあたり、TEAM369が取得する個人情報
・お客様のアプリ内における、登録情報や行動履歴(アカウント名、ゲームプレイ内容及び履歴、アプリ内通貨の購入履歴、フレンド状況、対戦状況・結果、チャット内容などが含まれます。)
・アプリを使用するお客様の端末情報(製品モデル、オペレーティングシステム、通信キャリア、ロケール設定、広告識別子(IDFA 等)、その他情報端末固有の識別子等の情報などが含まれます。)
・IPアドレス
・cookie
③TEAM369の家庭用・パソコン用ゲームソフトにおいてオンライン機能を利用するにあたり、TEAM369が取得する個人情報
・上記②のような情報に加え、プラットフォーム提供者により付与される個別ID、ユーザー名、ゲームプレイ内容及び行動履歴
個人情報を収集するにあたっては、その利用目的を明確にし、その目的の範囲内でのみ使用いたします。個人情報を収集する際、各ユーザーの方々の嗜好や興味をお聞きする場合がございますが、これらは需要の高い商品の開発や、適切なコンテンツの配信などサービスの向上に役立てて参ります。

 

3. 個人情報の利用目的について
TEAM369は、以上のように取得した個人情報を、以下の目的のために利用します。
①TEAM369の商品・サービスその他の事項につきお問い合せいただいた際に、TEAM369が取得する個人情報について
・お問い合せ対応の確実性・適切性の確保
②TEAM369の携帯アプリ利用にあたり、TEAM369が取得する個人情報について
・ アプリサービスの提供・管理・改良
・ アプリ内における不正防止
・ 課金状況の管理
・ 広告配信及び広告配信の効果測定
・ お問い合せ対応の確実性・適切性の確保
③TEAM369の家庭用・パソコン用ゲームソフトにおいてオンライン機能を利用するにあたり、TEAM369が取得する個人情報について
・ ゲームサービス及びそのオンライン機能の提供・管理・改良
・ ゲームソフト内における不正防止
・ お問い合せ対応の確実性・適切性の確保

 

4. 個人情報の保管期間について
TEAM369は、収集した個人情報については、利用目的遂行のために不要となる時点まで(お客様アカウントが削除された場合等を含みます。)保管・保持します。利用目的遂行のために不要となった個人情報につきましては、速やかに削除又は匿名化処理を行います。

 

5. 個人情報の送信
TEAM369では個人情報の保護に最大限の注意をはらいますが、情報送信時のセキュリティの保証はいたしかねます。インターネットの性質上、ユーザーの皆様は個々の責任において情報の送信を行っていただきますようお願いいたします。

 

6. 個人情報の第三者への開示
ご提供いただきました各種情報はご本人の同意がある場合を除き、原則として第三者に提供することはありません。ただし、あらかじめTEAM369との秘密保持契約を締結しているTEAM369業務提携先、業務委託先、関係会社に必要な限度で開示する場合(サービスの利用に関する調査、不正行為の防止、広告配信等のため、第三者の情報収集・広告配信モジュールを利用することもあります。)、法令に基づき開示を求められた場合、司法または行政機関から開示を求められた場合にはこの限りではありません。

 

7. 個人情報の管理
個人情報への不正アクセス・紛失・破壊・改ざん・漏洩等を予防するために管理責任者を設置し、適切なセキュリティ対策を行い、個人情報を安全かつ適切に管理するように努めます。

 

8. 個人情報の訂正・削除について
個人情報の取り扱いに関する開示要請等の各種要請やお問い合せは、こちらのページからお願いいたします。TEAM369で内容を確認した上、適切に対応いたします。

 

9. 個人情報問合せ窓口
個人情報の取り扱いに関する各種の問い合わせにお応えするために、取り扱いの窓口で、内容を確認した上で、適切に対応いたします。

 

10. Google Analyticsの利用について
・ウェブサイト
TEAM369が運営するウェブサイトでは利用状況を把握するためにGoogle Analyticsによって提供されるサービスを利用しております。Google Analyticsではクッキー(cookie)を使用し個人を特定する情報を含まずにデータを収集します。Google Analyticsの利用により収集されたデータは、Google社のプライバシーポリシーに基づいて管理されます。
・アプリケーション
TEAM369で配信するアプリには、サービスの利用状況を把握するためにGoogle Analyticsを利用しているものがあります。Google Analyticsの利用により収集されたデータは、Google社のプライバシーポリシーに基づいて管理されます。
Googleプライバシーポリシーについては以下をご覧ください。
Googleプライバシーポリシー
http://www.google.com/intl/ja/policies/privacy/

 

11. 情報収集モジュール
TEAM369で配信するアプリでは、広告配信を目的として以下の広告配信事業者がご利用者の情報を自動取得する場合がございます。取得する情報、利用目的、第三者への提供等につきましては、以下の広告配信事業者のアプリケーション・プライバシーポリシーのリンクよりご確認ください。
AdMob(Google Inc.)
http://www.google.com/intl/ja/policies/technologies/ads/

 

12. リンク先について
TEAM369ホームページから他者のウェブサイトへリンクが張られている場合がありますが、TEAM369は当該リンク先のウェブサイトの運営および管理には関与しておりません。したがって当該リンク先のウェブサイトにおける個人情報の取扱いについて、TEAM369は責任を負いかねますので、あらかじめご了承ください。

 

【EEA域内お客様の皆様へ】
・ 個人情報処理の目的及び法的根拠
取得した個人情報の処理に関する法的根拠は、利用目的ごとに以下のとおりです。
①お問い合せ対応の確実性・適切性の確保
TEAM369は、TEAM369の商品・サービス全般(TEAM369アプリやゲームソフトを含みます。)に関するお客様からのお問い合せ対応や要求等に確実に、かつ、適切にお応えするために、提供いただいた個人情報を利用いたします。
この目的における個人情報処理のGDPR上の法的根拠は6条1(b)となります。
②アプリサービスの提供・管理・改良
TEAM369は、お客様へのアプリサービスの提供という契約の履行のために個人情報を利用いたします。また、お客様のためにアプリサービスを改良するという、TEAM369の正当な利 益追求のために個人情報を処理する場合もあります。Google Analyticsを用いたアプリサービス状況の分析についても、アプリの改良という正当な利益追求のために行うものです。
この目的における個人情報処理のGDPR上の法的根拠は6条1(b)又は(f)となります。
③アプリ内における不正防止
TEAM369は、アプリ内における不正防止により、TEAM369の業務遂行の最適化を図り、サービスの信用性を高めるという、TEAM369の正当な利益追求のために個人情報を処理いたします。
この目的における個人情報処理のGDPR上の法的根拠は6条1(f)となります。
④課金状況の管理
TEAM369の提供するアプリサービス内において、お客様がゲーム内アイテムを購入する場合には、その契約の履行に必要な限りで個人情報を処理します。また、課金状況の分析等により収益の追求といったTEAM369の正当な利益追求が可能となります。
この目的における個人情報処理のGDPR上の法的根拠は6条1(b)又は(f)となります。
⑤広告配信及び広告配信の効果測定
TEAM369は、TEAM369又は第三者の製品又はサービスに関する広告をお客様へ送信するために、個人情報を処理いたします。広告を配信する目的での情報取得については、お客様から個別に同意を取得します。個別の同意を取得した以降は、TEAM369のマーケティングや広告 配信の最適化を図るという、正当な利益追求のためにも個人情報を処理いたします。
この目的における個人情報利用のGDPR上の法的根拠は、広告配信については個別の同意、広告配信の効果測定については、6条1(f)となります。
・ お客様が有している権利について
EEA域内に所在するお客様の皆様は、以下に示す権利を有しています。
①個人情報へのアクセス権
TEAM369が個人情報を利用しているか否かを確認する権利及び利用している場合にはその個人情報へのアクセスをする権利を有しています。
②個人情報の訂正権
TEAM369が取得し利用する個人情報が不正確である場合に、当該個人情報の変更・修正を求める権利を有しています。
③個人情報の消去権
一定の要件の下、TEAM369が所持する個人情報の消去を要求する権利を有しています。
④個人情報の利用を制限する権利
一定の要件の下、TEAM369の個人情報処理について制限を加える権利を有しています。
⑤データポータビリティの権利
TEAM369が保持するお客様の個人情報を受領し、他所に移転する権利(直接TEAM369から他所へ情報を提供するよう求める権利も含む。)を有しています。
以上の権利に加え、お客様は、個人情報処理・移転についてお客様がTEAM369に与えた同意をいつでも撤回する権利も有しています。上記権利の行使や行使の方法については、上記 連絡先へお問い合せをお願いいたします。
また、お客様は、TEAM369に対し、個人情報の利用・処理について意義を申し立てる権利及び規制当局に不服を申し立てる権利も有しています。規制当局への不服申立については、お客様の居住国(所在国)の個人情報保護規制当局までご連絡をお願いいたします。
・ お客様が有している権利について
TEAM369の提供するサービスをEEA域内において利用する場合、TEAM369は、上記2において取得した個人情報データを、EEA域内から日本国内へ移転した上で処理を行います。TEAM369は、個人情報への不正アクセス・紛失・破壊・改ざん・漏洩等を予防するために管理責任者を設置し、適切なセキュリティ対策を行い、個人情報を安全かつ適切に管理するように努めています。個人情報の日本への移転をすることは、アプリサービスの提供の履行のために行う必要があるため、個人情報のEEA域内から日本への移転についての法的根拠は、GDPR49条1(b)となります。お客様がTEAM369による個人情報の取得を拒まれる場合、TEAM369がサービスの提供を行うことができない場合があることをご了承ください。

nend広告について
nendのプライバシーポリシーについては以下のURLをご確認ください。
https://www.nend.net/privacy/sdkpolicy

Amazonからメールが来た。

フットボール選手の「ミク」って名前が引っかかって申請が通らないらしい。

使うなら証明書を見せろと。

 

だれがフットボールのオッサンと初音ミクを間違うんだよ?

上のイラストアイコン見たってフットボール選手に見えるはずもない。

しかも日本語カタカナの「ミク」にもイチャモンつけてくる(英語ページの「miku」はとっくに消した後)。

日本でググったって出てこねーし。ミクなんてフットボール選手。

 

もうただのいちゃもん。

こじつけ。そしていやがらせ。

 

で、講じた対策。

漢字で三 𠂊 (さんもう)。

もう訳わからない。

ググってもヒットしない。

 

こんだけやってもイチャモンつけてくるかな?

承認しない奴。性格悪そう。

 

ぱっと見、ミク電卓に見えるがSEO的には死亡だよね。

 

まあ、ファイアタブレットでしか購入できないAmazonアプリなんかリリースしなくても痛くも痒くもないんだがね?

ただ気分が悪い。

新しいミク電卓をリリースしました。

ミク電卓3!

今まで通りのミクボイスはもちろん今回は×÷を優先して計算します。

ココらへんは100均の電卓よりは勝ってるかな?

1+2×2+1=6 これが正しい答え。

安物の電卓だと答えが「7」になっちゃうんですよ。

 

算数ってのは「×」「÷」が「+」「-」より優先されるんですよね。

 

安い電卓だと左から順に計算するから「7」になる。大人でもそういう計算の仕方しちゃう人いるよね?

 

でも正式には真ん中の掛け算を先にやって、次に足し算する。

だから答えは「6」。

 

旧バージョンのミク電卓もそういう仕様だったんですが、大人でも忘れちゃってる人いますしね!

かくいうボクも忘れていました!

 

まあ知らなくても日常生活に支障はきたしませんが・・・・

 

・・・とは言うものの、小学生の学習に使えない電卓では困る!間違って覚えちゃうからね!

 

今回のはちゃんと四則計算するから学校に持っていっても大丈夫かな・・・・・・?

 

あとUnityで作られているからスマホ・タブレット関係なくインストールして使えちゃいます!

新しい「ミク電卓3」よろしくね!

知り合いのグラフィックデザイナーが開催する個展に行ってきた。
普段の自分と接点の無い世界・・・ 人たち・・・・・

毎日毎日、仕事と糞絵に凝り固まっていると感性が劣化してしまう。
たまにこうして違う世界に浸かるのも必要かと。

タイトル通りである。

毎日が敗北感の連続である。
ここでは訓練校で習ったスキルはほとんど通用しない。
通用するようなレベルじゃない。

プログラマーが中心でスクリプトが解らないと話にならない。
しかも今作っているゲームはカードバトルという非アクションゲーム。
そうなると各パラメータの保存、サーバの処理、暗号化など、ほぼUnity外の機能が必要になる。

あとグラフィックのほとんど、いや全部を外注で済ませている。

グラフィックの経験は20年あるが、ここ一ヶ月、グラフィックのスキルを活かせる場面は無かった。
先週、ようやくカードに使う絵の仕事を頂いた。
だがカード絵というものは、一枚の絵に数日間、数週間を掛ける宗教画とも言えるようなもの。
アニメやアクションゲームに使えるようなものではない。
装飾が多すぎて動かせないのである。

それを先週ずっとやっていた。

実は自分はIllustratorでの作画が得意。
ラフやパースの仕事でしか使ったことの無いクリップスタジオを使って苦闘していた。
会社の人は自分がIllustratorで描いた絵で合格としたが、その時求められたのは一昔前流行った「厚塗り」だったのである。

とは言え、一週間何も言わず自分に絵を描かせてくれた会社には感謝するしか無い。
そして自分に課せられたミッションは「今どきの絵」が描けるようになること。

カードゲームで使われる絵の値段の相場は一枚◯◯万円である。
2枚描いたらサラリーマンの一ヶ月分だ。

自分はあんなものに◯◯万払うなど金をドブに捨てるようなものだと思う。
なぜなら自分が模倣(もほう)できるからだ。
模倣しても3日掛かるまい。

そしてカードゲームの絵に著作権は無い。
会社が大枚はたいて買い取るから。
模倣できれば何の問題もない。

そんな絵に絵のスキルも含蓄も無いからと言って言われるままに支払う。
これが今のゲーム業界の実情である。
騙しである。

もっともそんなハッタリの効く現状ならば、フリーの方が給料の倍稼げるだろう。
ハッタリが通用する今ならば。

自分はこの会社の恩は一生忘れない。
例えそのような事があろうとも、この会社を裏切ることはしない。

自分の絵がハッタリ絵師と対等の価値を持ったとしても。

そしてそのハッタリスキルを少しでも早く身につけるのが今の自分に出来る恩返しと言えよう。


※ここで模倣と言っているのは絵のタッチとかテイストである。
 更に言えば「描き方」である。
 「描き方」を模倣して、違う構図、違う人物を改めて描くことである。
 今、オリンピックで有名なスーパーデザイナー、佐野研二郎のような仕事を指すものではない。

ゲーム会社ではSkypeで仕事の報告をするのはよくあることである。
先日38度の熱を出して会社を休んだ。
だがSkypeの糞仕様のせいで無断欠勤になりかけた。

変化は前日からだった。
フラフラで宙に浮いている感覚があり、定時で帰る予定だった。
スケジュール的には前倒しで進んでいるため問題はない。

帰ろうとした直前、チームのプログラマーがUnityのスクロールウインドウのオブジェクト配置に問題があると言ってきた。
これを解決しろと。

ちなみに解決はピボットを1に設定すれば終わりなんだが、このプログラマは最後までそれを言わなかった。
悪い意味で職人である。

フラフラの状態で上記の件を突き止めるのに3時間掛かった。

次の朝、普通に歩けるのだがどうも体がおかしい。
全身筋肉痛。
骨が痛い。
頭がズキズキする。
咳が酷い。

うん。風邪だな。
体も動くし、いつも通り出勤できそうだが、一応体温を調べておこう。

結果38度。

自分の人生で38まで行ったことは無い。
3回測った。

やはり38度。

うん。危ないね。
これ死なないかもしれないがホームから転落するかもね。
よし休もう。

会社では休むにも遅刻するにもSkypeで報告している。
自分も例に習って報告した。
朝の7時に。

ところが・・・・・・・・

これが反映されなかったのである。

自分は熱と頭痛と体中の痛みで、それ以降タブレットを起動することは無かった。
ずっとベッドで横になってた。

ちゃんと寝てもいない。
かと言って他の事もできない。

テレビも見ない。
飯も食わない。
水も飲まない。

そうやって午後の3時まで横になっていたが体の痛みと頭の痛みが増してきた。
だからもうその状態で病院に行くしか無かった。

午後6時。
病院からもらった薬を飲んでようやく落ち着いてきた。

20時。
タブレットを見れる状態になった。
それまでは痛みとだるさでメールの確認どころではなかった。

Skypeを見ると大変なことになっていた。
自分が無断欠勤した事になっている。

サブリーダーが追求してきた。
7時に連絡したと書いたが信じてもらえない。
それはそうだろう。
ログすら残っていないのだから。

自分のタブレットにはしっかり7時に発言している。
スクショをサブリーダーに送った。

数分後に電話で直接話した。
どうも自分の発言は自分が再びタブレットを起動する20時まで反映されてなかったらしい。
さらに悪いことには、本来出勤前にする報告が夜の20時に初めてされた事になっていた。

自分はネットで調べた。
するとSkypeの仕様のせいで大事な会議をスルーしてしまった人のブログに辿り着いた。
ブログによると、どうやらSkypeはお互いの端末がネットに繋がってないと発言が相手に届かないらしい。

つまりこうだ。
自分は朝、会社に休むとSkypeに書き込んだ。
タブレットには自分が会社のチャットに発言しているので、会社に伝わっているように見える。
だが会社のパソが起動していなければ実はそれは届かない。

会社のパソが起動している頃には自分はベッドに横になっており、タブレットはスリープになっていた。
無論、タブレットには触りもしなかった。
メールを確認する気力も無かった。

自分の端末が起動してネットに繋がっていて、なおかつ会社の端末も起動してネットに繋がっていなければそれは発言されたことにならない。

最もクソなのは、自分のタブレットには発言されたようにしか見えない事。

後で他の端末で確認したが、その日の自分の初めての発言は20時以降になっていた。
事実の捏造甚だしい。

Skypeが普及しない理由が判った気がする。
これは決してビジネスで使ってはいけないツールだ。

Skypeは独自のサーバが無い。
だから相手の端末が起動していない事には役に立たない。
それならそれで正直に「相手の端末が電源を切られているか電波の届かない・・・・」とか言ってくればいいのに、伝わったかのように表示してしまう所が最低なのである。

 

Skypeは人間の信頼関係を破綻させるツールだ。

だから自分はタブレットのスクショをサブリーダーに送った。
7時に発言した証拠だ。

さらに会社全体にも送ったがこれは反映されなかった。
ここまで来ると悪意を感じる。

これでは完全に非常識野郎だ。

 

Unityの地雷。
アトラス化。

アトラス化とはゲーム制作で頻繁に見かけるキャラ画像やUI画像が一枚の紙に並べて連なっているアレである。
文章だけじゃ分かりにくいから画像を貼っておく。


ゲーム制作ではアトラス化は当たり前だが(自作のシューティングゲームではしていない)、今作っているゲームは遠いカテゴリの画面からUIを拝借するような場面が多々ある。


こういうのをアトラス化するとすでにアトラス化された「アトラスA」の1と「アトラスD」の3と「アトラスZ」の190という画像を使っただけでグラフィックに膨大なメモリを割くことになる。

内訳はこうだ。
「アトラス」が全て640x1136ピクセルで10MBだった場合、上記はアトラス×3だから、メモリだけで30MBになる。

「アトラスA」の1と「アトラスD」の3と「アトラスZ」の190は、それぞれ小さなボタン画像である。
1つのボタン画像は5kbに満たない。

アトラス化しなければ15kb以下で済むのにアトラス化した為に30MB消費してしまうのである。
メモリを。

なんでそうなってしまうかと言うと、小さなボタン画像を3つ呼び出す為に、そのボタン画像がくっついている640x1136ピクセルで10MBの大画面を一気に読み込まなければならないからだ。
それも3つも。

じゃあアトラス化しなければいいじゃん?
そう思うだろう。

ところが。
小さな画像を各所の遠いフォルダにしまい込んだ場合、表示処理が煩雑になり時間がかかってしまうのである。

どっかのまとめサイトの画像やアイコンがいつまでも表示されず、ブログ記事を読み始めてから5秒~10秒後に画像が現れ、文章がガタガタと沈んで行く・・・・・
これも各画像をどっか遠くの国のサーバを経由している(または激重のサーバ)為に表示が同時に起こらず、遠いほど、重いほど後に表示されるようになるからだ。

そういう野暮ったい事が起こるのを避けるためにアトラス化はある。
1つの画面で読み込まれる各画像を一枚絵にしてしまえば表示は一瞬でされる。
ズレも、ズレによるレイアウト崩れも起こらない。

完全にプログラマ思考である。
ゲームに於いてはそれで問題ない。
だがそれを闇雲に行うともっと面倒な事になるのである。

そしてアトラス化には更に酷い地雷がある。
それは低解像度化。

アトラス化 → 低解像度化 である。

これは勝手に行われる。
例えばさっきのようにiPhone5規格の640x1136pxにした場合、各画像がこれを超える画像数、つまり640x1136pxの画面に収まりきらない場合、勝手に解像度を落として(つまり縮小して)収めてしまうのだ。

これを知らなかった。

知らないで会社の先輩に言われるままに、来る画像来る画像全てアトラス化してプログラマに渡していた。

そういう自分もその画像を使って画面を組み立てていたのだが、どうもおかしい。
座標が常にずれる。
表示が常にずれる。
値にするとおよそ半分。

画像を2倍に拡大すると解消された。
プログラマには座標がずれる画像は全て二倍に拡大するよう通達して使っていた。
一週間程。

そうやって使っていたがどうもおかしい。
来る画像来る画像全て座標がズレる。

最初、UIの外注先の会社のミスだと思った。
修正を頼む前に、会社で一番Unityができるヤツを呼んで調べた。

すると驚愕の事実が発覚。
Unityがアトラス化している時に勝手に解像度を落としていたのだ。

今まで自作ゲームの時に、Unityが解像度を落とす現象を見てはいた。
しかしそれは各デバイスへのビルド時だけであって、ゲーム制作画面に使うオリジナル画像を改変したりしなかった。
だが今回のは違う。
明らかに解像度は下がっていた。
画像もボケボケだった。
他のプログラマも気づいていた。

画像が小さいのではないか?と。

Unityが生成したpngと生成前のpngをPhotoshopで比べた。
小さくなっていた。
アトラス化したpngが。

ずっと紙のグラフィックに携わってきた自分。

解像度を落とすなど言語道断。
ましてやツールが勝手に解像度を落とすなどありえない挙動だった。

ここに来てやっと、Unityがグラフィックデザインのルールや一般的なソフトのルールを無視する独善的なプログラマによって作られた不完全なツールだと思い知った。

となりのグラフィック担当の先輩社員も「Unityのプレビューはボケるから」と取り合わなかった。
自分もツール(ソフト)が勝手に解像度を落とすなど考えなかった。

しかし見た目が明らかにぼやけているのである。
小さい画像を無理に拡大表示したアンチエイリアスのグダグダな画像だったのである。

入社してすぐに気づいたが調べなかった。
調べるべきだった。

Photoshopで開けばすぐに判明した事である。

グラフィックデザイナー失格であろう。
20年やって来たデザイナーなら、それも印刷に携わってきた者なら真っ先に調べる事である。

実にショックな出来事だった。

他のプログラマやとなりのグラフィック担当先輩も気に留めていなかったが、自分に取っては大事件だった。

ありえ無さ過ぎるのである。

確かに解像度が低くなっても事故は起こらない。
プログラム的には問題ない。

グラフィックを、画像解像度のルールをあまりにも軽視した、あまりにもバカにしたツールである。

そういう訳でこれを読んだ方はUnityで画像をアトラス化する際はくれぐれも気をつけて頂きたい。
今回の失敗も、ブログを読んだ人がUnityのアトラス化による失敗を防げれば何よりである。
毎日が必死である。

上にあるのはUnityでゲーム画面を作る為のメモ。
リリース前のゲームなのでモザイクだらけだが雰囲気だけでも分かってもらえばと思い載せてみた。

Unityは使えば使うほどプログラマー向けのツールだと実感する。
レイヤー構造もフォトショやイラレと逆。
下に行くほど上(手間)に表示される。

普通に考えても新しいレイアウトほど手前に来るのだがUnityでは逆を貫いている。
これは文章にならって下ほど新しいという感覚によるもの。
テキストを書き込むプログラマが安易に思い付きそうな発想である。

メモ帳1つあれば事足りる連中が無理にUIを凝らすとこじれるという良い例だ。
Unityにはこういうプログラマの独善で作り加えられた機能やUIが多く、全てを人間が管理しないと大変な破綻を招く。

ついこの間もそういうUnityの独善的機能で大失敗しそうになった。
自分はこれを「Unityの地雷」と呼んでいる。
これについては次の記事に書くから、Unityでゲーム開発している人は必ず読んで欲しい。

そういう訳で画面作りにおいてはホイホイと作れるのだが、画面に配置されるボタンや語句が替わるテキスト。それらに機能を加えるためのスクリプト(C#)を書くのが大変。

一応仕事として成り立っているのは、画面のオブジェクトにアタッチ(機能を付加)してオブジェクトをクリックすると「返す」プログラムを予め作って頂いているから。

自分はそれをもらって、オブジェクトの数だけプログラムの行を増やし、同じ分だけ「返す」コマンドをコピペしているのである。

これだったら内容が分からずとも画面を組んでいける。
「返す」とは「オブジェクトをクリック(またはアプリが文字表示・グラフィック表示を替えるなど)すると何らかの反応をするよ」と言う予約である。
何の反応をするのか確定していないので「返す」としか書けないのである。
プログラムと言うのはこういうパズルのような作文が多い。と言うか求められるのだ。

プログラマー的には「返す」部分は変数となる。
どうなるか分からないけど取り敢えず「なんか起こるよ?」って書いておけば後から機能を付けた時そのように動く。そうやって書くのは後々都合が良いからである。

ところが人間はそうは行かない。
そんな後から補完されるような、ぼやけた抽象的な文章を平気で書くことは出来ない。
そんな作文をしていると、途中で自分が何を書いているのか分からなくなる。
そういうボケた思考回路のような作文を明確にしっかりと書かなければならないのだ。
それがプログラム・スクリプトなのだ。

ボケを明確に記述する。
ボケとボケを正確に明確に繋ぎ、相互に作用し働くよう計画する。

この相反する構造がプログラムを難解にしている一番の要素だろう。
プログラマはこの相反する作文が感覚的に書けるのだ。

たまに説明で何を言っているのか分からないプログラマがいるのはそのせいではなかろうか?
直近の訓練校の講師がそういう人間だった。

自分はグラフィックデザイナーでありながら、今はほぼプログラマー的な作業に没頭している。
グラフィックがUIまで外注なので自分が本来すべき仕事が無いのだ。
そこでUnityが扱えるからと画面作成の仕事をしているのだ。

いずれにしろ一人でグラフィックからプログラムまでこなしたいと思っているから苦ではない。

晩ゴハンが美味しい。
いつものような気晴らしの食事ではない。
本当にやりたい仕事に就けたからだ。

自分が参加しているゲームのプロジェクトは遅れに遅れている。
一応プロのゲーム制作現場を体験している自分だが、今いる会社のフローだと来年の今頃完成するのが妥当。
どう考えても。

実際は秋にリリース予定。

無理。
どう考えても無理。

だが1つ、飛んでもなく早く作れる方法がある。
その方法なら8月にはβ版が完成し、秋までデバックやエラー解決の作業に充てることが出来る。

一応、Unityでシューティングゲームの制作経験がある自分だが、作業割合から言うと、実制作が30%でデバックとエラー出しが70%だった。

実はゲームは完成してからが本番なのだ。

今の会社にいる開発の人たちはゲーム制作のプロのはずだが、秋ごろに、やっと動くゲームが出来れば良いと考えている。
それでは間に合わない。

とにかく制作フローを短縮するために、一度、グラフィック担当と話さなければならない。
と言うかもう説得である。

そしてそのグラフィック担当とは前回書いた「眠る男」だ。
すでにギクシャクしているので、なおさら難しい。

そう言えば「眠る男」はリーダーに相談してから全く眠らなくなった。
この変り身も驚くが、リーダーに注意されたのが堪えたのだろうか?

いずれにせよ良くは思われてないな。

入社時に自分はここの人事と社長に「制作が遅れているので早くして欲しい」と言われている。
さらには「グラフィックデザイナーの要となって動いて欲しい」とも言われている。
入って一週間の奴がそんな風に振る舞ったら嫌われるだろう。

しかし今の状況を見ているとそうも言っていられないのである。

自分はヨーカドーチラシ制作で地獄を見ている。
その仕事では不眠不休が祟って死んでしまった者もいる。
ブラック中のブラックな状況だった。

それに比べれば生ぬるいものだ。

だが制作が遅れれば自分が入った意味も無くなるのである。
自分の提案が受け入れられる事を願う。