mikan_daisuki’s blog

IT系サラリーマンの日記。前職ではスマホゲームを、現在はアプリを作ってます。



【開発者向け】Instagramに関する記事まとめ

結構良いことが書いてあったのでまとめました。


・前身となるBurbnというアプリがあり、失敗した。
・Burbnの失敗を踏まえ、問題定義の深堀を行った。
    ー写真において、人々が抱える最大の問題は何か?
・一番恐れたことは、他の写真アプリと同じ失敗をすることだったので、競合の分析を念入りにした
・誰かがしたことと同じことをせず、新しいことをしなければならない
・解決すべき問題を3つに絞ることで、不要なものを排除でき、いいモノが作れた
・PR会社(広告代理店?)に任せず、直接気に入ってくれそうなメディアに連絡をとった
・まずはiosだけだして、すばやくPDCAをまわして、うまくいきそうか判断した



Instagramは方針転換してから8週間で開発された
iosに絞ってしばらく開発してたのは、InstagramにおけるUI/UXを最適化を行った
Twitterが初期にサーバーダウンして成長を遅らせた姿を目の当たりにして、ユーザーを増やすことより減らさないことを重視した
・写真が正方形なのは、二大巨頭だったコダック社とポラロイド社のフレームが正方形だったため


努力と収入はあまり相関がない


「自分は努力したから高収入なんだ」とか、「やっかみとか批判するやつは、どうせ努力していない」とかいった論調には、怒りを禁じえない。

自分が他人よりも頑張ったおかげで、今の収入がある、などと勘違いしているのだろうか。
そんなものは偶然だし、個人差があるということに早く気づくべきだ。

たまたま、良いスペックの身体を持って生まれ、学んだことをすぐ覚えられ、頑張れば結果が返ってくる。だからこそ頑張れているという、ただそれだけの話を美化しすぎだ。

もちろん、努力によって収入が上がることはあるが、それは一定お金の余裕がたる会社において、評価者にとってうれしい努力をして、それがその人に伝わり、「こいつの給料あげてやるか」となったときに限る。

そもそも努力の価値は、生まれたときのスペックである程度決まってしまう。もともと整った容姿で生まれた人が少しオシャレすればモテてしまうのと同じで、少し頑張るだけでぐーんと改善する人と、そうでない人が存在する。

こういった状況がある中で、努力してもつまらないからやらない人がいるのも、やっかみが出るのも当然だ。生まれた瞬間から不平等なのだから。


介護のコストをだれが支払うべきか


認知症の妻を殺し、夫も食事を拒み続けて死亡したというニュース。ぼくはこの記事を読んで、妻よりも夫に同情した。大好きだったはずの妻を殺して、自分も死のう、という決断に至るほど、介護には深い闇があるのだと感じさせる。

介護は、治療が難しい状況では、終わりのない作業になってしまう。未来ある子どもの世話は、どんどん成長していくさまを間近で見られる楽しい作業だが、治療が望めず、生きてるだけで精一杯な人の介護は、どうしても辛い作業になってしまうのでは、と察する。

当然、家族には、その人への愛があり、だからこそ辛くても頑張ってしまうのだが、それはその家族にとって大きな負担となるのは間違いない。

今回のケースだと、夫は妻を介護施設に出すべきだったが、それができない家計状況だったのかもしれない。妻も自分が認知症になって、夫に迷惑をかけながら生きていくことを望んでいなかっただろう。数十年連れ添った夫も、そんな彼女の想いをわかっていて、心中することを決意したのではないか。

安楽死というアプローチも世界には存在するが、日本では、認知症安楽死することはできないし、安楽死において先進的なオランダでも、症状が進行しすぎると安楽死が難しくなるケースもあるらしい。


介護対象者が、家族にとっても社会にとってもコストでしかない、という辛い現実があったときに、その事実と向き合い、その人の人生を終わらせる安楽死、という考え方は、これからもっと重要になるし、整備していくべきだ。日本がオランダと同等に安楽死の仕組みが整備されていれば、夫まで死ぬことはなかったかもしれない。

最後に、夫婦に対しては、哀悼の意を表する。


ぼくは退職金をもらえないので退職します

cild.hatenablog.com

 

バズっているので乗っかってみました。

 

みんなは「退職金」って知ってるかな。会社に長く勤めているともらえるお金のことだよ。その額はときとして数千万円にのぼる幻のビックマネーだ。

 

ぼくの勤める会社では、退職金はでません。

 

だいじなことなので、もう一度言います。

 

 

ぼくの勤める会社では、退職金はでません!!!!!

 

 

・・・それはさておき。

 

 

会社を辞めることになりました

ゲームを作っていましたが、3月で辞めることにしました。

会社を辞めるというのはけっこう大変なもので、いろんな人と話したり、引き継ぎ進めたり、上司にパスしたボールが返ってくるを待っても返ってこなかったりして、どうなってるかツッコミ入れたりして、

気づけば1ヶ月以上、経ってしまいました。

これから辞めて、有給消化して、としていると春になってしまうわけです。

 

「あまり会社を転々とするものじゃないな」

 

としみじみ感じました。

そういう意味では、「石の上にも三年」てのは、悪くない言葉です。

 

今いる会社で、楽しんで仕事できてますか?

退職金なんてどうでもいいのですが、一番大事なのは、「仕事楽しい?」って聞かれたときに、ハッキリと「楽しい」と言える、ないしは思えるかどうか、だと思っています。

不満があったとしても、それは別に問題ではないです。不満があっても、「改善していこう」と思えれば、楽しんで働くことができます。

逆に、「もうどうしようもないな・・・」とか、「今日も会社いきたくないな・・・」とか、なにかしら「諦め」の気持ちが生まれているのだとしたら、黄色信号です。

勇気を出して、外の会社を知る努力をしてもよいのではないでしょうか。

 

ぼくも、ある程度「これはもうキツイなー・・・」という気持ちが生まれたことがきっかけで、転職活動を始めました。転職活動は、もちろん転職を決めたら辞める必要がありますが、在籍したまま活動できるので、気楽なものです。活動した結果として辞めなかったとしても、それが悪いことだとはぼくは思いません。たとえ、今の会社にいて、ちょっとくらい面白くないな、と思っていたとしても、もともとは好きでその会社を選んで入ったのですから。

 

 

本ブログは、ゲームプログラマーの日記じゃなくなります

こちらが本題なのですが、実は、次の職場はゲーム業界ではありません。ずっとゲームを作っていたのですが、違う領域で働いてみたかった、と思っていて、いい機会があったので出てみることにしました。

なので、このブログは「ゲームプログラマーの日記」と称していたのですが、4月からはゲームプログラマーではなくなり、たぶんサーバーエンジニアか、Android/iOSエンジニアか、何者かの日記になっていることでしょう。

もし、自分のゲーム開発関連の記事を定期的に読んでくれている方がいたら、本当に申し訳ないです。

 

まとめ

  • 今の会社にいるのもよいけど、仕事がずっと楽しめない状況なんだったら、とりあえず転職活動してみよう
  • でも、辞めたり入ったりするのは時間かかる。やたら転々とするのはよくない。
  • このブログはゲームプログラマーの日記じゃなくなります。ゴメンナサイ。

ということで、ひきつづき、お付き合いよろしくお願いします。

【異業種を学ぶ】自動車メーカーの新車開発について調べてみた

ぼくはWebサービス作ったあとにゲーム作る、というキャリアを歩んでるのですが、

ゲームを作ってると

 

「時間かかるなー」とか、

「要素がいろいろあって大変だなー」とか

 

思ったりします。より複雑なものを作っているなー、という感覚があります。

でも最近、スターウォーズの最新作見たら、スタッフリストの多さにびっくりしたんですよね。

ぼくの所属するチームは40-50人程度だけど、500人くらいいるんじゃないか、って。

 

よく考えてみると「Webの世界が特殊なのかも」と思ったので、

比較対象を増やすために異業種について調べていこうかな、と思って始めました。

今回は【自動車メーカー】です。

 

 

そもそもの、車の作り方

(2/14: 11:00 修正・加筆しました)

子供や学生向け?に、メーカーのホームページがよくまとまってます。

www.honda.co.jp

 

TOYOTA〜クルマこどもサイト〜

 

しかし、工程がいろいろあって、かなり情熱がないと読み通せないです・・

もうちょっと探してみると、以下のページが見つかりました。

www.toyota-ej.co.jp

ざっくり工程を理解するには十分そうです。

上記によると、

  • クルマの工程は大きく3つの工程に分けられる
    1. 開発
    2. 生産技術
    3. 生産
  • 開発のプロセスは以下の工程がある
    • 企画:ビジョン、コンセプトを決める
    • デザイン:インテリア、ボディのデザインを決める
    • 設計:技術的な課題をクリアして図面化する
    • 試作・評価:アウトプットのチェックや、シミュレーションや実験で性能評価
  • 生産技術のプロセスは以下の工程がある
    • 生産性検討:作りたいもののコストや効率性を検討する
    • 工程計画>設備詳細検討>設備調達:生産計画を立てて、設備の準備をする
    • 設備トライ>品質確認>量産化:設備が想定通りか検証し、必要に応じて調整する
  • 生産のプロセスは以下の工程がある
    • プレス:鋼板を加工して部品を作る
    • ボデー:鋼板から作った部品をくっつける
    • 塗装:くっつけたボデーに塗装する
    • 樹脂形成:バンパーやインストルメントパネルを作製する
    • 組立:エンジン・タイヤなど、あらゆる部品を本格的に組み合わせる
    • 検査:性能を検証する

ということがわかります。

 

読んでいて、

生産設備を作るプロセスが明確になっている

というのが興味深かったです。

関わったスマホゲームで、運用に入ってから毎週のように追加コンテンツを入れるときに、

効率よく安全に追加できるか、ということの検討が不十分なせいで苦戦したので

開発環境を整えるプロセスを導入したほうがいいなーとおもいました。

 

 

新車が世に出るまでには、5-6年もかかる

開発期間について調べていたら、以下の記事が見つかりました。

www.kodansha-bc.com

この記事を読むと

  • チーフエンジニアって人がリーダー的存在らしい
    • ホンダでは「ラージ・プロジェクト・リーダー」
    • 日産では昔は、「開発主管」。今は以下の3人に分かれている
        • チーフ・プロダクト・スペシャリスト
        • チーフ・ビークル・エンジニア
        • プロダクト・ダイレクター
  • 新車開発は、経営会議から始まる
    • 中長期戦略の文脈で議論され、ポートフォリオや販売地域など、あらゆる経営観点を考慮した上で、新車の方向性が決定される 
  • 開発期間は経営会議から世に出るまでで5-6年
  • 開発コストは300-1000億
    • 1年で60-200億。
    • 100人プロジェクトと仮定しても1000万/年*100人=10億/年
    • 数百人程度関わっている?

といったことがわかります。

世に出るまで5-6年かかるってすごい・・・。

 

ブラウザゲームの時は4-6ヶ月くらいで世に出ていて、

アプリゲームの時は1-2年かかっていて、それでも長いと感じていたので、

自分が車作りに関わってたら遅くて耐えられないかもしません・・・

 

数百人も1つの車に関わってるとすると、プロジェクトを大きく左右するような論点は、確実に一部のリーダー層で議論され、決められてしまうでしょうね。

40-50人でもかなりやりづらさが出るので、一定つまらなくなってしまうのは、どうしようもないかもしれません。

それぞれの専門分野を極めることに面白みを見出していく、というのがチームメンバーとしての正しい姿勢になってくるかもな、と感じました。

 

 

新車の開発責任者になるまでに、20~30年くらいかかる

エンジニアのキャリアについても調べてみました。

toyota.jp

この記事によると、

  • 初代クラウンが誕生したのは1955年
  • 2012年12月、14代目クラウンがフルモデルチェンジを果たした (世に出た?)
  • チーフマネージャーの山本さんは1982年にトヨタ入社、2005年に初めてチーフエンジニアになった (40代半ばから後半で初めて責任者になったことになる)

ということがわかります。

ぼくのような20代は、これだと完全に下っ端扱いになってそうですね・・・

周囲では、20代でプロデューサーになってたり責任者と言われるポジションについているメンバーが多くいるので

全然違う世界なんだな、という印象でした。

 

まとめ

スマホゲームと比べると、自動車の世界は圧倒的に大規模でした。

(期間もコストも、下積みも)

同じモノづくりとして比べたときに、1,2年で世に出るなら、ちょー早い、ってことですね。

あせらずじっくり、作りたいモノと向き合っていこうとおもいました。まる。

 

uGUI (UnityのUI機能) の使い方まとめ

 

はじめに

今更ながらuGUIを使うようになったので、

スムーズに開発できるように、使い方をまとめておこうと思います。

といっても、まとめてくれているサイトや記事がいっぱいあるので

リンク集に近いものをまとめます。

をまとめると使いやすいかも、ということで。

uGUI入門

uGUIとは

そもそも、UnityではUI機能のことをuGUIとは呼んでいません。

Unity4.6から提供された、UI機能のことを周辺の界隈の人たちが"uGUI"と呼んでいるようです。

由来は調べてみましたがわかりませんでした。Unity GUIとか?

チュートリアル

www.metalbrage.com

これを順番に読んでいけば入門はOK、というすばらしい内容です。

公式ドキュメントにはあまり良いものがなさそうなのでこれを読みましょう。

公式のサンプルプロジェクト

さすがに上記だけだと各パーツの作り方はわからないので、

https://www.assetstore.unity3d.com/jp/#!/content/25468

上記のAsset Storeをダウンロードしてみましょう。

  • テキスト
  • ボタン
  • スライダー
  • ラジオボタン
  • セレクトボックス
  • フォーム
  • スクロール

といった基本的なUIパーツの使い方がわかります。

Controls.unityをみてみるのがオススメです。

逆引きuGUI

とりあえず作り方を知りたいときはこっちを読みます。

テキスト

テキストを表示する

テキストを表示させるのに、Canvas, CanvasScaler, RectTransform, CanvasRenderer, Textと、たくさんのコンポーネントを使わないといけなくて、結構大変です。

hiyotama.hatenablog.com

こちらで、一通り必要な操作がわかりやすくまとめられています。

テキストを一部装飾する

表示するだけでなく、装飾したいこともあるはずです。

全ての色を変えるのは簡単ですが、一部変えたいときもある。

docs.unity3d.com

そんなときは上記を読みます。

htmlタグのように<hoge>ほげ</hoge>と入力して部分的に装飾することができます。

ざっと現状(2015年1月)のサポート内容を以下に記しておきます。

  • b: 太字
  • i: イタリック
  • size: 大きさ
  • color: 色
  • material: マテリアル (上級)
  • quad: 画像を埋め込める (上級)

画像

画像を作る

画像を作る際もいくつか注意ポイントがあったり、

小さな画像は、適切な単位で1枚にまとめることで軽いアプリを提供できます。

下記を読むことで正しい画像の作り方を確認できます。

hiyotama.hatenablog.com

画像を表示する

画像の表示方法にもいろいろあります。

  • Simple: そのまま指定サイズに合わせて拡大縮小する
  • Sliced: 画像の端っこはそのままで中の画像だけ拡大縮小する(UIの背景パーツで便利)
  • Tiled: サイズに合わせて画像を繰り返してくれる
  • Filled: 画像の一部を表示してくれる

hiyotama.hatenablog.com

上記でそれが網羅的にまとめられています。

ボタン

ボタンを作る

ボタンは、

  • デフォルトで背景が画像
  • デフォルトでテキストが内側に表示
  • タップ(クリック)したり、ユーザーのアクションで画像や色が切り替わる
  • タップ(クリック)したときの処理を記述できる

と、できることがたくさんある機能です。それらを全て、以下でまとめてくれてます。

hiyotama.hatenablog.com

レイアウト

パーツの位置を調整する

最低限、デザイナーの想定通りの位置に調整できないと話にならないので

位置調整用のコンポーネント「RectTransform」の理解は必須です。

tsubakit1.hateblo.jp

基本は、

  • 中心点が「左上」なのか「中央」なのか、などを設定する
  • 中心点を基準にした座標で位置を調整する

ということがわかってれば済む話なのですが、初見だと何をすればいいかわからない人もいると思います。

この記事をみれば、RectTransformをどう使えばいいのかわかります。

複数の画面サイズでも違和感なく表示させる

チュートリアルで紹介したサイトのあるページに詳しくまとまっています。

www.metalbrage.com

これにCanvas Scalerコンポーネントの詳細が記載されていて、

これを理解すると、画面サイズが変わったときにどう拡大縮小されるか、

がわかります。

これとは別に、UIの配置の仕方が大事です。

docs.unity3d.com

これを読んで、Anchorを使うことの重要性が説かれています。

例えば、

  • 端っこのパーツは端っこを基準に(左上のパーツなら左上端、右中央なら右端)UIを置く

など、指針を決めて実装しましょう。 

アニメーション

アニメーションをつける

tsubakit1.hateblo.jp

汎用的には、以下を学べばある程度自由に制御できるようになります。

スライドイン・スライドアウトさせる

uGUIのAnchorsでレスポンシブアニメーション | SOU・COLLE

ある程度Unityなりゲームエンジンに慣れてる人はこれ見れば一発ですが、

慣れてない方にはキツイ気がします。
 

ラブライブっぽいUIをUnityとiTweenで作ってみる

こっちの方がiTweenを使ってスクリプト側で制御してるので、

プログラマーには簡単そうです。

フェードイン・フェードアウトさせる

プログラマーならiTweenを使うのが簡単です。

megumisoft.hatenablog.com

Canvas Groupを使う方法もあります。

kikikiroku.session.jp
 

エフェクト

輪郭を加える

Outlineというコンポーネントがあって、それを使うだけで外枠をつけられます。

baba-s.hatenablog.com

影をつける

Shadowというコンポーネントを使います。便利ですね。

baba-s.hatenablog.com

グラデーションをつける・色の合成(加算/乗算/減算etc)をする

デフォルトではない機能で、作った方がいるようです。

westhillapps.blog.jp

他の機能とのコラボレーション

パーティクルとUIを共存させる

これはあるあるですね。

http://anz-note.tumblr.com/post/96866870921/unityのugui使いつつパーティクル表示させたい-д-カッ

anz-note.tumblr.com

ImageEffectなるものを使ってみる

カメラ側で処理する際に、セピア色、とかInstagramのフィルタみたいなこと(ポストエフェクト、と呼ばれているようです)ができるようです。

qiita.com

以下の方が、検証してる種類数が多いです。

kikikiroku.session.jp

コンポーネントの解説

Canvas

www.metalbrage.com

Canvas Scaler

www.metalbrage.com

Canvas Group

docs.unity3d.com

Canvas Renderer

docs.unity3d.com

Rect Transform

spi8823.hatenablog.com

Text

  • 自動改行と禁則処理
  • 描画範囲
  • フォントがぼやける問題

の解説があります。

tsubakit1.hateblo.jp

Image

  • 画像がぼやける問題

の解説です。

kohki.hatenablog.jp

Raw Image

解説、というよりは使い道の一例として紹介。

qiita.com

Mask/Rect Mask 2D

同じく使い方の一例ですが・・

hiyotama.hatenablog.com

以下はRect Mask 2Dの使用例です。

tsubakit1.hateblo.jp

Slider

これも使用例で使い易そうだったのでリンク。

qiita.com

Toggle

hiyotama.hatenablog.com

Input Field

hiyotama.hatenablog.com

Sprite Packer

設定によって、Editorで毎回ビルドしてpackingすると重い、とかでハマることがあります。

docs.unity3d.com

おわりに

uGUIを学ぶ際のインデックスとして役に立てれば幸いです。

お名前.comでドメインの取得したらいろいろ意味不明だったのでまとめておく

ゲーム開発に集中できる環境の場合、

サーバーにお世話になることはあまりないかもしれませんが、

  • 1人 or 少人数で作ってる
  • サーバーを少しでも使うものを作ってる

場合は、サーバー借りてドメインを取得することもあるかもしれません。

本記事は、ドメインを取得したときにはまったことをまとめます。

個人的メモに近いですが、将来の自分が忘れてもこれを見ればいいように

まとめておきます。

そもそもドメインとは

みんなイメージはわかってると思いますが

こういうもんだよね、っていうのは以下がわかりやすいです。

ドメイン名のしくみ - JPNIC

ドメインを取得したいときは

何も考えずにこちらを使ってよいと思います。

xn--t8jx73hngb.com

ぐぐったら一番上にでたからです。そんな値段変わるようなものでもなさそうだし。

(筆者は真面目に比較検討するのが嫌いなので、深く考えず使ってます)

そして、左上の「ドメイン」メニューから「ドメイン登録」をクリック。

まじでUIわけわかめなので、このメモ重要。

(しかしこのUIはいつまでこのままなのか・・・)

f:id:mikan_daisuki:20151228175820p:plain

あとは導線に従っていけばよいはずなのですが、

わからなかったところを以下にまとめておきます。

ドメインを登録する、とはなんぞや

xn--t8jx73hngb.com

ドメインを登録する」をクリックするとこちらに飛ばされます。

なんか面白そうなやつがあったら使ってみてもよいと思います。

ぶっちゃけどっちでもいい、という人が多そうですが・・・

(ぼくもその一人です)

一方、デメリットを感じるかたもいて、ぼくもこれに共感します。

.xyzや.asiaなど安いドメインを取得する際の注意点やデメリット | ネットビジネスで副業や起業を成功させるためのブログ

 

勝手に複数ドメインを選択して登録しようとするんだけど・・・

ドメイン検索すると、勝手に以下のように複数選択した状態で表示されるので注意です。

f:id:mikan_daisuki:20151228191406p:plain

複数取得する必要がないなら、ちゃんと1つに絞って取得しましょう。

 

Whois情報公開代行ってなに?

ドメイン選択すると、申し込み確認で「 Whois情報公開代行」というチェックボックスが表示されます。

help.onamae.com

お名前.comさんのほうで名前を貸してくれるようです。

ちなみに「Whoisってなに?」については、こちらで確認できます。

jprs.jp

誰でもみれるスペースに名前を出すことになるようなので、

名前を貸してくれるのは、確かにありがたいですね。

これでおわりとおもいきや

上記を一通り確認すると、おそらくスムーズに取得完了できると思います。

ただ、取得するだけでおわりではありません。

取得したドメインレンタルサーバーを結びつける必要があります。

自分はさくらVPSを使っているので、以下を使って設定してみようと思います。

qiita.com