【開発者向け】Instagramに関する記事まとめ
努力と収入はあまり相関がない
介護のコストをだれが支払うべきか
ぼくは退職金をもらえないので退職します
バズっているので乗っかってみました。
みんなは「退職金」って知ってるかな。会社に長く勤めているともらえるお金のことだよ。その額はときとして数千万円にのぼる幻のビックマネーだ。
ぼくの勤める会社では、退職金はでません。
だいじなことなので、もう一度言います。
ぼくの勤める会社では、退職金はでません!!!!!
・・・それはさておき。
会社を辞めることになりました
ゲームを作っていましたが、3月で辞めることにしました。
会社を辞めるというのはけっこう大変なもので、いろんな人と話したり、引き継ぎ進めたり、上司にパスしたボールが返ってくるを待っても返ってこなかったりして、どうなってるかツッコミ入れたりして、
気づけば1ヶ月以上、経ってしまいました。
これから辞めて、有給消化して、としていると春になってしまうわけです。
「あまり会社を転々とするものじゃないな」
としみじみ感じました。
そういう意味では、「石の上にも三年」てのは、悪くない言葉です。
今いる会社で、楽しんで仕事できてますか?
退職金なんてどうでもいいのですが、一番大事なのは、「仕事楽しい?」って聞かれたときに、ハッキリと「楽しい」と言える、ないしは思えるかどうか、だと思っています。
不満があったとしても、それは別に問題ではないです。不満があっても、「改善していこう」と思えれば、楽しんで働くことができます。
逆に、「もうどうしようもないな・・・」とか、「今日も会社いきたくないな・・・」とか、なにかしら「諦め」の気持ちが生まれているのだとしたら、黄色信号です。
勇気を出して、外の会社を知る努力をしてもよいのではないでしょうか。
ぼくも、ある程度「これはもうキツイなー・・・」という気持ちが生まれたことがきっかけで、転職活動を始めました。転職活動は、もちろん転職を決めたら辞める必要がありますが、在籍したまま活動できるので、気楽なものです。活動した結果として辞めなかったとしても、それが悪いことだとはぼくは思いません。たとえ、今の会社にいて、ちょっとくらい面白くないな、と思っていたとしても、もともとは好きでその会社を選んで入ったのですから。
本ブログは、ゲームプログラマーの日記じゃなくなります
こちらが本題なのですが、実は、次の職場はゲーム業界ではありません。ずっとゲームを作っていたのですが、違う領域で働いてみたかった、と思っていて、いい機会があったので出てみることにしました。
なので、このブログは「ゲームプログラマーの日記」と称していたのですが、4月からはゲームプログラマーではなくなり、たぶんサーバーエンジニアか、Android/iOSエンジニアか、何者かの日記になっていることでしょう。
もし、自分のゲーム開発関連の記事を定期的に読んでくれている方がいたら、本当に申し訳ないです。
まとめ
- 今の会社にいるのもよいけど、仕事がずっと楽しめない状況なんだったら、とりあえず転職活動してみよう
- でも、辞めたり入ったりするのは時間かかる。やたら転々とするのはよくない。
- このブログはゲームプログラマーの日記じゃなくなります。ゴメンナサイ。
ということで、ひきつづき、お付き合いよろしくお願いします。
【異業種を学ぶ】自動車メーカーの新車開発について調べてみた
ぼくはWebサービス作ったあとにゲーム作る、というキャリアを歩んでるのですが、
ゲームを作ってると
「時間かかるなー」とか、
「要素がいろいろあって大変だなー」とか
思ったりします。より複雑なものを作っているなー、という感覚があります。
でも最近、スターウォーズの最新作見たら、スタッフリストの多さにびっくりしたんですよね。
ぼくの所属するチームは40-50人程度だけど、500人くらいいるんじゃないか、って。
よく考えてみると「Webの世界が特殊なのかも」と思ったので、
比較対象を増やすために異業種について調べていこうかな、と思って始めました。
今回は【自動車メーカー】です。
そもそもの、車の作り方
(2/14: 11:00 修正・加筆しました)
子供や学生向け?に、メーカーのホームページがよくまとまってます。
しかし、工程がいろいろあって、かなり情熱がないと読み通せないです・・
もうちょっと探してみると、以下のページが見つかりました。
ざっくり工程を理解するには十分そうです。
上記によると、
- クルマの工程は大きく3つの工程に分けられる
- 開発
- 生産技術
- 生産
- 開発のプロセスは以下の工程がある
- 企画:ビジョン、コンセプトを決める
- デザイン:インテリア、ボディのデザインを決める
- 設計:技術的な課題をクリアして図面化する
- 試作・評価:アウトプットのチェックや、シミュレーションや実験で性能評価
- 生産技術のプロセスは以下の工程がある
- 生産性検討:作りたいもののコストや効率性を検討する
- 工程計画>設備詳細検討>設備調達:生産計画を立てて、設備の準備をする
- 設備トライ>品質確認>量産化:設備が想定通りか検証し、必要に応じて調整する
- 生産のプロセスは以下の工程がある
- プレス:鋼板を加工して部品を作る
- ボデー:鋼板から作った部品をくっつける
- 塗装:くっつけたボデーに塗装する
- 樹脂形成:バンパーやインストルメントパネルを作製する
- 組立:エンジン・タイヤなど、あらゆる部品を本格的に組み合わせる
- 検査:性能を検証する
ということがわかります。
読んでいて、
生産設備を作るプロセスが明確になっている
というのが興味深かったです。
関わったスマホゲームで、運用に入ってから毎週のように追加コンテンツを入れるときに、
効率よく安全に追加できるか、ということの検討が不十分なせいで苦戦したので
開発環境を整えるプロセスを導入したほうがいいなーとおもいました。
新車が世に出るまでには、5-6年もかかる
開発期間について調べていたら、以下の記事が見つかりました。
この記事を読むと
- チーフエンジニアって人がリーダー的存在らしい
- 新車開発は、経営会議から始まる
- 中長期戦略の文脈で議論され、ポートフォリオや販売地域など、あらゆる経営観点を考慮した上で、新車の方向性が決定される
- 開発期間は経営会議から世に出るまでで5-6年
- 開発コストは300-1000億
- 1年で60-200億。
- 100人プロジェクトと仮定しても1000万/年*100人=10億/年
- 数百人程度関わっている?
といったことがわかります。
世に出るまで5-6年かかるってすごい・・・。
ブラウザゲームの時は4-6ヶ月くらいで世に出ていて、
アプリゲームの時は1-2年かかっていて、それでも長いと感じていたので、
自分が車作りに関わってたら遅くて耐えられないかもしません・・・
数百人も1つの車に関わってるとすると、プロジェクトを大きく左右するような論点は、確実に一部のリーダー層で議論され、決められてしまうでしょうね。
40-50人でもかなりやりづらさが出るので、一定つまらなくなってしまうのは、どうしようもないかもしれません。
それぞれの専門分野を極めることに面白みを見出していく、というのがチームメンバーとしての正しい姿勢になってくるかもな、と感じました。
新車の開発責任者になるまでに、20~30年くらいかかる
エンジニアのキャリアについても調べてみました。
この記事によると、
- 初代クラウンが誕生したのは1955年
- 2012年12月、14代目クラウンがフルモデルチェンジを果たした (世に出た?)
- チーフマネージャーの山本さんは1982年にトヨタ入社、2005年に初めてチーフエンジニアになった (40代半ばから後半で初めて責任者になったことになる)
- 記事にはいつチーフエンジニアに初めてなったか記載がなかったので以下のデータを元にした
-
http://newsroom.toyota.co.jp/pages/materials/20140401/pdf/jp/68_takashi_yamamoto.pdf
ということがわかります。
ぼくのような20代は、これだと完全に下っ端扱いになってそうですね・・・
周囲では、20代でプロデューサーになってたり責任者と言われるポジションについているメンバーが多くいるので
全然違う世界なんだな、という印象でした。
まとめ
スマホゲームと比べると、自動車の世界は圧倒的に大規模でした。
(期間もコストも、下積みも)
同じモノづくりとして比べたときに、1,2年で世に出るなら、ちょー早い、ってことですね。
あせらずじっくり、作りたいモノと向き合っていこうとおもいました。まる。
uGUI (UnityのUI機能) の使い方まとめ
はじめに
今更ながらuGUIを使うようになったので、
スムーズに開発できるように、使い方をまとめておこうと思います。
といっても、まとめてくれているサイトや記事がいっぱいあるので
リンク集に近いものをまとめます。
- ざっくりどんなもんなのか
- 逆引きでの使用例
- 各コンポーネントの解説
をまとめると使いやすいかも、ということで。
uGUI入門
uGUIとは
そもそも、UnityではUI機能のことをuGUIとは呼んでいません。
Unity4.6から提供された、UI機能のことを周辺の界隈の人たちが"uGUI"と呼んでいるようです。
由来は調べてみましたがわかりませんでした。Unity GUIとか?
チュートリアル
これを順番に読んでいけば入門はOK、というすばらしい内容です。
公式ドキュメントにはあまり良いものがなさそうなのでこれを読みましょう。
公式のサンプルプロジェクト
さすがに上記だけだと各パーツの作り方はわからないので、
https://www.assetstore.unity3d.com/jp/#!/content/25468
上記のAsset Storeをダウンロードしてみましょう。
- テキスト
- ボタン
- スライダー
- ラジオボタン
- セレクトボックス
- フォーム
- スクロール
といった基本的なUIパーツの使い方がわかります。
Controls.unityをみてみるのがオススメです。
逆引きuGUI
とりあえず作り方を知りたいときはこっちを読みます。
テキスト
テキストを表示する
テキストを表示させるのに、Canvas, CanvasScaler, RectTransform, CanvasRenderer, Textと、たくさんのコンポーネントを使わないといけなくて、結構大変です。
こちらで、一通り必要な操作がわかりやすくまとめられています。
テキストを一部装飾する
表示するだけでなく、装飾したいこともあるはずです。
全ての色を変えるのは簡単ですが、一部変えたいときもある。
そんなときは上記を読みます。
htmlタグのように<hoge>ほげ</hoge>と入力して部分的に装飾することができます。
ざっと現状(2015年1月)のサポート内容を以下に記しておきます。
- b: 太字
- i: イタリック
- size: 大きさ
- color: 色
- material: マテリアル (上級)
- quad: 画像を埋め込める (上級)
画像
画像を作る
画像を作る際もいくつか注意ポイントがあったり、
小さな画像は、適切な単位で1枚にまとめることで軽いアプリを提供できます。
下記を読むことで正しい画像の作り方を確認できます。
画像を表示する
画像の表示方法にもいろいろあります。
- Simple: そのまま指定サイズに合わせて拡大縮小する
- Sliced: 画像の端っこはそのままで中の画像だけ拡大縮小する(UIの背景パーツで便利)
- Tiled: サイズに合わせて画像を繰り返してくれる
- Filled: 画像の一部を表示してくれる
上記でそれが網羅的にまとめられています。
ボタン
ボタンを作る
ボタンは、
- デフォルトで背景が画像
- デフォルトでテキストが内側に表示
- タップ(クリック)したり、ユーザーのアクションで画像や色が切り替わる
- タップ(クリック)したときの処理を記述できる
と、できることがたくさんある機能です。それらを全て、以下でまとめてくれてます。
レイアウト
パーツの位置を調整する
最低限、デザイナーの想定通りの位置に調整できないと話にならないので
位置調整用のコンポーネント「RectTransform」の理解は必須です。
基本は、
- 中心点が「左上」なのか「中央」なのか、などを設定する
- 中心点を基準にした座標で位置を調整する
ということがわかってれば済む話なのですが、初見だと何をすればいいかわからない人もいると思います。
この記事をみれば、RectTransformをどう使えばいいのかわかります。
複数の画面サイズでも違和感なく表示させる
チュートリアルで紹介したサイトのあるページに詳しくまとまっています。
これにCanvas Scalerコンポーネントの詳細が記載されていて、
これを理解すると、画面サイズが変わったときにどう拡大縮小されるか、
がわかります。
これとは別に、UIの配置の仕方が大事です。
これを読んで、Anchorを使うことの重要性が説かれています。
例えば、
- 端っこのパーツは端っこを基準に(左上のパーツなら左上端、右中央なら右端)UIを置く
など、指針を決めて実装しましょう。
アニメーション
アニメーションをつける
汎用的には、以下を学べばある程度自由に制御できるようになります。
スライドイン・スライドアウトさせる
uGUIのAnchorsでレスポンシブアニメーション | SOU・COLLE
ある程度Unityなりゲームエンジンに慣れてる人はこれ見れば一発ですが、
慣れてない方にはキツイ気がします。
こっちの方がiTweenを使ってスクリプト側で制御してるので、
プログラマーには簡単そうです。
フェードイン・フェードアウトさせる
プログラマーならiTweenを使うのが簡単です。
Canvas Groupを使う方法もあります。
エフェクト
輪郭を加える
Outlineというコンポーネントがあって、それを使うだけで外枠をつけられます。
影をつける
Shadowというコンポーネントを使います。便利ですね。
グラデーションをつける・色の合成(加算/乗算/減算etc)をする
デフォルトではない機能で、作った方がいるようです。
他の機能とのコラボレーション
パーティクルとUIを共存させる
これはあるあるですね。
ImageEffectなるものを使ってみる
カメラ側で処理する際に、セピア色、とかInstagramのフィルタみたいなこと(ポストエフェクト、と呼ばれているようです)ができるようです。
以下の方が、検証してる種類数が多いです。
各コンポーネントの解説
Canvas
Canvas Scaler
Canvas Group
Canvas Renderer
Rect Transform
Text
- 自動改行と禁則処理
- 描画範囲
- フォントがぼやける問題
の解説があります。
Image
- 画像がぼやける問題
の解説です。
Raw Image
解説、というよりは使い道の一例として紹介。
Mask/Rect Mask 2D
同じく使い方の一例ですが・・
以下はRect Mask 2Dの使用例です。
Slider
これも使用例で使い易そうだったのでリンク。
Toggle
Input Field
Sprite Packer
設定によって、Editorで毎回ビルドしてpackingすると重い、とかでハマることがあります。
おわりに
uGUIを学ぶ際のインデックスとして役に立てれば幸いです。
お名前.comでドメインの取得したらいろいろ意味不明だったのでまとめておく
ゲーム開発に集中できる環境の場合、
サーバーにお世話になることはあまりないかもしれませんが、
- 1人 or 少人数で作ってる
- サーバーを少しでも使うものを作ってる
場合は、サーバー借りてドメインを取得することもあるかもしれません。
本記事は、ドメインを取得したときにはまったことをまとめます。
個人的メモに近いですが、将来の自分が忘れてもこれを見ればいいように
まとめておきます。
そもそもドメインとは
みんなイメージはわかってると思いますが
こういうもんだよね、っていうのは以下がわかりやすいです。
ドメインを取得したいときは
何も考えずにこちらを使ってよいと思います。
ぐぐったら一番上にでたからです。そんな値段変わるようなものでもなさそうだし。
(筆者は真面目に比較検討するのが嫌いなので、深く考えず使ってます)
そして、左上の「ドメイン」メニューから「ドメイン登録」をクリック。
まじでUIわけわかめなので、このメモ重要。
(しかしこのUIはいつまでこのままなのか・・・)
あとは導線に従っていけばよいはずなのですが、
わからなかったところを以下にまとめておきます。
新ドメインを登録する、とはなんぞや
「新ドメインを登録する」をクリックするとこちらに飛ばされます。
なんか面白そうなやつがあったら使ってみてもよいと思います。
ぶっちゃけどっちでもいい、という人が多そうですが・・・
(ぼくもその一人です)
一方、デメリットを感じるかたもいて、ぼくもこれに共感します。
.xyzや.asiaなど安いドメインを取得する際の注意点やデメリット | ネットビジネスで副業や起業を成功させるためのブログ
勝手に複数のドメインを選択して登録しようとするんだけど・・・
ドメイン検索すると、勝手に以下のように複数選択した状態で表示されるので注意です。
複数取得する必要がないなら、ちゃんと1つに絞って取得しましょう。
Whois情報公開代行ってなに?
ドメイン選択すると、申し込み確認で「 Whois情報公開代行」というチェックボックスが表示されます。
お名前.comさんのほうで名前を貸してくれるようです。
ちなみに「Whoisってなに?」については、こちらで確認できます。
誰でもみれるスペースに名前を出すことになるようなので、
名前を貸してくれるのは、確かにありがたいですね。
これでおわりとおもいきや
上記を一通り確認すると、おそらくスムーズに取得完了できると思います。
ただ、取得するだけでおわりではありません。
取得したドメインとレンタルサーバーを結びつける必要があります。
自分はさくらVPSを使っているので、以下を使って設定してみようと思います。