Libra Studio Log

開発に関することやゲーム、ガジェットなどについてつらつらと書き記しています

映画『ゴジラ-1.0』を見た

こんにちは、daihasedです。

毎度久々の投稿にはなってしまってますが、先日ゴジラ-1.0を見てきました。

元々自分は日本のゴジラ映画からゴジラ映画のファンになり、ハリウッド版も全て見てきました。 そんな自分が今回このゴジラ-1.0を見て思ったのが...

日本はエンターテイメントは1つ上の段階にあがったのでは、ということ。 ストーリーも今回海外での展開をそれなりに視野に入れていたのか、個人的にはシン・ゴジラより圧倒的にわかりやすく、それでいて飽きの来ない(多少展開の読める部分もありつつも)ものと なっていた印象でした。

詳しいストーリーなんかは色々ネット上で記事にされている方もいるので自分は割愛しますが、個人的に最も気になったのがCGのクオリティでした。 映画の最後にスタッフロールが流れるのですが、そこに「スクウェア・エニックス」の名前があったんですよね。 ググっても「ここはスクエニが手がけた部分」といったような記事も見つからず憶測でしかないのですが、もしかするとゴジラの動きや放射能を吐くシーン、爆発演出等々、 スクエニのお力添えがあったのかなぁ、と思ったり...。 明らかこれまで日本映画が見せるCGとかクオリティが桁違いだったんですよね。

海外向けのTrailerなんか見ても全くハリウッドに負けてないクオリティ...

www.youtube.com

あとさりげに映画タイトルのロゴもいいですよね〜 私の会社でも色々ロゴやデザインを手がけていることもあり、こういうのは参考になりますよね。

あとネタバレになるので詳細は省きますが、最後のシーンも気になる部分が... 昔からゴジラ映画を見てきた人は「むむ」っとなったのではないでしょうか。 ビオランテとかスペースゴジラ作品も今後出たりするんでしょうかね。 ちょっと日本のゴジラ映画が楽しみになってきました。ちゃんちゃん。

ゲーム「Horizon Zero Down」を購入

f:id:daihase:20220310182628p:plain

こんにちは、daihaseです。

これまためちゃくちゃ久々な投稿になっちゃいました...。 最近は事業の方も拡大し、色々忙しくなって中々開発に関わる記事など投稿することが出来ませんでした。 そんな中、ちょっと風変わりな投稿も交えていこうかなということで、今回初めてゲーム紹介に関することの投稿になります。

実は弊社ではゲームアプリを作っている経緯もあり、またパートナーのデザイナーさんによく資料としてゲームのUI/UXを見てもらい、業務で作成するアプリやWebコンテンツ制作に役立ってもらってたりもします。 結構ゲームなどのUIはアプリ制作においても参考になるようなデザインなども多く、他社さんと差別化図るためにも例えば同じiOS/Androidのアプリを作るにしても、こうしたPS4/5などのゲームのUIを参考にするのも非常にいいのかなと思うdahaseです。

さてはて、今回「Horizon Zero Down」というゲームを買って見たのですが、自分はプライベートではほとんどゲームをせず、最後にプレイしたのはFF12だったかと思います。 そんな状況で今回PS5で初めてHorizonを買ってプレイして見てびっくり。今ってこんなリアルで、ハイクオリティになってるんですね、ゲームって...。

ちなみに会社のPS5を繋いでいるモニターはDELLのALIENWARE AW2721D 27インチゲーミングモニターですが、こちらゲームを描画するのに非常に適したモニターとなっています。 PS5なので、240Hzリフレッシュレートはオーバースペック感が否めないですが(ゲーミングPCでの活用ならアリかもですね)

※実際のゲーム画面 f:id:daihase:20220310181001j:plain

f:id:daihase:20220310181004j:plain

(すごくないですかね、機械の細部まで見えるようだ...)

実はこのHorizonは既にPS5で最近続編のHorizon Forbidden Westというのが出てるんですよね。 ただ既存の超大作RPGなどと違ってまだ2作しか出ていないゲームなので、これからForbidden Westを買ってみよう、という方もまずZero Downから買って見てはいかがでしょうか?

それではよいゲームライフを〜

【PS4】Horizon Zero Dawn Complete Edition PlayStation®Hits

【PS4】Horizon Zero Dawn Complete Edition PlayStation®Hits

  • ソニー・インタラクティブエンタテインメント
Amazon

Go Moduleとgoenvを使った環境設定

f:id:daihase:20190809022658p:plain

こんにちは、daihaseです。およそ2年ぶりくらいの投稿です。 最近仕事が色々目まぐるしく変わっていて、更新する余裕がなかったので滞っていましたが、また少しずつやっていければと思います。

さて、本日はGo Moduleについて。 Go ModuleはGo1.13から導入されたGo言語公式の依存パッケージ管理ツールです。 そのため、かつての$GOPATH/src配下にプロジェクトを作らないといけないといった制約がなくなりました。 (よってここの記事は古い情報になりますのでご注意を...)

Go Moduleの仕組みやそれ自体の説明は他の方も書かれているので、ここではサクっと最新のGo環境を整えることをゴールとします。

goenvのインストール

Home brewの場合はこちら

$ brew install goenv

Gitの場合はこちら

$ git clone https://github.com/syndbg/goenv.git ~/.goenv

goenvのPATHを通す

$ echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.zshrc
$ echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(goenv init -)"' >> ~/.zshrc

追記した後は以下のコマンドでzshを更新します。

$ source ~/.zshrc  

また以下を入力してバージョンを確認しておきましょう。

goenv -v
goenv 2.0.0beta11

Goのインストール

次に以下のコマンドでGoをインストールします。 インストール可能なバージョンがリストで表示されるので、任意のバージョンをインストールしましょう。

goenv install -l
Available versions:
  1.2.2
  1.3.0
  1.3.1
  1.3.2
  1.3.3
  1.4.0
  1.4.1
...
..
.

 1.15beta1
 1.15rc2

バージョン番号を指定しインストールします。

$ goenv install 1.**.*

インストールが完了したら、以下コマンドでglobal設定を行います。

$goenv global 1.**.*

最後にちゃんと指定したバージョンになっているか確認します。

go version
go version go1.15 darwin/amd64

GOPATHなどの設定

go getでインストールするパッケージなどをディレクトリとしてGOPATHを設定する必要があるので追記しましょう。 上記で設定したgoenvのPATHと合わせて以下のようになっていれば問題ありません。

export GOPATH=$HOME/go
export GOENV_ROOT=$HOME/.goenv
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
export PATH="$GOROOT/bin:$PATH"
export PATH="$PATH:$GOPATH/bin"
export GO111MODULE=on // 1.13 以降は不要

※コメントにもありますが、環境変数$GO111MODULEに関してはモジュール対応モードがデフォルトで有効となります。

プロジェクトの作成

任意のディレクトリ上で以下を実行し初期化します。

go mod init github.com/${GITHUB_USER}/${PROJECT_NAME}

これでディレクトリ直下に go.modが作成されます。 (なお間違えたらこちらのファイルを削除し、go mod init からやり直せばOKです)

次にhello.goを作成し、以下のようなコードを書いてみます。

package main

import (
    "fmt"
    "rsc.io/quote"
)

func main() {
    fmt.Println(quote.Hello())
}

プロジェクトの実行

以下のコマンドで作成したコードを実行してみましょう。

go run hello.go
...
go: finding module for package rsc.io/quote
go: downloading rsc.io/quote v1.5.2
go: found rsc.io/quote in rsc.io/quote v1.5.2
go: downloading rsc.io/sampler v1.3.0
go: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c
Hello, world.

go runはコンパイル(go build) + 実行までを行うコマンドです。 ちゃんと Hello, world が表示されていますね。

※Go1.16以降はgo buildによるパッケージのインストールが廃止となっています。 go mod tidy or go get <パッケージ名>@<指定するバージョン> でインストールした後、 go build or go run を実行してください。

どうでしょうか、$GOPATH/src時代の開発に比べるとずいぶんシンプルになったかと思います。 それでは良い開発ライフを〜

GoでBasic認証を実装する

f:id:daihase:20190809022658p:plain

こんにちは、daihaseです。

久々のブログ記事です。今日はGolangを使ってBasic認証を実装してみます。Basic認証はご存知、ユーザー名パスワードを組み合わせた非常にシンプルな認証方式です。管理画面なんかでもよく見ますね。

こちら、Golangではnet/httpパッケージで簡単に実現出来ます。早速見てみましょう。

続きを読む

SwiftでTwitterとかにあるような「○○分前」といった表記を実現する

f:id:daihase:20190809100049p:plain

こんばんは、daihaseです。

タイトルにあるように「○○分前」「○○時間前」といったTwitterを始め、ユーザーの投稿一覧なんかを表示するアプリではおきまりの表記、こちらのSwiftでの実装方法を説明したいと思います。

まず日付となるとDateクラスですね。こちらを拡張したクラスを以下のように作ります。

続きを読む

GoでProtocol Buffersを使う

f:id:daihase:20190809022658p:plain

こんにちは、daihaseです。

今回はGoProtocol Buffersを使った記事を書きたいと思います。 まずProtocol Buffersですが、こちらはGoogleによって2008年に開発されたもので、一言でいうと言語やプラットフォームに依存せずに構造化されたデータをシリアライズ可能な仕組みといった感じでしょうか。

.protoというファイルに記載されたインターフェース定義言語(IDL) によって、クライアント/サーバーが共通で使用する構造を定義でき、これによってXMLやJSONと同じようにAPI通信の際に用いることが出来ます。

恐らく多くの方が使い慣れているJSONなどと比較してのメリットは、データサイズがとても小さいことや、軽量で高速、またプログラム上から簡単に使用出来るデータアクセスクラスを生成する、など色々ありますが、まずは簡単なサンプルにて使ってこちらを実感してみましょう。

続きを読む

軽量Webツールキット gorilla/mux

f:id:daihase:20190809022658p:plain

こんばんは、daihaseです。

今回は前回紹介したhttprouterのように軽量、それでいてAPI開発などをより楽にしてくれるWebツールキット、gorilla/muxを紹介したいと思います。

gorilla/muxには、Webアプリケーションのルーティング方法を制御するためのオプションが多数用意されており、主に以下のような機能をもっています。

続きを読む