ぽっかめろん

ゲームとかプログラミングとか

OneShotをmacOS上でプレイする(バイナリ版)

popkirby.hatenablog.com

先日こんな記事を公開しましたが、依存ライブラリを全て揃えてビルドするのは地獄です。

そんな地獄を回避するために、(比較的)簡単にインストールができるスクリプトを公開しました。

github.com

使い方

Win版データのダウンロード

通常のSteamクライアントからだとWindows用のゲームはインストールできないため、SteamCMDというスクリプトを利用します。

  1. https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz からSteamCMDをダウンロード、解凍
  2. ターミナル(/アプリケーション/ユーティリティ以下にある)を起動
  3. ターミナルのウィンドウに、解凍したフォルダの中にあるsteamcmd.shをドラッグ&ドロップし、Enterを入力
  4. 少し待つとSteam>と出てくるので、以下を順番に入力する:
    1. login (Steamのユーザー名) (パスワードやSteam Guardのコードが聞かれた場合、それも入力)
    2. @sSteamCmdForcePlatformType windows
    3. app_update 420530 validate

全て終わると、/Users//Library/Application Support/Steam/steamapps/common/OneShot以下にOneShotのWindows用アプリケーションがインストールされます。

Mac版バイナリのダウンロード

githubのレポジトリの右の「Clone or download」をクリックし、その中の「Download ZIP」をクリックするとダウンロードできます。

f:id:popkirby:20180224161009p:plain

Mac版バイナリのインストール

このバイナリを利用するためには、一部Windows用OneShotからデータを抽出する必要があります。

上記手順でダウンロードしたzipファイルを解凍後、以下の手順によって抽出とインストールができます:

  1. extract-image.commandをダブルクリック
  2. install.commandをダブルクリック


インストール完了後、OneShotがインストールされたフォルダが開かれます。Steam上からの起動は不可能なため、OneShotのアプリケーションをDockに登録するなどすることをお勧めします。

また、OneShotを起動する際には、Steamのクライアントが事前に起動していることが必要です。

トラブルシューティング

~.commandやインストールされたアプリケーションを開く際に「開発元が未確認〜」というエラーが出る

ダブルクリックの代わりに「右クリック->開く」を行ってください。

OneShotを起動するとUnable to open 'Data/xScripts.rxdata'というエラーが発生する

一度_______OneShotアプリケーションをSteamのOneShotディレクトリの外に移動し、両方を起動して終了したあと、再度SteamのOneShotディレクトリに戻すと上手く動きます。

OneShotをmacOS上でプレイする

OneShotをmacOS上でプレイする方法をメモしておきます。 良いゲームなのでみんな買おうね!

store.steampowered.com

以下の手順はネタバレを含む気もするので可能であればバイナリ公開を目指します。

ゲームのデータファイルのダウンロード

Steamで購入した後、SteamCMDなりwineなりを使ってゲームファイルをダウンロードし、$HOME/Library/Application Support/Steam/steamapps/common/OneShot以下に配置します。 SteamCMD - Valve Developer Community

ゲームエンジンのビルド

OneShotはmkxpというフリーのRPGツクールクローンを改造したものをエンジンとして採用しています。

github.com

さらに、ここからフォークしてmacOS上で起動できるようにしたフォークであるsynglechanceが存在します。

github.com

一方、synglechanceは一部のゲーム機能が動作せず、完全なプレイは不可能です。そこで、synglechanceからフォークしてそれらの機能を実装しました。

github.com

ビルド時の注意点としては、SDL_soundが特殊なものであること、Rubyにパッチを当てる必要があることです。この2つのライブラリのコンパイルは以下のコマンドで行えます:

$ make -f make-thirdparty.mak

残りの依存ライブラリはhomebrewなどを利用して入れることができます。その後、以下のコマンドを実行することでビルドが可能です:

$ ./make-oneshot-mac.sh

Journalのビルド

OneShotが正常に動作するためにはJournalも必要になります。こちらもオープンソースでの再実装(途中)が公開されているので、きちんと動作するようにフォークしました。

github.com

ここで、pip上のpyinstallerはpyqt5と相性が悪いので、修正バージョンをインストールする必要があります:

$ pip3 install https://github.com/bjones1/pyinstaller/archive/pyqt5_fix.zip

また、Journal用の画像を_______.exeから取り出す必要があるのですが、この実行ファイルはupxによって圧縮されているので、展開した後に抽出する必要があります。

$ brew install upx
$ upx -d _______.exe

展開後にResourcesExtractなどをwineで起動し、ビットマップをimagesディレクトリに抽出、pngに変換してからpyinstallerでバンドルにします。

www.nirsoft.net

$ python3 renameandconvert.py
$ pyinstaller journal.spec --onefile --windowed

出来上がった_______.appも$HOME/Library/Application Support/Steam/steamapps/common/OneShot以下に配置します。

あとはOneShot.appをダブルクリックすると起動します。

カラースキームを作ろう【アイドルマスター Advent Calendar 2017 5日目】

この記事はアイドルマスター Advent Calendar 5日目の記事となります。
adventar.org

はじめに

アイドルマスターというコンテンツは、いかに心の中で担当アイドルと向き合っていくかといっても過言ではないでしょう。
その結果から、各々のアイドルの持つ強み、つまり「特」をプロデュースしていくというものになります。

ところで、みなさんが普段から長時間向き合っているものとはなんでしょうか?
当然、パソコンの画面、特にプログラマの方々にとってはコンソールやエディタになると思います。

つまり、画面を彩る色、カラースキームというのは担当アイドルのようなものだと言えます。
そうなると、俄然カラースキームを自作しようという気持ちが湧いて来ますね。

とは言え、カラースキームの作成というものは面倒臭いものです。
そこで、本記事では、できるだけ簡単・お手軽にカラースキームを作成する方法について述べていきたいと思います。

色を選ぶ

カラースキームの作成ということで、当然色を選ばないことには何も始まりません。
選び方のオススメは、Material Designのカラーパレットから良さげなものを選ぶ方法です。
すでに良さげな色・濃度が羅列されており、何よりGoogleお墨付きの「見やすい色」なので、安心感があります。
Color - Style - Material Design

選ぶ色の数に関してですが、まずは基本となる背景色文字色ANSI Color Paletteの16色を決めておくと良いです。

そして、担当アイドルと睨めっこしながら色を選択していきます。これは可愛い緒方智絵里ちゃんの画像です。
f:id:popkirby:20171204153120p:plain:w240:leftf:id:popkirby:20171204154927p:plain:w240:left


背景色

明背景であれば濃度50、暗背景であれば濃度900あたりから選択するのが良いと思います。
特に暗背景については、Blue Grey 900を選択しておけば潰しが効くと思います。

文字色

明背景であれば濃度600-900、暗背景であれば濃度50-100あたりが妥当でしょう。

ここで、背景色・文字色のどちらかで担当アイドルっぽい色を選択しておくと、後の16色の選び方が比較的適当でもそれっぽい見た目になります。

例えば、緒方智絵里ちゃんを見ながら色を選択すると、

  • Blue Grey 900 + Light Green 100
  • Light Green 50 + Blue Gray 800

のようになります。それっぽいですね。

その他の色

その他の色に関しては、身もふたもないですが、適当な濃度から始めて試行錯誤するのが手っ取り早いと思います。
明背景では濃度800付近を、暗背景では濃度200付近を試していくと良いでしょう。

緒方智絵里ちゃんを見ながら選択すると以下の表のようになります。

明背景暗背景
BlackBlue Grey 700 Blue Gray 900
RedDeep Orange 600 Pink 200
GreenGreen 800 Green 200
YellowOrange 800 Orange 200
BlueBlue 800 Light Blue 200
MagentaPurple 800 Purple 200
CyanTeal 800 Teal 200

カラースキームにする

色を選んだ後は、実際にカラースキームとしてまとめることになります。ここは利用するソフトウェアによって異なるので詳しくは述べませんが、公開されているカラースキームから近しいものを選んで、色の部分を変更していくのが手っ取り早いです。

おわりに

実際に使用しているVimのカラースキームがこちらとなります。名前はchieryです。分かりやすいですね。
f:id:popkirby:20171204151620p:plain
f:id:popkirby:20171204151639p:plain


みなさんもどんどんカラースキームを作って公開しましょう。

6日目はcroMisaさんの「im@sparqlで読み取るアイドルちゃんのデータ」です。

智絵里中間を走った

f:id:popkirby:20170212231127p:plain

初めての上位報酬狙いだったので備忘録的にメモを残しておきます。 ひとまずリミテを回した後の初期状態は以下のような感じでした。

初期資産

  • LP1/6: 2551
  • スタ: 1669
  • スタハ: 935

開始前の戦力

4倍パワー

  • [夕焼けテレパシー]堀裕子(特訓前)

3倍パワー

やったこと

今回初めての上位狙いだったので含み損とかあまり気にせず、中間までパワー持ちを抱えようという覚悟を決めました。ボーダーを上手に予測する自信がありませんでした。

ボーダーの予測は最高6000万程度、おそらく5000万付近といったところでした。文香中間と前回の876で疲弊した人たちが多いんじゃないかということで、フォロワーの方は4000-4500万付近ではないかとおっしゃっていました。

新ツアーは特技が乗算でかかる+アクセサリーの効果が強いため、パワー持ちを並べてできるだけ特技が重なるようにする必要があります。

そのため、パワー持ちのうち全色特技である智絵里フレデリカライラ、CuPaで特技の乗りが良いユッコ、さらに直前のパーチケで引いたCG卯月を前に並べることにしました。

3日目のアクセ・メダルが揃った後にユッコ特訓前をスタ500、フレデリカ特訓後をスタ600、よしのん特訓前をスタ300、卯月をスタ100くらいで迎えました。

フロントは卯月以外パワー持ち、バクメンはパワーを持たない20-22コスです。

だいたいフルパン40k付近になったので、アイテムを使って目標値までフルパンします。簡単ですね。

最終的には残り118本になりましたが、ボーダーギリギリならもう500本くらい節約できたと思います。楽しい気分になって100位以内狙ってしまったからしょうがない。

中間終了後の資産

まとめ

  1. パワー持ちを揃えて
  2. アクセサリを揃えて
  3. フルパンする

簡単ですね!

感想

案外いけるのでどんどん走りましょう。自分はしばらくは安静にします。

文章のもちょらしさを測定してみる

ameblo.jp

もちょブログ、見てますか?

先日、謎サービスをとても適当な感じに実装したのですが、もう少し適当じゃない感じに何か実装できないかなと思い、今異常な流行を見せている機械学習のビッグウェーブに乗ってみることにしました。

端的に言うとCNNを用いた文章の分類です。

何でCNNなの

文章解析といえばRNNという感じもありますが、猫でも分かりそうな感じだったので人間でもわかるCNNで実装することにしました。
自然言語処理へのCNNの適用は案外例があって、[1]とかがそんな話をしてます。
ちなみにKerasでフィルタの大きさを可変にする方法がよくわからなかったのでフィルタサイズは固定してあります。

実装

だいたいexampleをコピペしました。
github.com

結果

f:id:popkirby:20161003213301p:plain

余談

[2]によると小さいデータセットならngramsの方が性能が出るらしいです。ただ2クラス分類なら何やってもそれなりの性能が出るようなので満足しておきます。

月末はやめた方がいいと思います

f:id:popkirby:20161001000216p:plain
f:id:popkirby:20161001000237p:plain

f:id:popkirby:20161001000141p:plain






やめた方がいいと思います

LINE にインターンしました

f:id:popkirby:20160902165851j:plain

インターンをしました。

概要

1ヶ月で40万円もらえます。
line-hr.jp

選考

応募→技術テスト→面接でした。技術テストで提出したのはこんな感じのものです。
github.com
github.com

前作った声優ブログの解析を少しいじって提出したりしたので(●・▽・●)終わりだよ〜かと思っていましたが、面接に通過してびっくりしました。面接ではバックエンドに興味があるみたいな話をしたと思います。
来年受かりたい人は声優ブログを題材にしたサービスを1つ作っておくことをお勧めします。

LINE内部の様子

ヒカリエの上の方にあります。

f:id:popkirby:20160830173352j:plain

キャラクターがたくさんいて可愛いです。

f:id:popkirby:20160902194716j:plain

あとはカフェがあって100円から120円で無限に糖分が摂取できます。キャラメルラテを頼み続けていました。

f:id:popkirby:20160816160439j:plain

綾鷹も無料で選べます。

f:id:popkirby:20160902175114j:plain

10円でコーヒーが無限に飲めます。カップを設置し忘れると全て虚無に消えていくので悲しい気持ちになります。

f:id:popkirby:20160808155850j:plain

やったこと

社内アプリケーションのUI作成のお手伝い + 新規で1つ作成しました。仕事でコーディングするのが初めてだったのでコードレビューなどがとても勉強になりました。

所属した部署が韓国の方・中国の方・フランスの方・タイの方という感じで東工大も真っ青なグローバル環境だったのが結構面白かったです。

感想

今まで家で寝ている人間だったので社会的な活動ができるか不安でしたが、1か月普通に仕事できたので安心しました。node.jsの本書いたマンや趣味がリバースエンジニアリングマン、OpenJDKのコミッター(こちらは福岡)などがいて強いなあと思っていたりしました。
あなたもLINEインターンに行って強みを得ましょう。