明日への断片

ゲーム制作やプログラミング関する記事を中心に更新していこうと思います。

70欠片目:絶対に叶えたい夢の2つの条件

こんにちは。昔の夢は「コンピュータ関係の仕事に就くこと」だったvoidです。ゲームプログラマはまさに当てはまると思います。

f:id:yasu-game-void:20170419225115p:plain
今回のサムネ画像です。フォトショップの図形だけを使って「夢」の字を作りました。割と気に入ってます。

今回は昨日書ききれなかった、自分で解決しなければならない問題についてです。

本気度を問い直す

 最近、自分は自分の本気度に対して疑問に感じていました。本気でゲーム業界への就職を目指しているのか?本気で叶えたい夢があるのか?

 正直なところ、今までは将来についてあまり本気で考えていませんでした。ただ何となくゲーム業界に就職できたらいいなぁぐらいの気持ちでいたと思います。自分本当にしたいことが何かを見つめ直すために、今までの人生の足取りを辿ってみたいと思います。

経緯

 自分が今の専門学校に通うに至るまでの経緯はなかなか特殊で、何度思い返しても急展開だったなぁと思います...

中学卒業後は情報科の大学への進学を希望して、(それなりに)偏差値の高い公立高校に合格し、入学します。しかし、そこで人間関係を上手く築けず、学校に通うことが苦痛に感じてしまい、3か月で不登校になってしまいます。

それからは、毎日毎日、時間だけがあふれかえるように存在していました。そこで兼ねてより興味を持っていたプログラミングの勉強(C言語の勉強)を始めます。しばらく勉強を進めていく中で、初めてゲームプログラミングというものに出会います。当時はゲームを専門的に学びたいとは思っていなかったと思います。

その頃は寝ているか、ゲームをしているか、プログラミングをしているかだけの、酷い生活を送っていました...


そんな生活が1年半ほど続いた頃、このままじゃ嫌だと思い直し、再び大学に進む道を決意します。
高校中退者向けの予備校に通い、半年ほど普通の高校で習うような勉強をして、高卒認定試験(大学を受験するための資格のようなもの)に合格しました。

 ですが合格と同時に、張りつめていた緊張の糸が切れていしまったせいか、急に体調を崩してしまいます。
しばらく休養をとり、少し元気になった頃、再び勉強を再開しました。

しかし、体調も完全には回復せず頭痛や耳鳴りが続いて、勉強にも身が入りませんでした。
このままでは大学進学の道は非常に厳しいと思い始めていました。



 そんな時、その予備校のスタッフの方に提示してもらった選択肢が、今通う専門学校への進学という道でした。
勉強を続けていた時期も、ちょくちょくプログラミングは触っていて、そのころにはいろんなサイトを見ながら自分でミニゲームを作り始めていました。そんな時、ゲーム開発を専門的に学べる学校があるということを教えていただきました。

始めは、大学進学の道が捨てられず迷っていましたが、オープンキャンパスや体験入学を経て、
「ここでゲーム作りのプロを目指すのも面白そう」
と思うようになりました。

 冒頭でも書いたように、自分には具体的な夢はなく、漠然とした理想や、ただ何となくやりたいことが存在しているだけでした。

昔から自分の原動力となるのは、「今のままじゃ嫌だ」だったり、「こうはなりたくない」といった負の動力ばかりで、「これになりたい」、「この夢を叶えたい」という正の動力はあまりありませんでした。しかし、業界の人や先生、先輩方といった色々な人の話を聞く中で、明確な目標や夢がないと人間は本気になれないんじゃないかと最近思うようになりました。

夢の条件

 自分のなかで、「夢」としての条件が2つあります。
1つは、『自分がやりたいこと』です。
これは、中学2年生の職場体験が影響しています。と言っても、希望職種はなんだかんだで断られてしまい、最終的に友人と一緒に大学に行きました。

職場体験:大 学 の 教 授
というわけです...

中々にインパクトのある貴重な体験だったと思います。
そのとき、職場体験としての質問をしていく中で、教授のお話から『好きなことだから続けられる』ということを聞いたのが印象に残っています。その時から、自分の好きなもの、好きなことを使って仕事ができることに魅力を感じ、自分もそうなれるようにしたいと思い、漠然と「好きなことを仕事にしたい」という理想が生まれました。


そしてもう1つは、『自分にしかできないこと』です。自分と同じような経験を積んで、自分と同じレベルの知識を持った人や、同じレベルの技術を持った人は、世の中にはたくさんいると思います。しかし、そんな中でも、「自分である必要性」のようなものは大事だと思います。他の誰かでもできることを自分がやるのではなく、「自分にしかできないこと」、「自分だからこそできること」をやらないと、自分が自分である意味がないように感じてしまいます。(なんか哲学的な話)

夢の確立

 というわけで自分の夢は何だろうともう一度よくよーく、よぉぉぉぉおく考え直し、1つの叶えたい夢が見つかりました。将来の夢というより、人生を通して叶えたい夢のようなものです。
ですが、ここに文字として書いてしまうと、それだけで満足した気分になってしい叶わなくなって気がしてしまうので、この夢は心の中にとどめておこうと思います。

これを叶えようと決めてからは、心の中にぽっかりと開いていた穴が埋まったような気分になりました。

すごい長文になっていた...

 気が付いたら冗長な自分語りになってしまいました...(もうちょいで3000字て...)

夢や理想を語るのは簡単ですが、叶えるのは決して簡単ではないと思います。
ですが、この夢を原動力にしていけば、本気になって夢をかなえて行けそうな気がしています!


大変長くなりました!
この長い記事を最後までご覧いただき、本当にありがとうございました。

本日は以上。ではまた!

69欠片目:心の距離~Distance Of The Hearts~

 こんにちは。最近また周りから、大丈夫?疲れてない?と心配してもらうようになったvoidです。何を以って「大丈夫」と断定できるか分かりませんが、多分大丈夫じゃないと思います。そろそろ病院案件かなー...

身体的に問題があるというより、恐らくは精神的な問題、およびそれに付随する形で発生する身体の不調と思われます。

パーソナルスペース

f:id:yasu-game-void:20170419000530p:plain

パーソナルスペースとは、他人に近付かれると不快に感じる空間のことです。親密度の高い人ほどこのエリアは狭く、逆に敵対心を持っている人ほど広い、要は心の距離と物理的な距離のバランスの問題なのです。

例えば、電車(横に席がたくさん並んでいるタイプ)で、ガラガラのときに多くの人はすでに座っている人と1席分空けて座ったり、男性でトイレの便器を使ってる人と1つ空けて使ったりすることがそれだと思います。(心理学者じゃないので詳しくは分からないですが)



 以前のブログで、新環境に慣れないというお話をしましたが新環境のストレスの原因の一つはこれにあるのではないかと思いました。

 去年は隣の席の人との間隔が1m前後はあったのですが、新学期になって席の形が変わり、隣の席の人との距離が30~50cm程
になってしまいました。もちろん隣の席の人が嫌いというわけでは全くないのですが、どうやらこの距離の狭さがストレスに感じてしまうようです。かといってわがまま言うわけにもいきませんので、こればかりは慣れるしかないのです。人間は環境の変化に適応させ、慣れることで変化に耐え抜き、生き抜いてきた種族です。きっと、あと数日から数週間もすればコロッと慣れて、ストレスに感じることはなくなるのでしょう。

時間が解決してくれる問題と自分が解決しなければならない問題

 上記のような問題は恐らく時間が解決してくれる問題でしょうが、自分の手で解決させなければならない問題もいくつ抱えています。それについても書こうとしたら2000文字くらい突破しそうだったので明日に分割して書くことにします。

チーム制作も本格的に稼働したので、こんなところでくたばっているわけにはいきません。
今すべきこと、今できることをよく考えて頑張っていこうと思います。

本日は以上。ではまた!

68欠片目:企画は潰すもの

 こんにちは。割とマジで車に轢かれそうになったvoidです。
普通に横断歩道を歩いていたところ、勢いよく車が曲がってきて1,2メートルぐらいのところで回避しました。
めっちゃ怖かったです...

それに、いろいろと気分的に落ち込んでいるときに起こった出来事なので、生きるのを否定されているような気分になりましたが、きっとそんなことはないと信じて強く生きていこうと思います!!

いつ被害者になるか、はたまた加害者になるか分からないので、交通事故には十分気をつけて下さい。

企画書没案


 企画。それはつぶされるもの(暴論)


もちろん立てた企画が通ってそのままゲームにできるに越したことはないのですが、一発で、面白く、テーマにあっていて、面白さを伝えられる企画書を作れるのはプロだと思います。いや、プロでも難しいと聞きます。というわけでプロ以上です。

もちろん自分たちはプロでもなければ、当然のごとくプロ以上ではないので、何度も企画を立てては潰し、立てては潰しを繰り返して、より面白い企画に近づけていく努力をしていかなければならないのです。

そんな中、今日もまた1つの企画が貴い命を落としました(没案になりました)。
~経緯~
チームを組んでゲーム大賞に出場すべく、チームで開発するゲームの企画を立てることとなりました。

といっても、個人企画の時点で、アイディアはけっこう絞り出していたので、また新しい案をひねり出すのはかなり難しいと判断しました。そこで、個人企画中にアイディアだけ出たものを成型して、1つの企画としてまとめました。

が、今回はテーマの「はさむ」を核として作っていたつもりが、ゲーム的に「はさむ」という要素がテーマとして非常に薄弱になていることに気が付きました。また、この企画を見た友人数名からも同意見を頂いたので、この企画は今回の制作テーマにそぐわないという判断にいたりました。

 そんな没案ちゃんですが、手塩に掛けて企画したかわいい我が子のようなものなのです。このままゴミ箱に移動して、完全削除するにできず、誰の目にも触れぬまま長きに渡りPCの容量を数百キロバイト占領し続けるだけの存在と化すのも大変かわいそうなので、SlideShareの試運転も兼ねて公開することにしました。


というわけで、以下が企画書(没)になります。
企画書の制作はPowerPointを使用しています。

あ、本名出ちゃってら...と思いましたが、そもそもGist貼り付けた時点で本名公開状態になっていたので、今更気にしないこととします。

というわけで、また新しい企画立てています。
次こそは良い企画を...


本日は以上。ではまた!

67欠片目:生産性のある趣味を求めて

 こんにちは。妖怪「予定かぶり」に痛恨の一撃を喰らわされたvoidです。スッカスカのスケジュールの中ピンポイントにバイトのシフトとハッカソンイベントが重なってきました。本当にありがとうございます(反語)

今日は趣味についてのお話を。

趣味が欲しい

 最近趣味が欲しいという欲求が高まっています。今現在、全く趣味がないというわけではありません。プログラミングも専門で習っているとは言え半分は趣味のようなものですし、ゲームで遊んだり最近ではTRPG(のリプレイ動画視聴)にはまったりしてます。
 
 とは言え、これらは趣味というよりも娯楽に近い感じです。娯楽が悪いと言いたいわけではないのですが、自分としては生産性のある趣味で、プログラム勉強やゲーム制作の息抜きとなるような趣味が欲しいと考えています。

例えば読書

 例えば読書であれば、多くの本を読むことで語彙力が身についたり、様々な知識に触れることで見聞を広める事にもつながります。自分も読書自体は好きで、本の世界に入り込んでいる間は非常にリラックスできます。これは趣味にはうってつけじゃないか!

と思いきや、2、3年前から続いている原因不明(お医者さんによるとストレス)の頭痛持ちなので長時間読書をしていると頭が痛くなってきて文字をよむのが辛くなってきてしまうのです。そのせいで最近は全然本を読めていません...

なんですかね...猫好きなのに猫アレルギーみたいな感じなのです...

あるいはスポーツ

次に思いつくのは運動系です。普段固まっている体を動かして心身ともにリフレッシュ的な意味でスポーツの趣味とがあるといいんじゃないかと思います。(そいえば学校にも運動系のサークルあったはずだけど活動してるんだろうか...)
学校関連でいうと、学校にリフレッシュ用の卓球場も設置されています。ちなみに自分は中学時代卓球部所属でした。3年間で卓球がトラウマになりました...
 そもそも、もともとスポーツ全般苦手なインドア系の人がリフレッシュで体動かすのはストレス解消になるのでしょうか?思うようにいかずストレスがたまる可能性...些か不安ではありますが一案として保留。

やっぱりPC関連

 プログラミング以外のソフトウェアいじりをやっていた時期もあります。あるときはDTMソフトを使って、ゲームに使う用の音楽を自作してみたり。またるときは、自分でプレイしたゲームを動画編集してyoutubeに投稿していた黒歴史だったり... ...
 
...後悔はしてる...ただ反省はしていない...

っと、ここで最近TRPG動画にはまっているという冒頭部分に帰るのですが、動画を見ているうちに、「また動画編集したいな~」という気持ちが生まれているわけです。(本当に反省していない)

動画を見てて思うのですが、視聴者の目線と言いますか、ここを注目させるためにどのような工夫をするかという点において、ゲーム制作に通ずるものを感じます。ここで、1つ思いついてしまったのです。

『ゲーム制作する動画作ればいいんじゃない?』と。

進捗を文字で書くより、動画で実際の画面を見てもらった方が今がどこまで進んでいるのかを発信できると思います。
また、あわよくば動画を見ている人からコメントなどをもらうことが出来れば、ゲームに対して色んな人からの評価や意見をもらうことが出来るのではないかと...

 完全に自分から指針を寄せに行ってますが、これは結構前からやってみたいと思っていたことの一つなんですよね...
というわけで、思い立ったが吉日。実行しようと思います。(いつ実行するとは言っていない。実際問題、時間などを考慮すると現実的に厳しい感じはしますが、必ずやりたいと思います!)


というわけで、出来レースな趣味探しをしてみました。
これからは趣味と制作と勉強の三点を軸にしていけたらなと思っています。


本日は以上。ではまた!

66欠片目:ラムダ関数の勉強

 こんにちは。昨日目が覚めたのがam11:00過ぎだったvoidです。
全く目が覚めませんでしたので、よっぽど疲れていたんだなぁという実感がわきました。
それと同時に貴重な休日の活動時間がガッツリ削られたショックが大きいです...しかもまだ疲れは完全に取れきっていない...


C++11新機能

 昨日のunique_ptrに引き続き、同じくC++11から新しく追加された機能であるラムダ関数を勉強していこうと思います。というのも、これから主に使っていく開発環境、DirectXTKではC++11の機能が使われているため、C++11の機能をあらかじめ理解しておくことがチュートリアルサイトで推奨されています。そんな経緯でC++の機能を学校で習ってない部分もやっておこうというのが今回の目的なのです。

ラムダ関数

 ラムダ関数とは、無名関数あるいは匿名関数と呼ばれ、名前のない関数を定義して関数を変数やクラスのように扱う機能の事ができるものです。


...正直この説明ではピンときませんでしたが、簡単に言うと名前を付けずに関数を扱えるということです。

ラムダ関数の書き方

 最短のラムダ関数(何もしない関数)を書くとこうなります。

[]{};

???ますます意味が不明になります...

元々の構文を見てみましょう

[キャプチャ](パラメータ)->戻り値の型{関数本体};

パラメータと戻り値はない場合省略できるので、最短があのようになるのですね。
ではそれぞれがどんな意味か見ていきたいと思います。

キャプチャ 外部の変数にアクセスする方法を指定できます。
パラメータ 引数を指定できます。
戻り値の型 戻り値の型を指定できます。
関数本体 関数で行う処理を書きます。

基本的には通常の関数と同じような構造ですね。
見慣れないのはキャプチャの部分です。


キャプチャでは関数外部の同ブロック内の変数にアクセスするときの方法を指定できます

[] 何も指定しないと、外部の変数にはアクセスできません。
[x] 外部の変数xに値としてアクセスします(上書き不可)
[&x] 外部の変数xに参照としてアクセスします(上書き)
[=] 外部の変数に値としてアクセスします(上書き不可)
[&] 外部の変数に参照としてアクセスします(上書き)
[キャプチャ](パラメータ)->戻り値の型{関数本体}();

このように()を付けることで関数として呼び出すことが出来ます。

サンプルプログラム



実行結果:

f:id:yasu-game-void:20170416113427j:plain

メリット

 第1のメリットとして、関数に名前を付けなくてもよいという点があります。関数名を増やさない(関数名の衝突を防ぐ)ことができるので名前を考えるのにとられる時間も無くなります。
 次に、その場限りで使うときに、記述が簡潔になることです。述語関数というものとして記述するときにコードを簡略化することが出来ます。
 後者に関してはまだ学習していない要素が絡んでるようなので、そちらも時間を見つけて勉強しようと思います。



本日は以上。ではまた!

65欠片目:ユニークポインタの勉強(基礎編)

 こんにちは。学校行こうと駅までで行ったところで財布を忘れたことに気が付いたvoidです。
全力で帰宅、全力で駅に戻って、遅刻にならない最後の電車の時間に間に合ったのですが、電車の遅延が発生していたという展開でした...

持ち物チェックは重要ですね...

newとdeleteとメモリリーク

 C++ではプログラムの中で動的にメモリを確保するにはnew演算子を使います。
例えば、

int* p1 = new int;

int* p2 = new int[5];

とすることで、p1にはint型(4byte)分のメモリが、p2にはint型が5つ分のメモリ、すなわち20byteのメモリがヒープ領域に確保されます。

 newを使って確保したメモリを開放するにはdelete演算子を使います。

delete p1;

delete[] p2;

とすることで、確保したメモリを開放することが出来ます。


 通常C++では、new を使って動的なメモリ確保を行った場合、delete を使ってメモリを開放する必要があります。解放しないとメモリリークが発生してしまいます。
 しかし、それをプログラマが全て管理しようとすると、deleteを忘れてしまいメモリリークが発生するリスクがあります。そんなリスクを減らすために作られたのがスマートポインタです。
 確保したメモリの所有権をスマートポインタが持つことで、デストラクタで自動的にメモリを開放してくれます。

ユニークポインタ

 unique_ptrはスマートポインタの機能の1つです。その名の通り、あるメモリの所有権を持つunique_ptrはただ1つしか存在できず、コピーすることもできません。
スマートポインタを使う際には、#include<memory>が必要になります。

参考サイト:C++11スマートポインタ入門 - Qiita


本日は以上。ではまた!

64欠片目:環境の変化

こんにちは。再びお風呂で寝落ちしたvoidです。
前回は意識が軽く飛んだだけですが、今回は完全に寝てました。
無理な体勢だったせいか、首がすごくいたいです...

変化に弱い

 最近気付いたことがあります。それは、自分は環境の変化にめっぽう弱いということです。新しいクラス新しい授業に不安半分期待半分で臨んでいましたが、新学期が開始して以降1週間と少しが経過してそれを痛感しています。
 主にクラスの雰囲気にまだ馴染めていません。前のクラスの雰囲気が100%完璧に良かったかと言われると答えはNOですが、やはり慣れていない環境に身を置くというのは心身ともに疲弊してしまいます。

 自分は去年の担任の先生に、「お前はストレスをため込みやすいし、発散もさせにくい」的なアドバイスを頂きました。まさにその通りだという自覚はあって、外部から受けたストレスは基本的に、内部に飲み込もうとするので、それがストレスとなり、悪循環、負のスパイラル状態に陥ります。


 ですが、いつまでも環境の変化に適応できないのは、今後社会に出ていく上で致命的な短所となってしまいます。
誰かが言っていたのですが、「誰とでも仲良くするのではなく、誰とでも上手くやっていけばいい」というのが一番の理想です。目の前に大量の壁が立ちはだかったとき、すべてを乗り越えよとするのではなく、迂回して通り過ごしたり、穴をあけて通ったり、そんな柔軟に、そつなくこなしていくのが大事なんじゃないかなと思います。

未知⇒好奇心

 一方で、授業の方は新しいことをたくさん学べることがとても楽しみです。ネットワークやデータベース、デザインパターンや、AIや新しい言語の勉強など、2年生の学習内容は盛りだくさんです。その分勉強も大変にはなると思いますが、しっかりと自分の武器として扱えるように、習得していきたいと思います。

1週間が早い

 おそらくゲームジャムの影響かとは思いますが、1週間が飛ぶように過ぎ去っていくように感じます。あと一日学校に行けば休日。ゲームジャムの疲れを落としながら、次の開発の礎を固めていきたいと思います。