みゆにゃんぶろぐ

ゲーム(開発)/カラオケ/サイクリング/コーヒーの話題多め。最近は不定期更新。なるべく毎週更新したい

6月30日

今日で6月が終わり。今年の半分が終わる。そう考えるととても早く感じる

……年を取るたびに時間の流れを早く感じる(笑)

 

性格分析

自分の性格を分析できるというサイト「エムグラム」で、自分の性格を分析してみた

就活でやたらと「自己分析」の言葉が出てくるし、自分を客観的にみるため、あとは興味本位というのが理由だった

結果はこうだった

これを見て思った感想は以下の通り

 

・石橋を叩いて壊すって(笑)叩きすぎやろ(笑)

・あと自分はムードメーカーではないと思う。ムード作れないっす

・迷惑なほど頑固は自覚してる。でもそこまで頑固かなぁ、最近はそうでもない気がする

・女性で「とてもロジカル」はめずらしい気がする

・「周囲に流されない」=「マイペース」とも言えるなぁ。これも自覚してる

・「孤独に耐性がある」って……たしかにぼっちでも比較的大丈夫だけど、なんだか寂しいなぁ(笑)

・「人を寄せ付けず話しかけてはいけない印象を与えることが多々ある」は……そう思われてること多いかも。自分と仲良くしてくれてる友だちには「こんな明るい人だと思わなかった」とよく言われるし……。これはにも書いたけど、人と一定以上の距離感を置いていたい性格だからかもしれない。ここは改善したい

 

以上

自分を客観的に見ると、自覚してるところとか新たな一面が発見できたりと面白いなと思った

6月23日

先日、カラオケへ行ったら十八番の曲(PHANTOM MINDS)以外で96点が出た。毎年少しずつ点数が上がっているけど、これからは点数を1点上げることがいつもより難しくなりそう……

 

ひと段落して、これから

ゲーム大賞の応募も終えて、3月から続いていたゲーム制作がひと段落ついた

キリがいいので、新しいことを始めるには丁度いいなと思うので、何か新しいことを始めたいと思う

とはいえ、本当に新規から新しいことを始めるわけではなくて、以前やってたけどなんだかんだ三日坊主で挫折したことを再挑戦しようかなと思う。自分は基本的に挫折してまたやってみるを繰り返して勉強することが多い。独学でプログラミング勉強をしていた時は特にそう

1番にやりたいのは、DirectXの使い方の勉強。あとは3Dの勉強。他には設計とか

 

DirectXの使いかた

DirectXTKを使ったゲーム制作は(2Dなら)できるけど、DirectXをネイティブに使ってゲーム制作はしたことない。のでやってみたい

ほんの少しDirectX10/11をかじってみたけど、ほとんどDirectXTKと変わらない気がする。SimpleMathがないのが不便なところ(Vector3はDirectXならD3DXVECTOR3なるものがあるけど、正規化などの便利な関数がない……)

不便なところは自分で作ったらいいのかなぁ、とか色々考える今日この頃。いつかはDirectXでゲーム用フレームワークを作ってみたい(無謀かも)

 

〇3Dの勉強

行列とかはなんとなく理解してるけど、細かいところは全然理解してない

例えば、入力レイアウトとかなんだ?って思う

そういう概念的なところはきちんと理解しておきたいと思う

 

〇設計

最近、設計は大事だなとつくづく感じるし、彼氏さんにも「設計はしっかりしないとだめ」と言われる

基本的には同じことは書かないように気をつけているし、1か所修正すればほかの箇所も同じように修正しなきゃいけないようなことは極力しないようにしている(小さなプログラムやどうなってもいいコードは例外)

なので、最近は以前紹介した「ゲームプログラマのためのコーディング技術」を改めて読み直している。以前は後半の主にクラス設計の部分はあまり理解できていなかったけど、今は理解できる。でも読めば読むほど設計が難しいと感じる

例えば、本によるとシングルトンパターンを使ったら「デメテルの法則」に違反するから多用しないほうがいいとのこと。シングルトンパターンはグローバルに扱えてとても便利なのにorz

まぁ設計も臨機応変に対応すればいいと思うし、それがプログラマーの仕事だと思う

6月8日

最近、プログラミングするのが楽しい。正確には、ゲーム制作が少しでも楽になれるようなライブラリ的なクラスを作るのが楽しい

てなわけで今回は自分に対するメモも兼ねて、久々に技術的なことを書いていく

今回は盛りだくさんの2本立て

 

シングルトンパターンとユニークポインタの違い

最近の授業でよく出てくる「シングルトンパターン」と「ユニークポインタ」

2つとも「唯一の存在」的な感じだけど、ちゃんと理解していないと両方とも同じような意味に感じてしまうかもしれない

これが2つの違いである

シングルトンパターンは、そのクラスのインスタンスを1つしか生成できない

ユニークポインタはそんなことなくて、同じクラスのインスタンスを何個でも生成できる

じゃあ何が「ユニーク」なのかというと、以下の通りである

ユニークポインタはコピーができない。これがユニークの正体

しかし、関数の引数などでユニークポインタを受け取りたいときはどうしたらいいのか

そんなときに使うのがstd::move()である

先程も書いた通り、コピーはできないのでエラーになる

そこでstd::move()を使うことでポインタの所有権を渡すことで、無事受け渡しができた

ちなみに、std::move()した時点で引数のユニークポインタはemptyになる

 

便利なforの使い方

C++11からの機能で、forがいわゆるforeachのような書き方ができるようになった

これがとても便利

たとえば、vectorコンテナで全ての要素を参照したいときはこうすることが多い

これは以下のようにも書くことができる

すごく短くなった

vの中にvectorコンテナ(a)の各要素が入るので、vを使ってあとは好きな処理を書けば、全ての要素で同じ処理が行われる

ちなみに、vectorコンテナ以外にも普通の配列でも同じように書くことができる

もともとこの機能があるのはなんとなく知ってたけど、その当時はいまいち使いこなすことができなかったから使ってなかった

けど、今日のネットワークプログラミングの授業でforeachが出てきたときに思い出して、C++でやってみたら思いのほか簡単に使えたのでびっくり

こっちのほうが短いし楽なので、今度からはこっちを使っていこうかなと思った

6月1日

今日から6月。2年生になって2ヶ月が経った。本当に早いと思う

気がつけば夏休みに入ってそうだなぁ……

 

2年前期、学内コンペ

今週の月曜日に学内コンペがあった

もともとは「日本ゲーム大賞アマチュア部門(以下CESA)」に出すための作品に対して、第3者の視点から評価や意見をもらうために行われた。故に作品のテーマは「はさむ」だった

自分は3月にテーマが発表された時点でCESAに向けてゲームを作り始めた。制作期間は約2ヶ月

大体完成しただろうと思ったところで、学内コンペ用にその作品を提出した

そして今日、その学内コンペの結果が発表された

今回の学内コンペは、「個人部門」と「チーム部門」の2つに分かれた。自分は1人で作ったから個人部門に該当する

正直、学内コンペに関しては1年生の時の悔しい経験があるから、今回も「どうせ自分には関係ないだろうな」と思っていた

けど、まさかの個人部門で1番いい大賞に選ばれた!

f:id:clover_0907:20170601225958j:plain

今まで「ゲーム作品」でこういった賞をいただいたことがなかったから、本当にうれしかった

ゲームの素材を提供していただいたサイト様、Unityのアセットストアで素材を提供していただいた作者の皆様、ゲームのぼんやりしたアイデアを考えてくれた彼氏さん、ゲームをプレイしていただいたみんな、先生方に感謝。本当にありがとうございます

とはいえ、これで終わりじゃなくて、評価とともに改善案ももらったので、これからそれをもとに更に作っていこうかなと思う

5月26日

先週、新しいめがねを買った。今までのめがねだとカジュアルライクなファッションには似合わないのでカジュアルライクでも似合うめがねを買った。けど、思えば自分はあまりカジュアルな服は着ないんだった……(笑)

 

カラオケ採点で気をつけてること

自分の今年の目標のひとつに「DAM精密採点DXでボーナスなしで96点を3時間以内で出す」がある。今までの最高得点が95点だったので、ついに1つ上を目指すことにした

毎年カラオケに関する目標はその年の3月くらいまでに達成してきたけど、今年に限っては5月に入っても達成できないままだった。しかも最近は調子が悪くて、定番曲でも93~94点で、95点すらなかなか出なかった

そんな中、先週ぼっちでカラオケへ行ったらついに目標を達成した!!

f:id:clover_0907:20170526225105j:plain

f:id:clover_0907:20170526225132j:plain

最近はずっと調子が悪くて(現に、前回の点数が91点……)十八番から外れてたPHANTOM MINDSで96点!

初めて95点を取ったときもこれだったなぁ……(笑)

ちなみに96点を取ったのは、入室してから1時間ちょっと。思ったより早くて自分でもびっくり(笑)

とりあえず今年の目標の1つ達成できてよかった

 

ここで自分がカラオケで採点するときに気をつけていることをまとめておく。DAM精密採点シリーズで高得点を取りたい人がいたら、参考にするといい……かも?

・音量はエコーとマイクは0にする。エコーがかかると音程がぼやける。ミュージックは大きすぎず小さすぎず。自分はいつもミュージックと声が同じくらいの音量になるようにする

・マイクはスイッチがあるやつは、歌ってるときだけスイッチオンにして、後はオフにする。雑音が入らないようにする

・音程:あまり歌いなれてない曲はガイドメロディ大にしてとにかく覚える。95点を狙うなら常に音程バーは金色以上に光らないと厳しい(例外除く)

・発声はおなかから出す。じゃないと苦しいし、すぐ疲れるし、のども痛くなる

・力んで歌うと音が外れるので、リラックスする。音程を覚えるくらい歌いこんでるなら、リラックス状態でも音程が合う

・地声で歌うとのどが痛くなるので、できるだけ裏声で歌う。裏声だと音程が低い曲だと難しいけど、練習すればできる

・安定性:ビブラートをかけまくればいい。ビブラート未満の震えは評価が悪くなるのでしっかりビブラートをかけること

・抑揚:音程が高いところは大きく、低いところは小さく。マイクを近づけたり離したりして調整。極端に抑揚をつけたほうがいい。抑揚をつけるときはいきなり大きくつけるのではなくて、徐々に大きくしたり小さくするといい

・しゃくり、こぶし、フォール:気にしない

ロングトーン:同じ音程でまっすぐのばす。音程バーが長いところでまっすぐのばすといい。長めの音程バーがない曲だとここは厳しい

・ビブラート:ビブラートができない人が多いみたいだけど、練習法としては音程を上下に揺らす練習をするといいと思う。最初は「あ~~ぁ~~あ~~ぁ~~」って感じで、慣れてきたら徐々に間隔を狭めて、最終的には「あぁあぁあぁあぁ~」てなればビブラートになってる。とはいえ、安定性のところでも書いたけど、細かすぎる震えだとビブラートだと判定されなくて安定性が下がるので注意

 

基本的に95点を狙いたいなら、音程正確率は88~90%じゃないと厳しいけど、その他のところで評価がよかったら音程85%でも95点は取れる。逆に、音程88%なのに他の評価が悪いと90点もあり得る(両方とも過去の経験談)

 

今年の目標も達成できたし、しばらくはPHANTOM MINDS以外でも96点が取れるように頑張ろうかなぁ