投稿

4月, 2020の投稿を表示しています

Webゲームについて

久しぶりのポスティングです。 僕はずいぶん長い期間ゲーム開発に努めましたが、そのプラットフォームは時代によって変わってきました。 学生の頃、ゲームと言えばゲームセンターのアケードゲームや家庭用コンソール、PCゲームが普通でした。 ネット環境が整えてからはPC基板のオンラインゲームが流行りました。 FacebookのようなSNSが流行ってからソーシャルゲームという新ジャンルが生まれ、ゲームのパラダイムが変わりました。 スマホが必須アイテムになった今の時期は断然モバイルゲームが主流であり、この流行りはしばらく続くでしょう。 (もちろん各プラットフォームは共に自分なりの生態界を構築してます) さて、モバイル時代を引き継ぐ次のメインプラットフォームは何になるでしょう? VR? 僕はWebゲームだと思います。 (ここで話してるWebゲームとは別途のインストールが必要なくブラウザー上で遊べるゲームを言います) Webゲームは実は結構長い歴史を持ってましたが、今まで主流になったことはないです。 僕がこれからWebゲームが流行ると予想している理由は幾つあります。 ブラウザーの性能が充分高い 昔はゲームを起動するために高性能PCが必要でした。派手な画像を処理するためには専用のGPUも必要し、その性能を存分に発揮するためのライブラリー支援も要りました。 その一方、ウェブサービスは汎用性が重要だったので、ブラウザーの性能はゲームに向いてなかったです。 でもウェブ技術は発展し続けて、色んなインタラクションができるように変わり続けてきました。 ついにウェブ上で使えるGraphic Library 「WebGL」が登場し、ブラウザーでも良い品質の描画ができるようになりました。 (その前 「 Flash 」がウェブ系を風靡した時期もありましたが、今はもうロストテクノロジーになってしまって…) そしてUnityエンジンが公式にWebGLを支援することで、既存のゲーム製作者も簡単にWebゲームを作れる環境ができました。 ハードウェアはどんどん良くなるし、今はカジュアルゲーム級クオリティならウェブ上で充分実現できます。 接近性が高い ブラウザーとURL住所さえ分かれば、どんな環境でもすぐ遊べることができます。コンソールを起動したり購入

Githubの無料プランでも個人リポジトリの共有アカウント制限無しに変更

イメージ
Githubについて以下のメールが届きました。 Github変更点に関するメール 色々変更点がありましたが、僕みたいな無料ユーザーが注目するところは個人リポジトリの全面無料化です。 今まで有料でしか利用できなかった個人リポジトリが、去年から共有アカウント5人制限で無料化されたことに続いて、これからは制限なしで全面的に無料化されました。 (個人的にはこれでGitlabを使う理由が完全になくなりました。) これが大企業M&Aの利点なのか ※ 元ブログから移転された記事です。

実践GCP ③:Google App Engineを使ってみよう

イメージ
GCPについて前回の記事はこちら 実践GCP ①:プロジェクトを始めよう 実践GCP ②:Serviceアカウントを設定しよう GCPを本格的に使える準備が整えました。 まずはGAEでサイトを復旧します。 その前に もし課金が有効化されてない場合は課金をアカウントを有効化する必要があります。 (GAEをデプロイする時必要です。) 下のURLから課金アカウントをプロジェクトにリンクします。 https://console.cloud.google.com/projectselector2/billing Google App Engineを開始する GAEを活性化するには2つの方法があります。 ダッシュボードのApp Engineタブからプロジェクト開始 コマンドラインでgcloud sdkからプロジェクト開始 僕はコマンドラインからプロジェクトを作ります。 まずSDKを更新しましょう > gcloud components update habanero2プロジェクトにApp Engineを初期化します。 > gcloud app create --project=habanero2 そこで地域を選択します。 (※地域は後で変更できません) 僕はTokyoであるnortheastを選択しました。 ハバネロのポータルがあるフォルダーに移動します。デプロイする前にapp.yamlを開いて設定を変えます。 設定の中に 「env : flex」 があったらフレキシブル環境になるので削除します。フレキシブル環境にすると 結構の費用が請求されます。 (プロジェクトをマイグレーションすることになった理由) スタンダード環境にする場合費用を決める要素はインスタンス利用時間だけて、1個のインスタンスのみであれば無料で使用できます。それ以外にもスタンダード環境の場合は使用可能言語の制限とか色々ありますが、本サイトはnode.js使っているし1つのサービスを運営するには充分です。 スタンダード環境とフレキシブル環境の違いはこちらで確認できます。 https://cloud.google.com/appengine/docs/the-appengine-environme

実践GCP ②:Serviceアカウントを設定しよう

イメージ
GCPの始めかたについて前回の続きを説明します。 前回はこちら↓ 実践GCP ①:プロジェクトを始めよう サービスアカウントキーを設定 GCPサービスのライブラリーなどを使用するためにはサービスアカウントキーが必要です。 まずGCPダッシュボードのサイドメニューで 「IAMと管理」 → 「サービス アカウント」 を選択します。 画面の上端にある 「サービス アカウントを作成」 メニューをタップしてアカウントを作成します。 適当な名前をつけて作成します。 続いてサービスアカウント権限でロールを選択します。僕は一人で作業するつもりですので、このアカウントに全ての権限をオーナーに設定します。 「Project」 → 「オーナー」を選択します。 次はキーを作ります。キーはクライアント開発でGCPライブラリーを使うために必ず必要です。 タイプをJSONにしてダウンロードします。保存したファイルは無くさないように注意してください。 これでアカウント作成は終わりました。完了してメニューに戻ったらさっき作ったアカウントができています。 次はさっきダウンロードしたキーをSDKで使えるような設定をします。 ターミナルを開き、「.zshrc」 にキーがあるパスを 「GOOGLE_APPLICATION_CREDENTIALS」 という名前にEXPORTします。 export GOOGLE_APPLICATION_CREDENTIALS="キーがあるパス" 僕の場合zshellを使ってます。他のシェルを使う場合それに合わせてプロフィールに追加してください。 ターミナルを再起動するとさっきの設定が適用されます。再度認証のため下のコマンドを実行します。 > gcloud auth application-default login yを押して続けるとブラウザーが開いてグーグルアカウントでログインします。アクセス警告が出ると 「許可」 を押して認証します。 ターミナルで完了メッセージが出れば成功です。 これでGCPサービスを使う準備がある程度整えました〜 次から既存のサービスを復旧していきたいと思います。 ※

実践GCP ①:プロジェクトを始めよう

イメージ
せっかくプロジェクトを再構成することになったので、GCPのプロジェクト生成プロセスを記録しておきたいと思います。 Googleアカウントを用意する 始めてGCPを使うことで300$クレジットがもらえるので、もし自分のアカウントでGCPを使ったことがあったら新しいアカウントを作るのがお得です。 Google Cloud Platform開始 下のURLからGCPの無料トライアルに登録します。 https://console.cloud.google.com/getting-started (途中で決済のためクレジットカードを登録しますが、無料トライアル中には決済されることはないので、安心して入れましょう。) プロジェクトを生成 無料トライアルに登録が終わるとダッシュボードに”My First Project”というプロジェクトがデフォルトで生成されています。そのまま使っても良いですが、名前が気に入らないので新しいプロジェクトを作ります。 ダッシュボードの 「My First Project」 部分をタップ プロジェクトの選択窓で 「新しいプロジェクト」 をタップ プロジェクトの名前は自由に付けられますが、プロジェクトIDはユニークです。このIDはドメインとしても使われるので、できれば綺麗な名前にしましょう (プロジェクトIDを指定しないと適当なIDになってしまうので、編集をタップして直接入力します。) 前回habaneroというIDは使ってしまったので、今回はhabanero2にしました。 しばらく待ってたらプロジェクト生成が完了します。 プロジェクトが生成されるとダッシュボードのタブでさっき作ったプロジェクトが選択できます。 (既存にあったMy First Projectは削除しても構いません。) 「Habanero Portal」 プロジェクトが選択できます。 CLOUD SDKを設置 google cloud sdkは下のURLからダウンロードできます。 https://cloud.google.com/sdk 自分のOSに合わせてSDKをダウンロードします。 (SDK設置方法は上記のページに親切に書いてありますので飛ばします。)

サイトが止まってしまった

イメージ
久しぶりにサイトを更新しようとしたら何故かエラーが出ました。しかもサイト接続もできなくなりました。 GCPダッシュボードには「無料評価版が終了しました」と警告が出てました。 え?もう終ってる? 無料評価版が終わるのは1年経つか無料コイン300ドルを使い切るかですが、まだプロジェクト開始して4ヶ月だしクレジットも今の設定なら300ドルがそんなに早く消費される訳がないと思ったので、何かの過ちがあるだろうと思いました。 結論から言うと300クレジットを使い切ったのが原因でした。それに費用は以外の部分で発生していました。 (メールをもっと早くチェックするべきでした) 1ヶ月当たりの費用: GAEコア使用料:約100ドル GAEメモリ使用料:約15ドル GCEストレージ費用:約5ドル 外部IP使用料:約90ドル(4月から有料転換) 一番驚いたのはGAE費用が高く策定されていることでした。原因は GAE設定を標準環境ではなく可変環境にしたこと でした。 GAE価格政策: https://cloud.google.com/appengine/pricing (GAEを開始するとき細かい設定を適当に飛ばしたのがこの惨事の主な原因でした。) 一応、 新しいアカウントでプロジェクトをやり直す 方向で考えています。 (ドメインが変わるのが面倒ですが仕方ない) 今後は無料ティアの費用を超えないように心かけて計画立てようとしてます。 あと、これから外部IPを使うにも相当の金額がかかりそうなので、対策を考えないといけないです。 (ロードバランサなどを使うと外部IP無しで接続できそうなので調査が必要) 今回習った教訓は 無料クレジットで消費された分は決済ダッシュボードの概要には表示されない (決済の取引タブで詳細を見ると実際の内訳が表示されます。) GCPサービスを開始するときは設定をちゃんと確認すること (一回始めてしまうと途中変更が難しいです。) サービスが止まる前に警告メールが来るので常にメールを確認しよう です。 ※ 元ブログから移転された記事です。