明日への断片

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

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週間が飛ぶように過ぎ去っていくように感じます。あと一日学校に行けば休日。ゲームジャムの疲れを落としながら、次の開発の礎を固めていきたいと思います。

63欠片目:色んなゲームの体験版してました

 こんにちは。まだジャムの疲れが抜けきっていないvoidです。
今日は授業も午前で終わりだったので、ちょっと自習してすぐに帰り、ガッツリ休もう(遊ぼう)ということにしました。

 せっかくPS4を所有しているので、色んなゲームの体験版をして遊ぶことにしたので、体験版を遊んでみた一言感想のようなものを書いていきたいと思います(まだお金は入ってないのでゲームは買えないです...)

(今更だけど、全部過去作やってないけど良かったのかな...)

NieR:Automata

 身近の人がみんなやってるorやりたいといっているゲームだったので試しにやってみようということで。
まずゲームを起動して、

グラフィックすげぇ...
でした。

アクションが非常に爽快感があって、回避と攻撃がいい具合に決まったときにとても気持ちい感じがしました。

GRAVITY DAZE 2

 重力操作に慣れるまでは難しかったですが、慣れると重力を自由に操って移動することがとても楽しく、また斬新だなぁと感じました。

イース

今回遊んだ中では一番「RPG」のイメージが強かった作品です。
リアルタイムで戦闘でパーティがAIで戦ってくれて、回避やスキルを上手く使わないといけないので、戦闘の臨場感が味わえました。


どのゲームも、30分くらいはじっくり遊べて、無料体験版ででこんなに遊べるのかという思いと、本編買いたい欲が強くなりました。

ゲームプログラマの勉強すると、普通に遊んでいても、ここの処理どうやってるんだろうなーとか、これはあの技術使ってるんじゃないかなぁとかが楽しめるので、2倍楽しめてお得感が増します!

お金と時間に余裕が出来たら買おうと思います。


本日は以上。ではまた!