kidoOooOoooOOom

ゲーム開発やってます

「マンガでよく分かる 怒らない子育て」を読んだ

6歳と3歳の子育て中ということもあり、育児もちゃんと勉強していきたい分野。 今回読んだこの本は、マンガのページがそこそこ用意されていてとても読みやすく、勉強になることもたくさんあった。 まず参考になったのは、自分の子供が例えばジュースをこぼ…

SlackBotでクイズ機能を作ってチームの学習を促す

SlackBotのランダム機能を使うと、何かの担当者(レビュー担当とか)をランダム抽選する時とかslack上でサクッとできるのでとても便利。 qiita.com 最近はこのランダム機能を使って、「今作っているプロダクトの仕様に関する質問」や、「Unityに関するクイズ…

複数フラグ判定を行うenum実装とそれのUnityTestRunnerコード

ゲームでよくある武器の属性をC#のenumで実装する時、こんな感じで書ける。 using System; [Flags] public enum WeaponElement { Fire = 1, Water = 1 << 1, Earth = 1 << 2, Wind = 1 << 3 } public static class WeaponElementExtension { public static b…

「戦略的リソース活用法」を参考にした、ゲームをプレイする前に考えること

最近、ニコニコ動画でやっているメンタリストDAIGOの有料チャンネル(月額540円)に入って効率の良い勉強法などの動画をいくつか観ているが、とても勉強になっている。 その中の一つ、「戦略的リソース活用法」というのが、勉強するときだけじゃなくてゲ…

Unity2018.3で追加された Prefab Modeを使ってみての注意点2つ

最近チームでもUnity2018.3.1 で新しく追加されたPrefab Mode を使い始めてハマった点とか注意すべき点があったのでメモ。 Auto Save は OFFにする Prefab Modeを触っていて最初に感じたのが、「これいつPrefabへの編集がSaveされてんの?」という点。 調べ…

「ちょっとした勉強のコツ」を反復学習した

「ちょっとした勉強のコツ」を読んで、勉強になったなと思うところの整理。 勉強はかけた時間ではなく、どれだけ集中して行えたかどうかで成果がきまる。 この本で何度も出てくるテーマの1つ。休みの日に思ってたよりも勉強ができないのも、時間があると思…

Unityで3Dオブジェクトをボクセル化する「unity-voxelizer」について

こちらのblogで紹介されていたunity-voxelizerを試してみて、どんな仕組みで動いているのかを調査。 baba-s.hatenablog.com github.com まず、デフォルトのSphereにたいして unity-voxerlizer を適用すると こんな感じのボクセルSphereになる。 ボクセルの密…

管理ゼロ本を読んでふりかえりについて意識高くなった

"管理ゼロで成果はあがる ~「見直す・なくす・やめる」で組織を変えよう" を読んで良いなと感じたり勉強になったことがたくさんあったので、メモっておく。 まず、第1部のふりかえりに関するトピックで、 週に1度、1時間の振り返りから始める 継続するこ…

Arbor3のBehaviourTreeでシミュレーションゲームの敵反撃行動を実装

UnityAsset の Arbor3 を使うと、StateMachineやBehaviourTreeをノードベースで割と簡単に実装できる。 https://arbor.caitsithware.com/ 今回、個人的に制作予定のシミュレーションゲームの敵行動AIの一部をBehaviourTreeで試しに実装した。 (BehaviourTre…

最近の自分の仕事環境

仕事場に私物スタンディングデスクを宅配してもらい、スタンディングデスク環境を構築している。 こんなやつ -> スタンディングデスク スタンディング始めた頃は結構疲れたけど、最近はかなり慣れてきて1日のほとんどを立って仕事している。 立っていると作…

Unity認定エキスパート試験2回受けて2回とも落ちた

Unity認定エキスパート試験 Unity Certification - Expert Gameplay Programmer がUnityの勉強にもなるため会社でも取得を奨励されており、意識高く2回受けたけれど2回とも落ちてしまった・・・。 しかも2回とも、合格基準点500に対し、自分の成績は490点…

Perforceでフォルダ名を一括で変更するコマンド

最近バージョン管理ツールとしてPerforceを使ってるので、それのメモ。チームでは基本的にはGUIツールのp4vで操作しているのだけども、p4vからだとファイルやフォルダ名のリネームは1つずつしかできない。 最近、命名規則の変更などで大量のファイル・フォ…

slackの分報で「1日ひとつだけ、強くなる」を実践

ここ3ヶ月ぐらい続けていて、割と成長に繋がっていると実感している方法。自分が大好きなプロゲーマーのウメハラさんの本を参考にした方法で、 slackの分報チャンネルにリマインダー機能を用いて 「今日の成長したことを書こう」*1 と夕方頃に促させる。 そ…

UnityのUI-Default.shader 内のUNITY_UI_ALPHACLIP について

Unity 5.3 に含まれる UI-Default.shader でまだ理解できてなかったところを1つずつ消化していく。 UNITY_UI_ALPHACLIP関連について。 Properties { (省略) [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 } SubShader { (…

UnityのUnlit/Texture shaderを理解

Unity内蔵の Unlit/Texture shader は非常にシンプル。 ライティングの反映無し、透過無しのテクスチャのみのシェーダー。 Shader "Unlit/Texture" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } …

Unityでアルファマスクを使うshaderについて理解

githubで公開されている下記shaderについて学んだのでメモる。 github.com shader コードはここ unity-alphamask/SpriteWithMask.shader at master · keijiro/unity-alphamask · GitHubまずは Blend SrcAlpha OneMinusSrcAlphaBlendingに関する設定。Blendin…

UnityのSepiatone shaderを理解する

Shaderを勉強しはじめたので、まずはシンプルな Sepiatone shaderの中身を写経しながら基本的なところを学んでいく。Unity の ImageEffectsで使われているセピアトーン化のshaderコードがこれ Shader "Hidden/Sepiatone Effect" { Properties { _MainTex ("B…

UnityをAndroid実機につなげてデバッグした時のアレコレ

Unity アプリがAndroid実機でクラッシュする問題を調査した時のアレコレをメモる。 monitorでログを見る android 実機と MacをUSBケーブルで繋げる。 android sdk をインストールし、tools/monitor コマンドを実行すると android 実機上で吐かれたログを観れ…

UnityでScriptableObjectを用いて設定管理

拡張エディタやImporterの設定ファイルとして、ScriptableObjectが使用できる。 tsubakit1.hateblo.jp 例えば今回は、画像ファイルをUnity上にインポートする際に、特定のフォルダ配下の場合はTrue color にしたりmip mapをOFFにするといった自動設定を行う…

UnityでFBXファイルをインポートした時のデフォルト設定を自動化

Maya等で作成した3Dモデルが含まれるFBXファイルはUnity上にドラッグ&ドロップするだけでインポートが可能だが、デフォルト設定では色々とまずいので設定を変える必要があったりする。 インポートするファイルの数がたいしたことなければ問題ないが、100を超…

Unityでアプリ起動時の画面向き設定

スマホの縦向きのレイアウトしか考慮しない場合は縦向き固定にする。 [Build Settings] から [Player Settings]を開き、Resolution and Presentation のところの Orientation を変更する。 Portrait: 縦向きでホームボタンが下固定 PortraitUpsideDown: 縦向…

Monodevelop ショートカットメモ

とりあえず使いそうなのメモ コードスニペット: 予約語を入れて tab 2回 定義へジャンプ: 変数を選択して cmd + y 参照先リストアップ: cmd + shift + y リファクタリング: Cmd + r 指定行へ移動: Cmd + L コメント挿入: /// 矩形範囲選択: option + マウス…

レベルアップのゲームデザイン 読書メモ LEVEL9

「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック作者: Scott Rogers,塩川洋介,佐藤理絵子出版社/メーカー: オライリージャパン発売日: 2012/08/18メディア: 単行本(ソフトカバー)購入: 17人 クリック: 98回この商品を含むブログ (9…

Phoenixでcrud操作できるところまで

昨日に引き続き、elixir と Phoenixを軽く触ってみる。Phoenix は default で postgreSQL を使うので、それをローカルのmacに環境構築する。 参考にしたのはこちら。qiita.com$ brew install postgresql $ initdb /usr/local/var/postgres -E utf8 $ postgre…

elixir と phoenixを軽く触ってみる

elixir の wikipedia Elixir (プログラミング言語) - Wikipedia Elixir (エリクサー)は並列処理、関数型に対応した、Erlangの仮想環境(BEAM)上で動作する汎用プログラミング言語である。ElixirはErlangで実装されているため、分散システム、耐障害性、ソフト…

レベルアップのゲームデザイン 読書メモ LEVEL5

「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック作者: Scott Rogers,塩川洋介(監訳),佐藤理絵子出版社/メーカー: オライリージャパン発売日: 2012/08/18メディア: 単行本(ソフトカバー)購入: 17人 クリック: 98回この商品を含むブ…

gruntでjshintとjscsのlintをタスク化

jshintのチェックルールを.jshintrcに、jscsのチェックルールを .jscsrc とかで用意しておき、下記をGruntfile.js に追加する。 grunt.initConfig({ jshint: { files: [ 'lib/**/*.js', 'test/**/*.js', '*.js', ], options: { jshintrc: '.jshintrc' } }, j…

mongodbで正規表現でcollectionを指定してremove

mongodbで正規表現を指定して特定のcollectionsだけremoveしたいケースがあったので、それのメモ。 コンソールからmongoシェルを立ち上げて下記を宣言し、宣言した関数を実行してあげるとok. var removeUserCollections = function() { var removeTargets = …

レベルアップのゲームデザイン 読書メモ LEVEL4

「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック作者: Scott Rogers,塩川洋介(監訳),佐藤理絵子出版社/メーカー: オライリージャパン発売日: 2012/08/18メディア: 単行本(ソフトカバー)購入: 17人 クリック: 98回この商品を含むブ…

Effective JavaSceipt 読書メモ 項目22~26

JS

Effective JavaScript JavaScriptを使うときに知っておきたい68の冴えたやり方作者: Devid Herman出版社/メーカー: 翔泳社発売日: 2013/04/13メディア: Kindle版この商品を含むブログ (4件) を見る 第3章 関数の扱い 項目22 可変長引数関数を作るには、argum…