2020年振り返り
2020年も残すところわずかですが、
ギリギリのこのタイミングで振り返ってみようと思います。
こういうの、あんまりきちんとやったことないので手探り状態ですが...
とりあえず4半期ごとに分けてやってみます。
1月〜3月
2020年を振り返るにあたって避けて通れないのが、年始のお話。
わたしは昨年、とある事情により鬱状態となり現在も休業中です。
そして年始はそんな鬱状態からスタートしました。
ほぼ毎日死にたい消えたいと思いながら、
本当に死ぬ方法も考えたり実行しようとしたりしてはそれに抗っていましたが、
2月ごろから処方された薬が合っていて、
いわゆる希死念慮はかなり大人しくなってくれました。
そこからちょっとずつUnityやC#の勉強をし始めました。
今となってはものすごく不思議な感覚もするのですが、
あの頃は本当に死にたい...というよりは「自分の存在を無かったこと」にしたくて
仕方なかった。
酷いと「あ、これで〇〇する(自主規制)と死ねるな」って、
まあ某精神科漫画みたいなことを思うわけです。
ほんと、キツかった。
希死念慮が大人しくなったといっても、
「一番やばい状態」から「まあまあやばい状態」に改善しただけなので、
頭はまともに働きません。
なので、本当にUnityやプログラムに触れるために、
思考停止状態で写経している感じだったので、理解しているとはとても言い難かったです。
でも、当時のわたしにはそれが限界だったし、
それができているだけでもよしと思うしかなかった。
4月〜6月
何していたんだろう。全く思い出せない。
覚えているのは緊急事態宣言が出て、夫がリモートワークになって、
いろいろ環境が変わったためか突発性難聴になったことくらいしか覚えてません。
仕事にもアルバイトでもいいからボチボチ戻ろうとも考えていた時期でしたが...
コロナ禍をいい言い訳に見送ろうと判断しました。
あ、精神科通院が2週間→1ヶ月になったみたいです。それだけかよ。
7月〜9月
ここはわたしにとって転機となった、非常に重要な時期ですね!
7月の終わりに、
UGDG(ウルトラゴリラデスゴリラUnity Game Developers Guild)に加入しました!
scrapbox.io
入る前までは1人でC#の勉強していましたが、
いくら本に書かれているとおりに書いているつもりでもなぜかその通りに動かなくて、
原因も全く自分では解明できず、これ以上1人で勉強し続けることに
限界を感じ始めていました...。
勉強できないことはないと思うのですが、モチベが続かないんですよね;;
あと、ゲーム開発する人たちがネットの世界であっても身近にいる環境に身を置いて、
常に自分も「ゲーム開発するぞ」という気持ちでいたいというのもありました。
なんだかんだ人間というのは惰性で生きちゃうから、
それなら惰性でゲーム開発できるくらいどっぷりゲーム開発に浸かりたい、
という感じです。
それでたしか、個人でゲーム開発している人を手当たり次第フォローしていくうちに、
ないちさん(@naichilab)のアカウントを見つけて、UGDGを見つけた...のだと思います。
このUGDGに加入したことがきっかけで、
わたしのゲーム開発の経験値が加速度的に増えていきます。とてもよい。
そしてさらに...再び家族以外のコミュニティとの繋がりができたことで、
わたしの精神状態もかなり安定するようになりました。本当に感謝しかない。
昨年、退職という選択を自らしたものの、退職日を迎えた日は、
「これでわたしはただの主婦になってしまう、なんにもない」と絶望していました。
居たくもない会社でも、いざ「会社勤めの人」という肩書がなくなるのはなんと怖いことか。
半年近くかけて「会社勤めではない自分」をようやく受け入れることができましたが、
UGDGに加入したことで「わたしにはゲーム開発がある、仲間もいる」と思えたことは、
わたしの精神を安定させる上でとても効果的でした。
そうはいっても人は繋がりがないと精神的に安定しないんだなぁと、身を以て実感しました。
UGDGを創設されたないち神には、もう足を向けて寝れませんね。バチが当たってしまいます。
ばあさんになってもゲーム開発をするか、仮にゲーム開発を引退しても、
ボランティアでもやって人の輪の中にいる方が、いい老人ライフを送れそうです。
ばあさんになったら、シルバー人材センターにでも入ります。たぶん。
閑話休題。
UGDGに入って1週間足らずでC#のアレコレを教えてもらった結果、
圧倒的に基礎力が足りないということが判明し、C#入門書から始めました。
そして、C#入門書でも不十分だったので独習C#を購入...。
本当に怒涛の勢いでC#の世界にどっぷり浸かることになりました。
でも、おかげで写経しかできなかったのが、意味をなんとなく理解できるまでになりました。
8月...ある方のお家の子がとってもかわいくてベタ褒めしたことをきっかけに、
よくお話をさせてもらうようになり、その流れなんとゲームを作ることに!
そう、「ぱくぱくアザラシ」は、そういう流れで開発されることになったのです。
嬉しいことに評判もとてもよく、またお互いに共同開発できそう!と
手応えを感じることができ、「次回のunity1weekにはぜひ!」ということになりました。
10月〜12月
当初の予定から大幅に伸びてしまったものの、
無事に「ぱくぱくアザラシ」をリリース!!
unityroom.comわたしにとっては初めての自分のゲームのリリースです!
そして...高校生の頃憧れていた「自分の絵をゲームに出す」こともできました。
特に後者は十数年前からあった思いだったので、なんだかとっても感慨深かったです。
りべるんさんには本当に感謝しています。
「ぱくぱくアザラシ」の開発についてはこちらでも書いておりますので、ぜひ...。
「ぱくぱくアザラシ」のリリースが終わった後は、
久しぶりにイラストをきちんと描いたり、モデリングをしたり、
独身の日セールで購入したDoozyUIの使い方を勉強したりしていました。
あと、独習C#もちょっと読んだ。ちょっとだけな...。
12月...そろそろ、unity1weekも近いなという頃、それに向けてスプレを整備したり、
使えそうなキャラクターのデザインを考えたりしたのですが、
お題が公開された際、どうにも使えず次回以降まで
キャラたちには待っていてもらうことに...。ナンテコッタ
そして先日、初参加にして大遅刻をかまして難産の末の「いわとをあけて」をリリース。
unityroom.com悔しさも残る作品となってしまいましたが、これも経験です。
「いわとをあけて」の開発後期はまた後日ブログに掲載しますので、
よろしければご覧いただけますと嬉しいです。
まとめ
下半期以降が本当濃厚でした!
UGDGに入ってからは濃い時間を過ごすことができて、
我ながら本当に半年の間に起きたことなのかちょっと疑ってしまうけど、
間違いなく半年の間にあったことでした。
この半年で、わたしはゲーム開発へのモチベーションを得ることができて、
さらに絵を描くことに対するモチベーションも再び取り戻すことができました。
UGDGと主催のないちさん、共同開発してくださったりべるんさん、
そしてC#初心者のわたしに手取り足取り教えてくださったTechnθ先生、あるく先生、のたぐす先生、
ターミナルやgit周りのことをいっぱい教えてくださったねぎ先生、
そしてこちらには書ききれてないけど神岡と話してくださった皆さん、
本当にありがとうございました。
来年もバリバリゲーム開発していきますので、どうぞよろしくお願いいたします。
「ぱくぱくアザラシ」開発後記
この記事は
「Unityゲーム開発者ギルド Advent Calendar 2020」に寄稿したものです。
今回は11/11にこのブログでも掲載しました、「ぱくぱくアザラシ」の開発時のお話です。
こちらのゲームは2020/10/13にunity roomにて公開したもので、
左クリックだけで手軽に遊ぶことができます。
おなかを減らして夕飯まで待てない子どものアザラシが、
お母さんの目を盗んでどれだけ多くのお魚を食べられるか、という内容のゲームです。
制限時間は1分間。その間に食べたお魚に応じてスコアが増え、最終的にそのスコアをランキングでも競うことができます。
出現するお魚はキビナゴとカツオですが、カツオは子どものアザラシの口には入らないため、
食べるとその場でジタバタしてしまい、ロスタイムとなってしまいます。
また、時々お母さんが子どもが目を盗んでつまみ食いしていないか監視しにきます。
バレると...もうお分かりのとおりお仕置きされてしまい、大きなロスタイムとなります。
子どもの頃、おなかが空いて晩ご飯まで待てなくて、お母さんの目を盗んでお菓子を食べようとするけど...
バレてお母さんに怒られた、という経験はないでしょうか?
そんな感じのシチュエーションが元になっています。
さて、そんな「ぱくぱくアザラシ」の開発時のお話を、
一緒に開発してくださったりべるんさんのコメントも交えつつしていきたいと思います。
なお、りべるんさんは既にぱくぱくアザラシ開発のお話を公開されていまして、
下記からご覧いただけます。
りべるんさんのコメントにはを
神岡のコメントにはを
をそれぞれ冒頭につけています。
開発のきっかけ
きっかけはUGDGというギルドで、仲良くさせていただいているりべるんさんとのお話の中で、
「ゲームを作ってみませんか?」ということになりまして。
じゃあ、そしたらunity 1weekくらいの規模のゲームを作ろう、ということになりました。
わたし自身、作ろうとしているゲームはあるもののまだまだ実装フェーズには辿り着けずだったので、
こういうお話をいただけたのは非常にありがたかったです。
開発の流れ、各担当について
企画・仕様とデザイン周りをわたし神岡が担当、実装・デプロイ周りはりべるんさんにお願いしました。
前述の通り、わたしは実装周りについてのノウハウがまだほとんどなく、
そこをりべるんさんにお願いできたことは非常に助かりました。
まずは2人でお題に対するアイデアについて話し合い、
決定の後にりべるんさんにプロトタイプを作っていただき、その間にわたしが細かい仕様を考えました。
その後はデザイン作成やゲームフローの整備などを行いつつ、都度WebGLビルドしてお互いに試してみる…といった流れで進めました。
開発中に気をつけたこと
アイデアのプロトタイプとなるゲームの作成に注力しました。
これは「2人でゲームをさわれる状態」をなるべく早く作りたかったためです。
さーっとでも作って試すことで、アイデアや仕様の実イメージや良い点・悪い点が見えてきます。それを共有できるのは大切です。
実際、ぱくぱくアザラシも初期案からそこそこ別物になっているのですが、このおかげで早い段階から変更できました。
その他の細かい修正や変更についても、実装側での作業待ちが発生しないよう、常にスピード感を持って作業を行ったつもりです。
まず開発面では、「わかりやすく、かつ具体的に伝えること」を心がけました。
今回、直にお会いして開発したわけではなく、slackとスプレッドシートのみで完結しており、
認識齟齬からの手戻りが発生するリスクがとても高くそれを極力排除したかったためです。
その上で、解釈のパターンが複数考えられるような内容の場合は図示することで、
お互いの認識のズレが発生しないようにしました。
また、ゲーム面では、「プレイヤーへのフィードバックを丁寧に入れる」ようにしました。
例えば、高得点の魚(金のキビナゴ)を食べた際に、エフェクトを通常より派手目にしたり、
スコアを更新した際は「New Record!!」を表示するようにした、などです。
これらはなくても、ゲーム自体問題なくプレイすることはできます。
しかし、得点の高い魚を食べた際にエフェクトを派手目にすることで、「ラッキー!」といった感情を引き出しやすくしたり、
スコア更新時の「New Record!!」を表示により、スコア更新時の喜びをより強く感じてもらえるようなると考えたため、
今回りべるんさんには時間がない中少し無理を言ってお願いしました。
丁寧にご対応いただけて、本当にありがたいです><
開発中、よかったこと
まずはしっかりゲームとして世に出せて、皆様に評価いただけたことですね。
当たり前かもしれませんが、だらだら長引きがちなゲーム開発においてとても重要なことです。
あとはお互いを尊重し、良い意味であれこれ意見しながら開発できました。
結果的に私も神岡さんも満足できるゲームに仕上げられたと思います。
(はっ...内容がほとんど被っちゃう!)
わたしも概ねりべるんさんと同じですね。
特にお互いを尊重し、忌憚なく意見を言いながら開発できたことはとても良かったです。
当たり前のことではありますが、実際の仕事の現場でも仕事の忙しさから
お互いを尊重することをついつい忘れてしまうこともあります。
ですが、良い開発にはお互いを尊重する姿勢は欠かすことができません。
この頃、りべるんさんと仲良くさせていただいてまだ日は浅かったのですが、
それでもお互いその姿勢を忘れなかったのはとてもとてもいいことだったと思います。
次回開発でできたらいいなと思うこと
今回で共同開発の流れや雰囲気を把握できたので、次回はもっとアイデアや表現の幅を広げていきたいですね。
また、行く行くはお互いの立場を入れ替えてu1wに臨むのも面白そう。
とても良い勉強になるはずです。
非常に基本的なことではあるのですが、まずは体調管理です。
体調が安定しない日もあり、りべるんさんにはご迷惑をかけてしまった上、
当初予定していた期間よりも2週間程度リリースまでに時間を要してしまいました。
なので、安定して作業できるよう次回までに体力づくり&体調管理をしっかりできるようにしたいです。
もう一つはUnity上の作業を増やすことです。
今回、りべるんさんにはUnity上の作業をたくさんお願いしてしまいました...。
わたしが不慣れだったためお願いする方が確かに効率は良いのですが、
わたし自身できることが増えれば、ちょっとした調整もわたしの方でできるため、
次回までにできることを増やしたいです。
お互いの立場入れ替え...!なかなか難易度は高いですが、確かに大きく成長できそうですし、
より開発作業が良いものになりそうです。
今度開催されるu1w、わたしは初めてですが参加予定です。
どこまでできるかいまからちょっと緊張していますが、全ての経験はわたしの糧になるので、
気負いすぎず楽しもうと思います。
ここまでお読みいただき、ありがとうございました。
独習C#を買った話
大変お久しぶりです。
なんと最後に投稿した記事が106日前らしいので、
100日後に死ぬワニが死んで、お葬式が終わったところ...くらい更新していなかったようです。
さて、少し前にこちらの本を買いました。
8月ごろに前に読んでいたこちらの本は終わっていたのですが、
この本、超入門といいつつC#についてはある程度知っている前提になっています。
そもそもUnityでプログラムを書く際、一から十まで書く必要がなく、
Unity側で用意されたものを使うことができるのですが...
これがいいのか悪いのかって感じです。
ある程度は用意されたものを組み合わせたりで知識がなくてもできますが、
応用が利きづらくなってしまう危険性もあります。
応用が効かない脆い知識のままだと、
自分が本当に作りたいものを作る際に大きな壁となってしまうので、
本格的にUnityを触るなら、「C#の基礎はあった方がいい」と言うことになります。
急がば回れ、と言うやつですね。
そんな感じで次にわたしが購入したのがこちらの本でしたが...
やっぱり超入門という性質から十分な内容とは言えず、
結局タイトルの独習C#を購入するに至りました。
ただ、上記の本も決して悪くないです!
内容はごく基礎的なものにとどまりますが、丁寧な解説と分かりやすいイラストで、
抽象的で掴みどころが見つかりにくいC#の知識を解説してくれているので、
イメージはしやすいです(※個人の感想です)。
実際、こちらを読んだだけでも最初の本でなんとなくやっていたことが、
「本当はこう言うことをしていたのか!」と目から鱗な経験がありましたので。
ほかにもこういった超入門書はあると思うので、自分に合った入門書を読んでから、
独習C#に移るとより独習C#の内容も入りやすいのでは...?と思います。
なお、独習C#は分かりやすいイラストはほぼ皆無なので、入門書としてはお勧めできません。
一応出版社も「入門書・初心者向け学習書」を読んだことがある人向け、
としているので、全く知識がない状態で読むにはハードかと思います。
また、第三版以降の版もあるのですが、第三版が初心者向けと言われているので、
初心者の方は第三版をオススメします。
(途中から筆者まで変わっている模様...)
独習C#はまだわたしも読んでいる途中ですので、
またなにか気づいたこととかあれば更新したい、なぁ...と思っています。
Unity勉強日記ーGUIのOnClickイベント追加周りめも
今日も引き続き、この本でUnityとC#の勉強をしました。
GUIとIMGUIをやっていたのですが...
本の通りやってもできないところがあって、ちょっと苦労しました。
OnClickイベントの追加で、本には
Button(オブジェクト)のインスペクターから
「Button(Script)」のところを〜
と書かれているのですが、神岡のUnityには...
ありません...😭
取り敢えずイベント処理を設定する項目は、
「Button」のところにあったので、ここからやってみます。
(Imageコンポーネントの下の、Buttonコンポーネントです)
Buttonコンポーネントを開いて、
一覧の一番下に「クリック時()」と言うのがあります。
Scriptと書かれていませんが、これでいいのです。
これですよ、これ。(もう設定済みなのですが)
そして、図のように実行するスクリプトがアタッチされているオブジェクトを
放り込みます。
ボックスの右端の◉から一覧を出して選びたい時は...
◉をクリックして、一覧を出します。
一覧ウィンドウにはアセットタブとシーンタブがあるので、
シーンタブを選ぶと、スクリプトをアタッチしたオブジェクトが出てきます!
オブジェクトを放り込むと、右側のプルダウンメニューから
メソッドを選択できるようになるので、
使いたいメソッドを選択します。今回はOnButtonClickを選択しています。
ちなみに、スクリプトをアタッチしたオブジェクトではなく、
スクリプトそのものをD&Dしても問題ありませんでした。
どちらにせよ、勝手にスクリプトそのものに切り替わるようです。
(上の画像でも、結局オブジェクトではなく
スクリプトファイルのアイコンになっています)
なので、スクリプトを設定しちゃう方が、何をしているのか分かりやすい気がしました。
これで無事にクリックした時に動くやつができます。
どう動くかはスクリプトとかの設定次第なので、割愛します。
Unity勉強日記ーBoltを使ってみたよ
毎日更新と言いつつ、2日空いてしまった。
2020/7/23に無料化したBoltを使ってみました。
そのまま感想を書くとぐだぐだになりそうなので、
goodなところとmoreなところ、みたいな感じでまとめてみます。
ただし、C#を勉強しはじめたばかりのペーペーの感想であることだけ、
ご承知いただければと思います。
まずはgood
・何をしているのか、視覚的に分かりやすい!
・エラーが出た際、エラーの原因となっているコードを探さなくても良い!
・処理ごとにグループ化できる!
次はmoreなところ
・思っていたよりプログラムの知識がわからないと、何をしているかわからない
・コードで順番に書いている方が分かりやすい場合も...
思っていたより処理がわかってないとダメじゃんって思いました。
勉強しはじめのペーペーだと、コードを順番に書いている方が、
何をやっているのか分かりやすいなぁと思いました。
なので、ある程度プログラムの知識があって、
量産体制に入った時とかは効率化できそうだなと思いました。
そんな感じで、わたしはもう少しC#自体の勉強をしてきます。