読者です 読者をやめる 読者になる 読者になる

Unityでインディゲーム道!

プログラム、Unity初心者がインディゲーム制作を目指して日々思うことなどを書き綴ります。

"けものフレンズ"最終回にむけて。かばんちゃんよ、神話になれ!

GEEKネタ

 

さて、いよいよけものフレンズ最終回を迎えようとしています。

11話はIQの下がるアニメとは何だったのか?というくらいに、いろいろと情報量が多い回であり、視聴者達はいろんな意味で打ちのめされたのではないでしょうか?20分じゃ足りなかったですね、1時間スペシャルでもよかった、そんな内容の濃い回だったと思います。

 

自分はニコニコで試聴しているので、ネタばれはかなり気をつけなければ!という感じです。 地上波は水曜深夜ということなので、まあネットを見ないようにするのが一番ですかね。で生放送ページに直接アクセスできるようにブックマークしました。

というのも11話は、ネタばれをネットで見てしまったので。やはりどういう結末になるにせよ、フラットな気持ちで見たいですからね。

 

 

けもの化するポストモダン

さて以前に 

unity-indie-dou.hatenablog.com

という記事を書いてみたわけですが、東先生による動物化するポストモダンまだ読めてません!!半分までは読んだんですけど、本格的な現代思想に関するところがなかなかツライ・・・そして何よりページが進まないのは、

 

この本が書かれた当時と今の社会状況、アニメ、ゲームを取り巻く環境がかなり異なったものになっている、からです。

 

はっきりいって、今あえて読む意味あるのか?という問題です。

この本が書かれたのは2000年代初頭であり、もう15年近くたっているわけですから、それはもちろんそうなってもおかしくないわけです。

そもそも、この本を引き合いに出したのは、ただ単に"けもフレ現象"を表層的に知ったときに、すごーい!たーのしー!と騒ぐ人たちを見て、これって動物化じゃね?って思っただけですので。

動物化するポストモダン』自体の問題ではなく、今更あえて、とりあげる意味があるのか?と疑問を感じているのは事実です。(あと東先生の文章が・・・

この本についての批判は、ある程度知っています、主なものは東先生のIT技術への不理解とかですかね、まぁそこらへんはあまりけものフレンズとは関係ないんで無視していいと思うんですけど。

とにかく当時の状況からは、予測できない状況になっていますし、この本に書かれている論理では説明できないものが、たくさんあると思います。

 

 

間違いなく動物化はしているが。

ツイッター含め、ネットでの騒動を見るに人々の動物化は、どんどん進行しております。でも、それは現代社会への防衛機能であり、高度に発達しすぎた文明社会においては避けられないことだとは思います。そういう意味では、ポストモダン的な批評というのは依然として意味があるのでしょう。 

ただし、時代は変化するし、人も社会も変わります。

あえて今この本について言及し、けものフレンズと照らし合わせる意味があるとすれば、それはけものフレンズはこの本に書かれていないこと、説明できないことが起きている、ということではないでしょうか?

 

この本の中で、ポストモダンとは1970年代以降の社会を指すようですが、おそらくいよいよポストモダン以降の時代がやってくるようです。ですから、この本が"けものフレンズ"をカバーできないのは当然だと思います。

 

フラクタルを見て、『なぜ東浩紀けものフレンズを作れなかったのか?』なんて企画も考えましたけど、そういうのはねぇ・・・。

 

とにかく『けものフレンズ動物化するポストモダン』については、

最終回以降ですね、きちんとまとめたいと思います。

  

 

個人的な最終回予想

最後にせっかくなので、どんな最終回を迎えるかについて考えてみたいと思います。多少のおふざけを含みますので、ご容赦を。

 

・時間が飛んで、数年後のジャパリパークから始まる。

エヴァかよ! ブン投げ系最終回にはなって欲しくないですけどね。

・巨人化したかばんちゃんがセルリアンを!

進撃の巨人じゃあるまいし!

・全滅エンド、歴史は繰り返される。

富野アニメ的な激動の最終回。サンドスターにより蘇った、かばんとサーバルが再び出会いEND。これをやったらやったでスゴイですけども。 

・かばんちゃんの旅立ち。新たなる冒険へ!

無難といえば無難な予想ですが、問題はたどり着いたのが崩壊した東京っていうあれです。かばんちゃんは最後の人類だった!とかいうやつです。

崩壊後の日本をサーバルちゃんと旅する、とかで二期できるんじゃ・・・

 

・・・。

こんなのはどうでも良くて!ただただ心して待つだけですね。

 

はたして、けものフレンズは十年に一度のアニメとなるか!?

かばんちゃんよ!神話になれ!!

 

 

Unity アセット・ストア巡り。[1] アセット紹介

Unity ゲーム制作

無料アセットにも良いものがたくさんあります。とはいっても有料アセットを上手く活用することが、Unityにおいて重要な課題だと思います。そんなアセット・ストア巡りで見つけた、良さげなアセット5個ピックアップしました!

Youtubeへのリンクが多いので、少し重いかもしれません。  

全てがここにある?

Unityにはアセット・ストアというUnityでつかえるあらゆる素材、ツールを販売しているストアがあります。ありとあらゆるものがあるので、お金さえあれば買い揃えたものだけで、プロ級のものが作れてしまいそうな具合です。(おそらくそんな簡単には、上手くいかないでしょうが。)

 

ただし、その数、範囲は膨大であり、どんなものがあるのか?というのを把握するのにも膨大な時間がかかりますし、もちろんそれを全部買うわけにもいきません。なんで慎重に吟味して、選択する必要があるわけで。しかも買って終わりではなくて、使いこなせるようになるまで時間もかかりますからね。

 

なんで時間を見つけては、アセットストアをぶらぶら巡る、ということを最近になってはじめました。いくつかの比較的安価なアセットは既にいくつか買っていましたが、やはり本格的に探るとなるとなかなか大変です。 しかし、探してみるとやはりいろいろ面白いものが見つかりますね。ということで買ったものを含めて、いくつかまとめてみたいと思います。

 

 

世界が曲がる? "Curved World"

一個目らしく、派手に行きましょう!これをはじめてみたときはビックリしました!

地球が丸いことは皆知っていますが、これはその認識をぶっ壊します。


Curved World

https://www.assetstore.unity3d.com/jp/#!/content/26165

Unity内部の位置関係に影響を与えることなく、その見え方のみに効果を与えるシェーダーのようです。映画『インターセプション』のようなひっくり返り、あるいは界王星のような小さな惑星みたいなのも再現できます。

奇妙な空間感は、興味深いですよね。そのうち買いたいです。

 

 

時間を支配せよ! "Chronos Time Control"

続いても、これはいずれ購入してみたいアセット!!


Chronos - Time Control for Unity

https://www.assetstore.unity3d.com/jp/#!/content/31225

時間を自由にコントロールできるようになる機能に関するスクリプトです。これも見た目的なインパクトはすごいですし、うまく活用できたらおもしろいゲームが出来そうです。スタープラチナごっこがやりたいっすねー。

 

時間巻き戻しによる、推理パートはバットマンアーカムシリーズでは御馴染みですが、とにかくアイディア次第でいろいろなコトが出来そうです。

 

 

パーティクルを極める。Ultimate VFX V2.6

パーティクル・システムというとUnityに内蔵された、大量の画像を表示させる機能であり、映像的な特殊効果を得るために使われます。その決定版アセットの一つともいえるのが、このUltimate VFX (V2.6)です!これは買いました!

(動画は無音ですが、正常です。)


[UNITY3D ASSET] - Ultimate VFX (v2.0) - HD, 60fps

https://www.assetstore.unity3d.com/jp/#!/content/26701

パーティクル関連も当然のように、大量にありますし、かといって自分で一から作るのも、学ぶのも無理!と悩んでいた中見つけたのが、このアセットでした。見たとおり綺麗なエフェクトで、日本人でも使いやすい癖のないキャラクターです。リアル系もゲーム系も一通りあります。

 

既成のエフェクト群が多彩で、作者本人によるチュートリアルyoutubeに上がっています。(当然英語のみ)それを見ながら、アセットに含まれる各マテリアルなどを使いつつ、自分で作ってみるのが良い勉強になっていますね。

そういう意味では、当時で約4000円、という値段はかなり手頃だと思いますね。アップデートごとに高くなるようなので、早いに越したことはないと思います。

 

無料の火炎系パーティクル・アセット"Inferno VFX"もあるので、

https://www.assetstore.unity3d.com/jp/#!/content/50735

これを試してみてから、でもいいんじゃないでしょうか?

 

 

サバイバル・ゲーム作るなら"Ultimate Survival"

これは出たばかりのようです。なぜか、お洒落なファンクが流れる動画↓


Ultimate Survival 0.1 : Building Teaser

https://www.assetstore.unity3d.com/jp/#!/content/80368

最近はだいぶ食傷気味ですが、いわゆるクラフト要素アリのサバイバルゲームを作りたい!という方にはぴったりのほぼ完成形アセットです。

いわゆるRustとかForestとかそっち系統ですかね、銃もあるようです。

Version 0.1ということで今まさにスタートアップしたばかりのようですが、一通りの要素は十分出来上がっているように思います。

おそらく完成版は、一万は軽く超えるでしょうから早めに買ってしまうのも手かも。ただしsteamのアーリーアクセス同様、Unityのアセットといえど過剰な青田買いは控えた方がいいかもしれません。そこらへんも難しいところですよね。

 

 

カメラが全てを決める。"Third Person Camera"

3Dゲームにおける”カメラ”の重要性については、いずれ記事としてまとめたいところですが、これさえあれば大体オッケー!なのが、このスクリプト・アセット。


3rd Person Camera - Freeform Demonstration

https://www.assetstore.unity3d.com/jp/#!/content/47601

これも買ったアセットの一つです。というのもカメラに関するプログラミングってかなり難しくて、やはり何らかのアセットを買うべきだろうと。いくつかのパタンによってスクリプトが用意されているので、カメラに貼り付けて、簡単な設定、調整するだけです。

 

壁際でカメラが壁を意識して動いたり、あるいは狭いところでの視点移動など、いわゆるメジャータイトル作品のようなカメラの動きをしてくれます。アセットのレビューにもありますが、ゲームを作るべきであってカメラシステムを作るべきではない!本当にそう思います。めんどくさ!!

 

とは言え、自分である程度のカメラ系スクリプトは書けるようになったので、それについては別の記事で発表できたらな、と思います。

 

 

最後に。

というわけで、5つですが面白そう、また役立つアセットを紹介させていただきました。もちろんまだまだありますので、随時このような紹介記事が書ければと思います。

次回は、無料アセットについてまとめてみるのもいいかもしれません。

ではまた!!

   

 

 

プログラミングにおける名付け、ネーミングの重要性について。

UnityのためのC# プログラミング

プログラミングにおいて、重要なのが変数メソッドネーミング。適切な英単語を選ぶことの大切さについて考えてみました。英語力問題に切り込みます。

  

名に魂は宿る。

プログラミングにおいて、メソッドや変数の名前付け、"ネーミング"は大事です。

どんな名前を付けるかは自由であるからこそ、どうするかはプログラマの責任。

これをきっちりやることでコードを読めば、何をどうしたいのか?というのがわかるようになり、つまり深層的な可読性を高めることができます。

 

ここで問題なのが、基本的には英語による名付けが中心だということです。

 

 

英語力は必要?それとも不必要?

プログラミング言語は、基本的には英語を利用した人工言語であり、様々な用語は英語に基づいています。

 

日本語というかローマ字で、ネーミングすることも可能といえば可能なのですが、問題があります。日本語漢字を主とした表意文字に根ざした言語だということです。なので、ひらがな、あるいはローマ字表記にすると、言葉のイメージが湧きにくいという問題があります。

 

英語は、逆に表音文字でありアルファベットの羅列ではありますが、スペリング自体に意味やイメージがあるので、それがアイキャッチになるわけです。

 

というわけで英語によるネーミングが、必然的に推奨されます。

 

そういう意味では、英語力というのは、やはりプログラミングにおいてはそれなりに必要なものであるし、下記の最も大きな問題への解決力になります。

 

 

適切な言葉を選ぶ、英語の語彙力。

変数名あるいはメソッド名を名付ける際に、大事なのは適切な言葉を選ぶこと。そのコードを説明しうる適切な言葉を選び組み合わせる、ということになります。

 

よって大事な事は、その意味を持つ英単語をただ当てはめれば良いと言うわけではなくて、その英単語のニュアンスも把握した上で使いこなすということが必要になってきます。

例えば「変える」という意味であれば、まず思いつくのは"Change"です。

しかし、変えるという意味を持つ単語はそれだけではありません。

vary, alt, tweak, convert, transformなど。

「変える」と一言に言っても、このように様々な英単語があるわけです。つまりそのメソッドにしろ変数にしろ、その状況、コンテクストに即した英単語を選ぶことが大事になります。

 

というわけで、適切なネーミング力を身につけるためには、リアルな英語力が必要になってくるのだろうと思います。

自分も英語はあまり出来ませんが、Dictionary.comなど英語関連の調べ物はなるべくネイティヴのところで調べるようにしています。

 

 

コードを書くまでの"5"つの手順メモ

UnityのためのC# プログラミング

 

自分なりに考えた、コードを書くに至るまでの道筋をより簡潔にまとめました。コードを読むということは、コードを表層的に読むのではなく、その前の部分を読み取っていくことが大切なのだと思います。

  

プログラミングの流れ

 

・まずは要件定義!

何がしたいのか。どんな問題があり、解決したいのか?どんな制約があるのか?

  

・ファクタリング "factoring" する。

抽象化の逆?factoringは数学的に言えば、因数分解。じゃあコンピュータにおける因数分解とは何だろう? つまりは、物事の仕組みを解析して、各要素に分解するということだと思います。

 

 ・プログラミングにおける道具を選ぶ。

プログラミングにおいて、どの道具を使うべきかは誰も教えてくれない。そういう意味では自由度高い。高すぎる! どの道具を使うべきか、自分で考える。  

変数はどれくらい必要なのか?それとも配列を使った方がいいのか?

同じような処理を繰り返すけど、for文while文どっちがいいのか?というようなことです。適切な道具を選ぶ、ということです。

 

・ロジックを組み立てる。筋道を立てる。

その道具をどう使うか、ということを論理的に組み立てる。擬似コードで書き出してみたり、図表を描いてみたりして、とにかく目に見える形にしてみる。

 

・実際にコードを書く!

以上の準備を持って、積み上げてきたものをコードへと落とし込む。準備したとはいえ、そのまま一回で成功するわけはないので、その後の試行錯誤も大事!

 

 

まとめ

実際のコードというものは、結果でしかなくプログラミングという作業における一部分に過ぎないということ、それを表層的に読むだけではコードを読んだとは言えない、ということがだんだんわかってきました。

この流れを意識して、Unity関連のサンプルコード等を読み込んでいって、さらに学んでいきたいと思います!!

 

 

MadeWithUnity探検隊!番外編 "Made with Unity"日本版がスタート!

#madewithunity Unity

 

世間はNINTENDO SWITCHの発売に盛り上がっているようですが、Unity界隈もいろいろ盛り上がっている今日この頃。Unityより、一通のお知らせメールが。

 

やっとか!という気もしますが、とうとうMade with Unityの日本語版サイトがオープンとなったようです。

 

madewithunity.jp

 

MadeWithUnity探検隊として、いくつかのUnity製ゲームをこのブログでも紹介させていただきました。今後日本製のものも、どんどん出てくると思うのでこれはありがたいですよね。やっぱ開発者の皆さんの話は参考になります!

 

 

期待のゲームの数々

それで以前から気になっていた"Cuphead"ももちろん取り扱われています。

ゲームとしてはメタスラっぽいんですけど、戦前のカトゥーンアニメ風のグラがすごい画期的だし、手描きで大変だったろうなーと思います。これはすごい!

 

f:id:miur-us:20170303205344p:plain

Made with Unity Cupheadのページより引用

 

これもそろそろ出るはずなんですけどね。かなり楽しみです。ぜひ遊んでレヴューを書きたいですね。なんかやらなきゃいけないゲームがいっぱいだぁ。

 

 

日本も負けてない! 

f:id:miur-us:20170303210250p:plain

あとOink Games『伝説の旅団』は日本人によるもの。全然知らなかったんですが、これも絵本調のグラがいい味出してますよね。どんどん日本人による作品が来て欲しいですよね。

 

 

Unityというコミュニティ

というわけで、日本におけるUnityの拡がりは、これからどんどん大きなものになっていくと思うので、乗り遅れないようにしたいです。

 

そして冒頭でも触れたSwitchですが、どうやら5万円程度で開発機がインディ向けに開放されるようですね。いろいろな拡がりをみせるインディシーンで自分も楽しいことができたらな!と思います。

 

 

Unityを使い始めて半年を迎えそうなので、現状をまとめました!

Unity ゲーム制作

 

Unityを使いこなしたい!

Unityを実際にインストールし使い始めたのが、9月だったので気づけば、もうそろそろ半年が経とうとしています。といってもプログラミングに集中してた時期がほとんどで、最近ようやくUnityに専念できるようになったわけなんですが。

キリのいい時期ですし情報を整理する上でも、これまでやってきたこと、そして自分のUnityにおける現状を簡単にまとめておきたいと思います。

 

そして、はてなブログはいかに自分が努力したか、そしてその結果どんなに上手くいったか、成長できたかを見せつけ合う場所だと思うので、惜しげもなく胸を張って書いてみたいと思います。

 

 

現状の概要

主要な一連の要素を最低限できるようになった、というところでしょうか。

それなりにスクリプトを書けて動かせて、パーティクルシステムで雪降らせたり、簡単な視覚効果作れたり、簡単なアニメーションを作ってアニメーターで動かして・・・。

やっぱ非常に多くの要素があるので改めて、まだまだだなぁと思うし、大変だったなと思います。でもようやく具体的なヴィジョンが見え始めた、という状況です。

上手くいかない、あるいは上手くいっても次の問題が噴出したり、というレベルではありますが、それでも思いついたことをすぐ試せるようにはなったので、かなり楽しくなってきました。

 

最低限の自力とは 

ところで最低限、ってなかなか難しいところですよね。

 

Unityは、それほど高くもない値段で有効なアセットがたくさんあるので、確かにそれらを上手く買い集めて、組み合わせればそれなりのものが作れると思います。ただし、アセットを利用するにしても最低限の自力がないと調整が出来ないと思うし、ちゃんとしたものは身につかないだろうな、ということは最初思っていたので、とにかくまずきちんとした土台を作ろう、と考えました。

 

それがこのブログで書いたように、まず基本的にプログラミング能力を身に着けよう!というものでした。それもようやくひと段落です。

 

自分の考えた"最低限"とは、いろいろ参考にしたり、アセットを使うにしても、自分でちゃんと考えて、調整、一工夫付け加えられる程度の能力、でした。なんとか半年以内に、辿りつけたかなとは思います。

  

とりあえずやってみる!の時期は終わり

自分の学習法としては、なんでもそうなんですが、とりあえず説明書などを見ないで、自分の独断と偏見でやってみる!で、その中で学んだことをまとめておいて、そしてある程度できるようになったら、専門書などほかの人の考えを聞いたり見たりして、自分なりにやってきたことと照らし合わせる、というな手順を取ります。

 

ただしUnityはかなり膨大だし、時間もあまりなかったので公式関連のものはもちろん見ましたけどね。APIドキュメントやブログとかはあまり見なかったかなぁ。どちらかというと純プログラミング向けの本を中心に読み込みました。

 

なんで今現在の具体的な目標と言うのは、改めてUnityの説明書をちゃんと読む、という作業ですね。ゲームの説明書とかも見ませんからねー。そこがボクの悪い癖。ブログなどもいろいろめぐってみたいです。

 

つまり出発地点としては最終局面であり、いよいよ本格的な冒険が始まるか否か、という部分に差し掛かっています。ここからが勝負です。

 

 

再利用と再発明

Unityでというより、プログラミングを学んでいく上で習ったことですが、“最低限の自力”にも関わる話です。プログラミングをする上で、大切なふたつの訓示があります。

・出来る限り『再利用』するべし。
・『車輪の再発明』はしてはならない。

 まず一つ目は、自分であろうが他人であろうが、既に書かれたコードが使えるなら積極的に再利用するべきだ、ということです。アセットを使う、ということも他人の作ったものの再利用に他なりません。ネットに転がっているサンプルコードなどもそうです。

必ずしも、自分で全て用意する必要はないわけです。

そしてふたつ目、既に発明されているものを再発明するのは、時間と労力の無駄である、ということです。これはライブラリ、あるいはAPIで既に用意されているものを自分で作るのは無駄であり、またアセットで販売されているものを自分で作り直すよりも買った方が速くね?ということになります。

 

UnityAPIに関しては、今まさにドキュメントを本格的に読み始めた所です。すぐに全ての把握は無理ですが、やはり少しずつ読んでいくべきですね。ドキュメントのサンプルコードもかなり参考になりますし。あとアセットに関しては、予算にも限りがあるので、膨大な中から良さげなものをピックアップして、少しずつ買っていこうと思います。

 

と言うわけなんですが、しかしこれらの言葉を額面通りに受け取ってはいけない、ということも学びました。

再利用はするべきだけど、状況によっては悪い再利用もある、ということ。そしてあえて再発明することは、コードを書く練習になりうるということです。

細かくは省きますが、やはり自分で考えて実行する力を身に着けるということが大切だということになります。

 

 

今後の展望

既にいくつかの別ジャンル毎のゲームのアイディアはあります。なんでとにかくそれらをきちんと形にして、ゲームとしてまともに遊べるようなものを作りたいですね。と同時に、このブログも定期的に更新していけたらな、と思います。内容はもう完全にUnity主体になると思いますね。いよいよ。

 

自分でもゲームをやりますが、ここ数年海外のインディゲーム状況はすごくて、その反面日本のゲーム界は、メジャーも含めどこか閉塞感もあったような気がします。ちゃんとやってる人ももちろんいますが。

同人という形ではあっても、インディゲームシーンって日本ではあまり活発ではないと思うんですが、どうなんでしょうか?少し調べてみると、やっぱりアメリカなど海外はインディに対する下地、歴史があるわけで、昨今のインディの盛り上がりはそういうものがあってこそなんですよね。

 

なんで日本も負けてないぞ!というと話がでかくなりすぎますが、自分でも何か作れないかな、という思いからUnityで始めよう!ということに至りました。で、今ようやくスタート地点に立てた!という気持ちでいます。

 

というわけでUnityでインディゲーム道!がいよいよ本格始動です!!

 

 

 

MadeWithUnity先遣隊!Vol.2 "Light And Dark"  光と闇が交わるとき。

#madewithunity ゲーム評論

 

MadeWithUnity先遣隊ということで、現在開発中のUnityによる面白そうなゲームを紹介したいと思います。その名も・・・

 

"Light & Dark"

 


Light&Dark New Trailer

 

 

白黒の世界へ、ようこそ

ゴシックホラーな世界観、白黒サイレント映画のようなPVが印象的。闇に包まれた、祖父の洋館をひとり探索する少女をプレイヤーは操ることになります。黒か白か、というグラフィックはかなり新鮮。

 

ローグライクということですが、メトロイド系探索型アクションにも見えます。見た感じ鍵を集めたりしているようですが、どんどん地下に潜っていくような構成になっているんでしょうか? 

 

サイトでの説明によると、最初はConstruct 2というHTML5によるゲームエンジンで制作していたそうですが、UnityとC#に切り替えたとのこと。

三人によるインディ制作ということで、2017年の初頭に発売予定。もうそろそろですかね。ホントにUnity製のゲームがドンドン来ますね!

 

 

光と闇の戦い

禍々しいクモのような化け物への対抗手段は『』。

フラッシュライトやランタン、あるいは部屋に設置されたローソクなどから発せられる光こそが少女の武器で、PVを見た限り一定時間光を当てることで敵を倒せるようです。

 

当然ライトは電池の残量があるわけで、厳しい戦いなりそう。

実際、制作側も高難易度のゲームである旨を説明してますしね。

 

f:id:miur-us:20170213012250j:plain

カトゥーン風のデザインがいい!

 

Unity2Dの実力を示す作品となるか!?

見た限り、すごい面白そうですよね。

モノクロによるスタイリッシュな世界観が光ってます。

白黒によるビジュアルというと" LIMBO "を思いだしますが、コレはアートワークとしてより明確なコンセプトが込められていて、興味深いです。

ゲームプレイ、アート、音楽と全ての要素が統一された出来になりそうで、個人的にかなり楽しみですね!

 

インディだからこそのゲームになるんじゃないでしょうか!

 

先遣隊は引き続き、MadeWithUnityの期待のゲームについて探ります!