Mikimemo

個人的な技術・開発メモやポエム

複数Python環境を切り替える

ローカルの開発マシンの場合、複数のPythonのバージョンを使い分けたいことがある。

というより、 Rubyにおけるrbenvとかrvmやらを使っていた身からすると、 こういう環境は普通に導入しておきたい。

これにはpyenvを使うといいみたい。

導入

$ brew install pyenv

bash_profileに以下を追加

export PATH="$HOME/.pyenv/shims:$PATH"

使いかた

Pythonのバーションインストール

以下で利用可能なバージョンの一覧を表示

$ pyenv install -l

バージョン指定でインストール

$ pyenv install 3.7.0

バージョンの切り替え

versionsでインストールされているバージョンを確認

$ pyenv versions

globalコマンドで切り替え

$ pyenv global 3.7.0

参考

Unityゲーム プログラミング・バイブルの出版&重版、そしていろいろ

発売からだいぶ時間が立ってしまいましたが、Unityの中級者向けの書籍に寄稿させていただきました。

Unityゲーム プログラミング・バイブル

Unityゲーム プログラミング・バイブル

総勢16人の著者さんにより、ゲーム制作に必要な様々な技術分野で今までにない深さの解説がなされているのが特徴です。そしてめちゃくちゃ分厚い。

そして、先日重版の連絡もいただきました。本当にありがとうございます。いまさらブログを書いて、ほとんど宣伝に貢献できずすいません。

ことの発端

こちらの書籍は企画の段階から参加させていただいており、どんなトピックを掲載するかということも編集の方と議論しました。

Unityの中級者向けの書籍というものは、以前Unity入門書を執筆したときから需要があるということは感じていましたが、その解説の難しさも感じていました。

それは、Unityというゲームエンジンやゲーム制作という分野の巨大さから、どうしても特定分野を深掘りするとボリュームが増え、ボリュームを抑えると特定のゲームジャンルにしか適用できない解説になってしまうというトレードオフを感じていたからです。

また、専門性の問題もあり、一人ですべての分野(アニメーション、グラフィック、ネットワーク、AI、etc..)を深く調査し解説を行う工数が現実的にあるのかという問題でした。

というモヤモヤあるなか、上記問題を解決する今回のような複数人の著者参加型のお話を頂いたのでした。

マスターデータとアーキテクチャ、ワークフロー

自分が担当したのは、マスターデータをゲーム内で扱う実践的な方法です。 マスターデータとはゲーム内のキャラの強さやアイテム名、敵キャラの出現データなど、パラメータやゲームバランスなどを設定してあるデータファイルです。

超シンプルなゲームやサンプルを作るときは例外かもしれませんが、一般的なプロダクトレベルのゲームを作る際はこのマスターデータを明示的に用意することが一般的かつ常識です。

が、しかし、ゲームを独学で作っていたりすると、このあたりの存在をあまり意識しないのではないでしょうか?(少なくとも自分が学生の頃はそんなこと意識してませんでした)ところが、複数でゲームを作っていたり、効率よく作業を進めようと思うと、このようなデータをどう扱うか、しいてはゲーム基盤全体の仕組みをどうするかということに思いを馳せることになります。

このようなゲームのアーキテクチャというトピックを解説しているものってあまりないし、初学者の人になにか参考になるものを示したいなということで、そういう内容を盛り込みました。(題目はエクセルファイルからのデータ自動インポートですが)

そしていろいろ

ひさしぶりにブログを書きました。そもそもほとんど書いてなかったのに、最後に書いてから2,3年...?

ちょっと仕事にプライベートにいろいろ打ち込んでいたのと(結婚もしました)、自分の情報なんて価値あるかなーと思うところもあり、SNSとか情報発信とかちょっと敬遠気味だったんですね。あとQiitaとか社内ナレッジに書くことが多かった。完全に言い訳ですが。

最近このままだと技術者としてヤバイという気がしてきたので、ほんとに頑張ろうかと。

あんまりまとまった記事というよりは、自分の備忘録とか多くなりそうですが。 とりあえずはてなダイアリーからはてなブログに移行した。マークダウンで書きやすい。

Twitterも再開しよう。

Unity5入門書の電子書籍版が発売されました!

先日報告しました、Unity5の入門書
「Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発」
電子書籍版が達人出版会さんから発売されました。

http://tatsu-zine.com/books/socym-unity5

ご要望を頂いておりました皆様、大変お待たせいたしました。

すでに世間ではUnity5.2が出ていますが、
基本部分はほぼ変わらないので問題なく読み進められるはずです。


また、紙媒体のその後ですが、大変反響が良いようです。
発売されるまでビクビクしてましたが、本当にうれしいです。
がんばったかいがあったなぁ...

購入頂いた方や記事を書いてくださった方に感謝!



今後は、もっとブログとかでアウトプットしていこう。
が、ドキュメントを書くより何か動くものを作ってたほうが楽しいんですよね。
いつものやるやるサギ。いやがんばります。

Unity5の入門書を書きました。アセット付き!

この度「Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発」
というUnityの入門書を執筆させていただきました。

アマゾンで購入できます。明日7/24発売です。

特徴1. ゲームを完成させるためのUnityの要素にフォーカス!

僕は普段から業務でUnityを使っていますが、一個人ゲームクリエーターとして、
どういったことが知りたいか、必要かということを盛り込みました。

そのため、
カジュアルなゲームではあまり使わないものや、普段の操作ではあまり触れないものよりも、
ゲームを完成させる上でなくてはならない機能を、それなりの「広さ」と「深さ」で説明するようにしました。
(イベントやオブジェクトの制御方法、サウンドやエフェクトの出し方、UIの表示やボタンの処理などなど)

また、ゲームを「作る」だけでなく、
リリース用の設定方法や広告表示に関しても掲載しました。
「Unityをつかってみたいという人」というよりは、
「Unityをつかって何かしたいという人」に向けているといってもよいかもしれません。

特徴2. ゆるロボ製作所の可愛いモデルを利用できる!

この本の一番の特徴として「ゆるロボ製作所」のキャラクターアセットをサンプルで利用することです。
このゆるロボ製作所といういうのは、自分が数年前に業務で作ったUnity製のアプリです。
http://yururobo.jp/

全部のサンプルではないですが、
5章でアシスタントキャラの「ねじ子」をベースにアニメーションやキャラクター操作について解説しています。

ねじ子が走る姿がなかなか可愛いです。
多分つくってて楽しいはず。 
モデルもシンプルなので最初のとっかかりとしては良いかなとおもいます。

ちなみに、本の表紙はゆるロボのキャラクターデザインを担当していただいた牙竜さん書き下ろしです!
もうめちゃめちゃうれしい。家宝にします!

特徴3. それなりに遊べるゲームを1から作りあげるx4!

この本のコアとなる3,4,5,6章は、
実際にサンプルを作成しながらUnityの機能や使い方を学ぶという構成になっています。
解説どおりにサンプルの製作を進めると、
ゲームとしてそれなりに遊べるものが出来上がります。

せっかく作るならゲームとして面白いものを、
さらにモバイルゲームなら友達に見せびらかして自慢できるものを!
というコンセプトです。

さらに、
サンプルは基本的にスマートフォンゲームを最初から意識しているため、
入力方法や画面サイズ、ゲームデザインなどに関して、
より実践的な方法を体験することができます。

特徴4. ゲーム開発の基本知識からUnity5の内容も知れる!

ゲーム開発が初めてという方も想定して、フレームの概念などの基礎的な知識もなるべく説明しています。
また3Dが初めてという方のために、シェーダーやライティングなどの概念を解説しています。
(自分がUnityで初3Dだったので、つまづいたところなども踏まえてます)

さらに、
Unity5でどんなことが可能になったかや、新規機能の簡単な利用方法についても説明しています。
Unity4を触っているけど、
物理ベースシェーダーやオーディオミキサーの機能も知りたいという方の参考になるかもしれません。


実物はこんなかんじです。

この本を書くにあたって

いやー大変でした。もう、Unity5巨大すぎ。

なんとか書き上げましたが、内容に関して今も悶々としてます。
構成が適切か、サンプルが適切か、
機能の使い方や説明を間違えていないか、
文章がわかりやすいか、足りていないことはないかなどなど。。。

ただ、自分なりに精一杯頑張ったので、少しでも皆様の役にたてたらうれしいです。

そして、
本当にいろいろな人にお世話になりました。
カバーデザインを担当していただいた牙竜さん、
サンプル内のBGMと効果音を担当していただいた柴田さん、
サンプル素材の作成と調整を担当していただいたランディさん、
アザラシの挿絵を担当していただいた小菅さん。

また、ゆるロボモデルの使用に関してや、
仕事面でのサポートをしていただいた上司の開さん、
ライティング周りの原稿の添削にご協力いただいた湊さん、
クソ忙しいときに本の作業で休んで迷惑をかけたつぐmeチームの皆様。

さらには、
執筆についてお声をかけていただき、
このようなきっかけをくださったサービス開発部元上司の蒲地さん、
本書の編集をご担当いただき長期間執筆をサポートしてくださったソシム株式会社 佐藤様。

この場を借りて深くお礼申し上げます。
ありがとうございました。


個人的に作業面ではいろいろ反省点もあるので、
余裕があったら次回以降にも書こうかとおもいます。

YosemiteにbrewでPandocいれた

仕事でつかってたiMacちゃんが激おもになったので、
新規にMac Book Proを使うことにしました。

Pandocをいれたのでメモ

$ brew install ghc cabal-install
$ cabal update
$ cabal install pandoc

pandocのインストールでものすごいcpu使用率になったけど...

bash_profileとかにPATH設定

export PATH=$PATH:$HOME/.cabal/bin


こんな感じにつかう

$ pandoc text.md -s -o text.html

妖怪ウォッチつくった

先日ソネットハッカソンに参加しました。
もう七回目の開催&参加です。

最近妖怪ウォッチにハマっているので、
今回は妖怪ウォッチを作ってじばにゃんを召喚することにしました。


じばにゃんの妖怪メダル



妖怪ウォッチアプリで見てみると、おもむろに召喚が始まる



じばにゃん召喚!(じばにゃん!!っていう掛け声とモーションにやられる)



歩くしカメラ上で触ると反応する


とりあえずじばにゃんが可愛いので大満足です


実装にあたってこちらの記事とデータを利用させていただきました。ありがとうございました。

Unityプラグインアップデートしました

以前から公開させて頂いてますUnityプラグインアップデートしました。
https://github.com/mikito/unity-admob-plugin
https://github.com/mikito/unity-flurry-plugin

双方AdMobのSDKとFlurryのSDKが最新になってます。

またAndroidに関してはGoogle Play Servicesのライブラリを使用するようになりました。
2014年8月1日以降はこちらのバージョンでないとPlay Storeで受け入れがなされないようなのでご注意ください。

また、結構要望のあるインタースティシャル広告の実装をしようかと思います。
時間がとれ次第になりそうですがおまちあれ!(そんなにむずかしくないはず)

Unity5の情報も出てきて、これから更にいそがくなりそうだ!!

ちなみにちょっと前にまたハッカソンあったのですがUnityでVJっぽいことやってみました。
Unity Japanの高橋啓治郎さんのドキュメントとプラグインを参考にさせていただきました。(ありがとうございます!!)
音源が入っているのでソース等は公開できませんがかなり楽しかったです。
ゲーム以外でもいつか楽しいことできたらいいな〜と思う次第です。