mattak's blog

人生を1ミリ進める

Unreal Engine 4はじめました

簡単な成果物

f:id:mattaclj:20160204221514p:plain

TPSで鬼ごっこするゲームをつくってみた

感想

Blueprintすごい

プログラムを一行も書く必要がなくてもある程度のゲームが作れる。 代わりに条件分岐も、イベント処理もすべてBlueprintで行う。 Blueprintは、Unityにおけるscriptのような立ち位置。 ロジックはすべてblueprintでやる。

楽で誰でもとっつきやすいのは++ 複雑な処理になると自由度が少ないのは-- 自由に使いこなすのには何度かゲームを作って見る必要ありそう。

GUIが軽い

ライトニングのベイク処理が別になっていて軽いイメージ。 コンパイルしないとstatic objectのライトマップは更新されない。

クラッシュ

Mac Book Pro 13inch retinaで作業してると頻繁にクラッシュして辛かった。 ファイルを作るだけでクラッシュ、フォルダを作るだけでクラッシュ・・・

ただ Mac Book Pro 15inch retinaで作業する感じ問題なかったので、単に環境に問題があっただけかも知れない.

チュートリアルは動画で!

文章を読んでも正直画面上のどの部分をいじればいいかパッと理解できないことも多々ある。 チュートリアル動画を何度かやるのがとっつきやすくてよい。

シーンファイルはバイナリ

同時編集は辛そうだ。 プロダクションで使ってる人はどうやってる感じだろ。 ただパーツと部品はファイル分けていけそう

テンプレート便利

プロジェクトを作る際のテンプレートが完成度高い。 そのジャンルのゲーム作る上ではとっつきやすそう。

アセット

そんなに充実してない感。 並んでる商品のクオリティは高そう。お値段も高め。 プロユースという感じ。

ファイルフォーマット

音声はwav モデルはfbx

Unityと比べるとあれがない、これがない、変換面倒って感じたりする。

UI

Blueprintのデザイナ画面で組める Widgetという単位で画面上に追加できる。 基本の要素は整ってて、きちんとアンカーも効くので困ることは今のところない。

目標: 2016

スローガン

  • 気力とアクティビティを高いまま維持する
  • 生活習慣をガラリと変えたい

  • ランニング 40km / 月. 週2ペースで走る
  • 腹筋 20回 / 日 を継続 (少しづつ増やす)
  • 腕立て 20回 / 日 を継続 (少しづつ増やす)
  • 年末までに体脂肪率10%, 55k

英語

  • rarejob初めてみる.
  • 週1ペースでつづける
  • 楽しく会話できるくらいにしたい

習慣

  • 原則9時以降は食事しない. お菓子禁止
  • 10時以降は刺激物禁止. (ゲーム, アニメ, プログラミング...)
  • 読書のみ許す
  • 刺激物をやりたければ、朝するようにする

  • 読書記録をとる
  • 漫画、小説、真面目本問わず

リリース

  • 月1ペースを目指す
  • ゲーム, ライブラリ, アプリ, ... 問わず
  • その時に興味のあるものを

  • +5万 / 月

ふりかえり

  • 各項目で記録する
  • 月1ペースでブログに残す

エンジニアでも作曲したい

前置き

ゲームジャムでゲームを作るときに作曲できると便利。 面倒な著作権問題やら回避できて、自由にアレンジや改変もし放題。

lycoris102さんと ayaki さんにいろいろ教えてもらって作曲はじめた。 自分で作った曲はいろいろとおかしいのだけど(自覚している)、まあ最近始めた初心者なので許してという感じ。

ツール

作曲に利用したツールDAW (Digital Audio Workstation) というらしい。

FL Studio

FL Studio 12

f:id:mattaclj:20151207003010p:plain

定番ソフトらしい。mac版はbetaでリリースされていて、プロジェクトの読み出しができないもののちょっとした曲を作る分には十分。 こんな曲をつくった。

soundcloud.com

GarageBand

Mac標準の作曲ツール。 いままではなんか邪魔なアプリが入ってるなー程度の認識だったのだけど、使ってみるとDAWとして初心者には十分な機能が入っている。 ドラムも良い感じに自動で鳴らしてくれるのですごい便利。 チュートリアルも充実してて、そもそも作曲とは?コードとは?みたいな人にもオススメ。

f:id:mattaclj:20151207003226p:plain

CMD + クリックでピアノロールに追加できるってことだけわかりにくいが、あとはなんとなく慣れでいける。 追加DLが多いのがたまにキズ。

これで作った曲。

soundcloud.com

GarageBand (iPhone)

モバイルでも作曲できるのだ。 しかもちょっとした打ち込みならこっちのほうがやりやすいくらい。 デフォルトのオートプレイや、スマートドラムもかなり便利。

f:id:mattaclj:20151207004745j:plain f:id:mattaclj:20151207004754j:plain f:id:mattaclj:20151207004751j:plain

少しわかりにくいのだけど、AirDrop やら Dropbox経由でPCに .bandファイルをシェアできる。

試しに作った曲。(ただのオートプレイの組合せ)

soundcloud.com

勉強したサイト

ドラムロールは適当に打ち込んでもリズムになりやすいのだけど、 ピアノロールには打ち込んでも、それっぽい曲に一向にならない。 ので少し勉強した。

YAMAHA コードについて学ぶ

コードについて学ぶ - 音楽について勉強しよう - ヤマハ株式会社

和音の作り方、7th chordあたりが勉強になる。

サビ、メロについて

構成 (曲) ‐ 通信用語の基礎知識

Aメロ、Bメロ、サビなど

そもそもサビの意味すらしらなかった・・・

Timさんの音楽教室

GarageBandを開くと標準でついてくるレッスン。 コードの基礎的な説明や楽器の使い方など、誰でもわかるようにかなり丁寧に説明している。 当たり前だけど楽器に会う演奏スタイルやコード進行があって、基礎を学ぶとそういうことを気づかせてくれる。

f:id:mattaclj:20151207014026p:plain

作曲の難しさ

いまは作れる曲を作るという場当たり的適当さで作っている。 狙った曲でその雰囲気を表現するのはやっぱり難しい。

副作用

自分で作曲をしてみると、世に流れている曲でどんな楽器で演奏しているのか? どんなコード進行をつかってるのか?だいたいドラムロールつかってるなーとか、雰囲気だけをだすなら複雑なメロディはいらないなーとか。 今まで見過ごしていたものへの気付きがある。

当たり前だけど世の中には曲があふれていて、何気ないアニメの一シーン (終物語やらごちうさの劇中歌とか、SEとか)にも耳が反応するようになった。 このパターンを蓄積して、どんな楽器をつかえばいい?こんなパターンがあるんだってのを積み上げてみんなうまくなるんだろうなーと (小並感

2015年においては、ツールも豊富で無料で作曲をはじめられるので良い時代だ。 曲作りは楽しいし、1日くらいで1曲できる手軽さなのでゲームジャムエンジニアにはおすすめです。

GameJam#6での学び

WIP. 社内でゲームジャムをやっていた時の学びメモ

Resources.Load()

digit.sprite = Resources.Load<Sprite("Sprites/digit/" + value);

みたいなのよくやる. as Spriteとか前はやってた。

ReactiveProperty

public LongReactiveProperty score = new LongReactiveProperty();
void Start() {
  score.subscribe(value => {
    SetScore(value);
  });
}

みたいな感じで値監視がすごい便利。スコアとかこれだけで出来る。

ProjectのBootstrap

毎回同じセットアップとか、同じロジックを書いてる気がする。 コーディングの半分くらいは無駄にしている感。 小分けにして、Utilityとしてまとめたい。UnityのBootstrapつくりたい。

Fabric

FabricBetaでデータを共有したかったが、Unityから書き出すと毎回データが書き換わる。 しかもFabricは導入がたるい。DeployGateのようにアップロード機能だけ切り出して欲しい。 Fabricの導入対応を血迷って初めにやってしまったのはミス。4時間くらい不毛に潰してしまった。

書き出し

Unityの書き出しはちょくちょくミスる。 これで作業時間がその都度15分くらい消耗されるのはツライ。 jenkinsとかで裏で書き出す仕組みが欲しいところ。 UnityのCloud Build試してみたい

またiOSのビルドもかなり待つ。

gh-pages

GithubPagesはゲームを手軽に共有するのに便利だ。 ただブランチ切り替えの前にきちんと物理コピーを取ることをおすすめする。 マックのクリップボードコピーは参照先だけ保持しているので、ブランチ切り替えでデータが消えて時間を浪費する。

機能をすてるということ

たとえば、ステージをロードするということはそれなりにロードする仕組みが必要だ。 現状の手持ちで間に合うかどうか、どのくらい時間がかかるか。それによってどのような影響があるか。 きちんと考えて必要な物を絞るのは大事だ。

Kotlin メモ1

open

Classes and Inheritance

継承元のクラスに引数を渡すとき、classにopen annotationをつける。

constructorの引数

public class Entity(name : String)public class Entity(val name: String) の違い。

valがつくと継承元のClassに引き渡せない。 valをつけると自動でクラス内のpropertyとしてmappingしてくれる。

returns label

foreachなどでreturnsするときに、ラベルをつかうみたい。

http://kotlinlang.org/docs/reference/returns.html