2019年9月23日月曜日

ドワゴンクエストウォークをやってみたメモ

ローンチ日(2019.9.12)からプレイ開始。
プロフはこんな感じです。
※低画質モードでプレイしているのでややボヤけている
約12日間プレイして63799歩しか歩いていないのか...運動不足ですね。

【アバターについて】
見た目が女の子、中身はおっさん。
ストーリー等はオールスキップで読んでないです。ソシャゲのストーリーなんて飾りですよ。他のソシャゲでも、石を貰うために読んでそしてスキップ。要するに感情移入とかそういうのは一切無いので、それならフレンド登録の成約率が高いネカマとしてプレイした方が良いんじゃないかなということで。(だから、装備品も性能よりも見た目重視。ガチの戦闘要員は他ユーザに見られない2人目以降の仲間。)

【課金要素について】
売上が1週間で40億ぐらいらしい。(※ソース無し)
確かピーク時のパズドラでも1週間で30億ぐらいだったと思うので、かなり高い。
なので、「一生遊べる」という謳い文句で登場して、半年でサービス終了したあのゲームと同じ末路をたどることは無さそうです。(カゲロウでも1年生きるので、カゲロウよりも短い一生でしたね...)
課金要素は2つあって、
・ゴールドパス ... 今の所ゴミ(上限が低すぎる割に値段が高いのでコスパが悪い印象)
・そうびガチャ ... 言うまでもなくコレが稼ぎ頭(のハズ)
ゲームバランスが絶妙なので、結構良心的だと思いました。
今の所完全無課金でプレイしてます。
良い感じに集金できた後で良いので、タクトが3000円で買えるデレステのスカチケ的なヤツが実装されたら多分課金する。

【ゲームバランス】
4章序盤までプレイしてみた感じでは中々良いです。
ひかりのタクト(蘇生と全体回復がある現時点で最も壊れ性能の武器)が有ればヌルゲーだったかもしれませんが、無くても策を練れば普通に越せるバランス感。4章までは寧ろ無い方が楽しめそう。実際☆4の武器はやしゃのこんと雷神の槍というやや残念なスペックのヤツだけでなんとかなりました。
メイン職業は、
・戦士×2(メイン火力...なので☆4武器が2本は欲しい)
・僧侶×2(回復とスカラによる補助要員)
※僧侶はときどき(レベリング時に)武道家になる
という構成で、僧侶には適当にmpが回復する棒を与えておけばOK。
レベル20から永続ステータスの項目があるので、1人だけ転職とレベリングを繰り返して全職業20を目指していますが、現時点の職業バリエーションだと労力比で得られる効果がやや残念かもしれないので、メイン職業だけ育てているのが吉かも。

【歩き要素】
プレイ初期の頃はそこそこ歩いていたのですが、ストーリー3章以降は結構手応えがあるというか、腰を据えてプレイしないと死ぬので、外でプレイできません。
なので、
(1) 自宅から喫茶店やレストランに目的地設定
(2) 喫茶店やレストランでプレイ
(3) 攻略後、自宅に目的地設定
(4) 自宅でプレイ
の繰り返しです。
オートで攻略可能な戦闘 or 戦闘なしのイベントなら、そのパターンでなくても大丈夫ですが、ウォークモードを解除する必要があり、解除すると自動スリープで勝手に止まってしまうので、そこそこ操作が必要です。要するに歩きスマホせざるを得ない仕様だから、少し危ないです。(だから、外ではウォークモードで完全放置できるレベリングぐらいしかやらないようにしています...人通りがほぼ無い夜中なら割と安全に外でプレイできますが、それだと別の意味で危ない)

外で必要な操作は「チェックポイントに近づいてタップ」ぐらいにしておき、その他の操作はすべて自宅等で完結するぐらいの仕様であって欲しかった。(ドラクエウォークは恐らくそのレベルの仕様変更は無いと思うので、次の位置ゲーに期待)

【レイドバトル】
近所で開催されてはいるのですが、外での操作が必要だろうから億劫になってました。
そこで今日(レベル30超えてる状態で)始めてレイドに参加してみました。
推奨レベルは余裕で超えていますが、安全のため日が落ちてから近所の公園(レイド開催地)へ行き、公園の周辺を只管ぐるぐる回ってプレイ。
これはアカン...
レイド参加者が少なかったというのもありますが、完全に歩きスマホしないとプレイできない。(かといって夜の公園のベンチでプレイするのはちょっとなぁ...という感じ。徘徊するのも結構アレですが)
レイド開催地がドトールやベローチェあたりじゃないと今後の参加はキツい。

【総評】
概ね面白いですが、位置ゲーであることの意義とドラクエブランドが微妙に噛み合っていない感。もうちょっと位置ゲーにウェイトを置いたゲームデザインにしても良かった気がする。

2019年9月8日日曜日

Findyをエンジニアの人事評価に使えないか?という話

テック系の企業では、エンジニアのスキル評価を人事評価に組み入れる必要がありますが、技術面に疎いであろうコーポレート部門でエンジニアのスキル評価をするのは、中々難儀なことだろうと想像できます。

シンプルに、
・携わったサービスがバズったら高く評価
・イマイチなら低く評価
という風に評価してしまうのは、良くないです。(経営者やマネジメント的なポジションの人ならそれで良いのですが)

例えば、技術力が無茶苦茶高いエンジニアが、社長命令で企画面がイマイチなプロジェクトに配属され、サービスの顧客評価&売上がイマイチだった時、その原因が「エンジニアの技術力が低いため」と評価して良い筈がありません。

エンジニアの評価は、
・業績面での評価
・スキル面での評価
で分けて考えるべきだと思います。

業績面での評価は、売上やプロジェクトの進捗結果(納期未達があったか?とか)などである程度は定量的に測ることができます。

しかし、スキル面での評価はすごく難しい。

スキル面に疎いであろうコーポレート部門ではなく、エンジニア部門内で評価する事すら難しいと思っています。

ふわっとした感覚値として「Aさんはスキルが高い」「Bさんのスキルは微妙」みたいな評価ならできますが、「彼らが前期と比べてスキルが向上したか?」といった評価ができるかというと、多分(エンジニア部門でも)できる人は殆ど居ないと思われます。

そうなると、マネージャがエンジニアにヒアリングして、自己申告ベースでの証言に頼ってスキル評価をするしかない訳ですが、そうなると何かしら恣意的な操作をされて評価が正当に行われない可能性が生じます。私はその事象のことを「評価がふわつく」と呼んでいる)

独立行政法人IPAでは、そういったエンジニアのスキル評価がふわふわしている課題を解決すべく、スキル評価基準の標準化(ITSS)を多分10数年ぐらい前から進めていましたが、恐らく上手くいっていません。以前、ITSSを取り入れた職場(某大企業)で働いていたことがあるのですが、ITSSのレベル進行は各人で勝手に決めてはいけなくて、上司に「鈴木くん、来期からレベル4に上げといて」と言われたら、言われるがままレベル4になるように各種パラメタ調整をする感じのものでした。(やるだけ時間の無駄だったし、明らかに私よりスキルレベルが低い上司が私よりハイレベルな設定になっていたりすると、物凄くモヤッとした気分になる)

要するに、スキル評価の仕組みをシステムとして成り立たせることは実質不可能ではないか?と以前から思っていました。

しかし、以下のFindyというサービスを使えば、定量的なスキル評価ができるかもしれません。
https://findy-code.io/

(参考記事)

GitHubをAIで解析して“スキル偏差値”算出、エンジニアのキャリア選びを支援するFindyが2億円調達

https://jp.techcrunch.com/2019/06/05/findy-fundraising/

要するに、エンジニアの成果物(GitHubの作業履歴)を元にAIが良い感じにスキルを偏差値として採点してくれるもののようです。

試しに私のスキル偏差値も判定してみました。
ん?スキル偏差値85って...高すぎないか?(自分がそこまでレベルが高いと思っていないので、自己評価だったら絶対につけない点数ですが、AIによる公平な判定だから仕方がない)

スキル偏差値の年収分布は以下のような感じらしいです。
参考までに、私の前職(ドワンゴ)の年収はだいたい700万円だったので、偏差値65あたりが妥当ライン or 会社からの評価査定結果が微妙だった(市場価値より低く評価された)と考えられますが、業績評価込みなら(担当サービスがまだサービスインしてなかった & 全社的な状況を鑑みて)概ね妥当なラインだったかもしれません。現職の年収は色々と特殊な事情があって若干低い(400万円ぐらい)ですが。

スキル偏差値の判定はAIの学習が進むなり、サンプリング対象の拡大が進んでいけば(=利用者が増えれば)更に良い感じになるかもしれません。
その上で偏差値85だったら、何処か年収1200万円で良いので雇ってくれないですかねw

今の所、Public Repository(OSS)で活動している人限定ですが、Private RepositoryやGitHub Enterpriseとかで連携できれば、普通に人事評価ツールとして使えると思います。
ただ、個人的には今のまま(Public Repository限定)の方が良いと思っていたりします。Privateな評価だと社内の人事評価でしか役立たないけど、Publicなら就職、転職、作業外注の受け入れ審査などのシーンでも使える事に加え、社外のエンジニアとの比較調査にもなると思うので。(評価のオープン化みたいな...そういう言い方をすると少し抵抗がある人が居るかもしれませんが、例えば英語ができる作業外注を探す時、「TOEIC900点以上の人」みたいな感じで探すと思いますが、それと同じようなノリで「Androidの仕事ができる人が欲しいから、Kotlin偏差値70以上の人」みたいな探し方ができるようになるというイメージで考えれば、ごく自然なことではないでしょうか)
もちろん、OSS活動にかまけて社内業務が疎かになってはいけませんが。
ただ、OSS活動にウェイトを置いた方が、世界が面白いことになる可能性が高い気がする。

追記: 最初、職歴入力しない状態でどれぐらいのオファーが来るものかと思ったけど、あまり来なくて、職歴を入力してみたらおおよそ年収700〜1200万円前後のオファーがチラホラ来るようになったので、転職用途としてはスキル偏差値は飽くまで目安で、基本職歴の方が重視される感じらしい。(東大を出てても職歴10年過ぎればその辺がほぼほぼ評価の対象にならないのと同じかなと)

2019年8月29日木曜日

Z80エミュレータを作り始めた件

8bit時代のマイコンCPUには、大きく3つの源流がありました。

(1) MC6800
(2) MOS6502
(3) Intel 8080

MOS6502はかなりシンプルで、個人的には上記の中で一番気に入っています。
MC6800はMOS6502よりも更にシンプルですが、インデックスレジスタが1つしかないので、プログラムのを組むのにやや不便だと考えられます。
6502の良いところは、6800ほどシンプル過ぎず、8080ほど不雑過ぎない絶妙なバランス加減です。

個人的に8080はフルアセ(特にハンドアセンブル)でプログラムを組むのがやや大変(命令を2進数で覚える必要があるので覚えにくい)です。まぁ、ハンドアセンブルなんかせずアセンブラを使えば良い訳ですが。

Intel8080(808xシリーズ)は、レジスタが沢山あり、さらにペアレジスタという概念のお陰で16bit演算が割と簡単にできます(他の8bit CPUでの16bit演算はキャリーを使って計算する必要があるのでやや面倒です)。演算といっても足し算、引き算だけ(掛け算と割り算はない)ですが。なお、論理演算は8080でも8bitです。

そんな優れた8080ですが、8bitマイコンで主に使われたのは8080上位互換CPUのZilog Z80です。Z80(※互換製品を含む)を採用したコンピュータとして、有名どころとしては以下のものがあります。

【PC】
・MSX
・Sharp X1
・NEC PC-6001〜PC-8801(※88VAは除く)
【ゲーム機】
・任天堂 ゲームボーイ
・SEGA SG-1000〜マスターシステム
・SEGA メガドライブ(※サブCPU)
・SEGA ゲームギア
・SNK ネオジオ(※サブCPU)
【その他】
・パチンコの抽選制御部分(現在でもZ80らしい)
・TI73シリーズ(日本では知名度が低いが)

上記は、パッと調べて出てきたもので、調べればまだまだあるでしょう。
これだけ沢山使われている(現代でも使われている)CPUだから、さぞかし扱いやすいエミュレータが沢山あるんだろうと思っていたのですが、仕事の関係で少し必要になって調べてみた限り、中々「コレだ」と思える実装に出会えませんでした。

という訳で、私が「コレだ」と思えるZ80エミュレータがほしかったので、作り始めてみました。
https://github.com/suzukiplan/z80

とりあえず動くエミュレータが既にある(仕事では困らない)ので、実のところあまり開発のモチベーションは高くないのですが、Z80の勉強を兼ねてとりあえず完成させたいと思っています。

2019年5月25日土曜日

インターネット回線設置(※固定回線ではない)

引っ越ししてから約2週間(内1週間実家に帰省していたので居住は実質1週間)で、早くもインターネット無し生活が限界を迎えた。仕事の関係で破綻するのがほぼ確定的だったのでやむなし。

当初予定では、インターネットはiPhone(1日100MBだけ高速通信できる激安SIM)のインターネット共有で済ませる予定だったが、1日100MBでは色々と無理があった。昨日仕事で160MBぐらいあるデータをSlackで送って貰ったのだが、ダウンロードに1時間近くを要し、且つ途中でネットワークエラーで通信途絶したことで心がポッキリ折れてしまった。ついでに、インターネット共有だとPCを開いた都度、WiFiを握り直す操作が必要なのでそれも面倒臭かった。

そこで、昨日縛りなしWiFiを契約。
本日端末が届いた。
回線(WiMAX or LTE)と機種は選べないのでガチャる必要がある。
ソシャゲは完全引退したのに、またガチャを引く日が来るとは...
結果は、富士ソフトのFS030W(回線はLTE)。
レアリティ不明。
というか、モバイルルータの機種の良し悪しは正直よく分からない。
通信したデータサイズ(図では2.47MB)が表示されるのは中々良い(それは普通のことか?)。
機種ラインナップにファーウェイがあったので、それじゃなかっただけで良しとしておくが、欲を言えばOSアップデート時6GBぐらい通信するので3日で10GBまで高速通信できるWiMAXだったが。(LTEで高速通信できるのは1日3GBまで)

仕方がないのでOSアップデート時はデニーズにでも行くか。

契約予定期間は、自宅マンションに無料インターネットが引かれるまでの間。なお、現住居に無料インターネットが引かれる予定もないし保証もない。ただし、賃貸では割と突然無料インターネットが導入されることがよくある(過去に実際あった)ので、いつでも契約を切れることが重要。(だから3年縛りとか、契約月じゃないと解約できないプランは論外。縛りなしWiFiでも最低1〜2ヶ月の契約が必要だがその点は問題ない)

モバイルでいつでも何処でもインターネットできることに便利さを見出したら、仮に無料インターネットが導入されても契約を継続するかもしれない。ただし、モバイルに関しては、これまで通りiPhoneでインターネット共有で事足りそうな気もするし、安心サポートに加入しなかったので基本モバイルWiFiだが外には持ち出さない予定。

2019年5月24日金曜日

5月13日〜5月24日

(5月13日: 引っ越し当日)

AM8:00から搬出作業を開始。
搬出する荷物を部屋の玄関前に出し切ったところで、トラックへの積み込みは業者にお任せしつつ引越し先へ移動した。
AM9:00前に搬入作業を開始し、15分前後で作業完了。
引っ越しは、直前までの梱包作業が大変なだけで、始まってしまえば(都内であれば)ものの1時間と少々で終わってしまうので呆気ない。
準備と事後処理が本番といえる。
なお、事後処理(引越し後の開封など)も通常そこそこ大変だが、今回は楽だった。
クローゼットスペースが十分ある物件なので、荷物は全部クローゼット内に押し込むだけで終わった。

引越し当日の夕方には全ての片付けが完了した。

厳密には資源ごみの日にダンボールを捨てるまでが片付けだが。
クローゼットスペースが足りないとかなり大変になる。
クローゼットスペースは極めて重要。
ある意味今回の物件の決め手のひとつが、この広いクローゼットである。

そして、今回の物件のもうひとつの決め手は、独立洗面所を有すること。
入り口から撮影、手前右がトイレ、右奥が風呂、左手前に洗濯機スペースがある
以前から独立洗面「所」がある物件に住みたかったのだが、割高になってしまうので諦めていた。廊下に独立洗面「台」がある物件なら銀座にも手頃な価格(10万前後)であったが、アメニティ処理専用の独立洗面所がある単身向け物件は割と少ない。(ファミリー向けの分譲マンションなら普通にあるが)
独立洗面所があることで、アメニティ関連のモノ(ドライヤーとかひげ剃りとか)を寝室に置かなくて済むので、寝室を清潔に保ちやすくなる。寝室に家電類を置くと、それだけで微妙に掃除が面倒臭くなる。都度仕舞えば良いと思っていた時期もあったが、仕舞うと出すのが面倒臭くてその内全く使わなくなる。家電の配線があると、配線周辺の掃除が億劫になり結果的に配線回りにホコリが溜まってしまう。そして、私は別に潔癖症ではないので、ホコリを気にせず暮らすことになる。
今回寝室に置いている家電はPC関連(MacBook Air, iPhone, iPad)と室内灯と電子タバコしかない。室内灯以外、全て頻繁に持ち運ぶモノだけだから、ホコリが滞留しにくくなったかもしれない。それでもホコリは滞留していくものだが、クイックルワイパーで概ね取り切れる。

引っ越しの片付けが終わった後、餌場を探しに新居付近を徘徊。
適当な横浜系ラーメン屋で夕食を済ませる。
横浜系ラーメンは味がくどくてあまり好きではないが、美味しいものも稀にある。
横浜に12年ほど住んでいて、2件ほどアタリがあった。
他にも数十件行ったが、その2件以外はハズレである。
店によって味の嗜好が千差万別なので、合わないところはとことん合わない。
残念ながら、新居付近の横浜系はダメなヤツだった。

その後、スーパーで日用品等を取り揃える。
なお、銀座にはスーパーは無い。
厳密には築地方面に行けば無くはないがディスカウント感は無い。
これだけ買って1000円なのかと驚愕した。
自炊すれば食費をだいぶ浮かせられるかもしれない。

一時期自炊していたことがある。
小型の鍋にコンソメ or 味の素、適当に切ったりチギッた野菜(主にキャベツ、白菜、玉ねぎ、じゃがいも)、場合によっては肉などを入れて煮ることだけ覚えれば事足りる。私はその料理名を「ベース」と呼んでいる。飽きたら、ベースにルーをぶっ込むことでカレー、クリームシチュー、ビーフシチュー、トマト缶をぶっ込むことでミネストローネなどのバリエーションが存在する。なお、米は炊くのが面倒臭いので主食はパンである。カレーをパンで食べるのは違和感があるかもしれないが、割とすぐ慣れる。
一ヶ月の収支が赤字ペースだった場合は自炊復活を考えることにする。

その後、新居で初めて一泊した。
物件を内覧しても分からない(一泊してみて初めて分かる)のが、音関連のことである。
前居(銀座)は大きな道路に面していなかった(一方通行の一車線道路に面していた)ので、夜間はもの凄く静かだった。
すぐ隣に3軒ほどバーがある関係で稀によく(主に週末などに)酔っ払いの叫び声が聞こえたりするが。また、ここ最近毎夜のようにケモノの叫び声のようなものが聞こえるので怖かったのだが、よくよく聞いてみると単なる交尾が好きなフレンズだということが判明して安心した。概ね小一時間もすれば沈静化するので、正体さえ分かればどうということはない。(発情中の猫とかの方が余程キツイ)
要するに、旧居(銀座)は音の面では中々快適だった。
今回の住まいは片側二車線のやや大きな道路に面しており、夜間も終始車の走行音が聞こえる。旧居(銀座)の更に前の物件(東神奈川)は、もっと大きな片側3〜4車線の道路(第二京浜国道)沿いで、そこに12年近く住んでいて耐性が付いているから問題ないだろう...と思っていたが、5年も静かな環境で暮らしていた所為か若干気になった。
まぁ、その内慣れるだろう。

(5月14日: 家電搬入など)

前居(銀座)が家具・家電付き物件で、今回は初期設備が無い物件なので、予め5月7日に必要な家電製品を新規購入したが、本日がその搬入&設置日である。
当初、洗濯機のみ購入すれば良いと思ったが、何となく冷蔵庫も購入。
ただし、飲料水(主に炭酸水)は常温で飲む派なので、冷蔵庫は要らなかったかもしれない。家電の「三種の神器」と呼ばれるテレビ、冷蔵庫、洗濯機だが、洗濯機以外は神器クラスではないと思っている。
冷蔵庫は、食費を浮かすために冷凍食品を保存しようと考えて購入した。ところが、今の所レンジが無いので冷凍食品を温める手段が無い。どうしたものか。(後日購入予定)
適当にお試しで購入した冷蔵庫と違い、神器・洗濯機は機種を厳選した。
厳選といっても、残り湯を使って洗いとすすぎ(1回)できる機能付きのものを選んだだけだが。一人暮らしをしてから約20年近く、風呂に湯を張ったことがトータル1〜2回程度しかない。シャワーだけで事足りるというのもあるが、何より水を沢山使うので勿体無い。しかし、残り湯で洗濯出来るのなら無駄感が無くなり、風呂に湯を張る習慣ができるかもしれない。(風呂自体はむしろ好きな方だと思う)
そこで、その日は風呂に湯を張り数年ぶりに入浴し、明日の朝、実際に洗濯をテストしてみようと思っている。今日のところは残り湯が無いので、試運転を兼ねて普通に洗濯した。

午前中、家電の搬入設置 & テスト後、午後から転職先のMTG参加のため一度銀座に移動した。次の転職先は銀座ではないが、銀座からの方が近いことに加え、前居で敢えて引越し時に持っていかなかった残留物(開封済みのシャンプーや洗剤など梱包が甘いと悲惨なことになる開封済みの汁物)を回収することが目的である。

たった一日銀座を離れただけなのに妙に懐かしく感じた。
私にとって銀座はもう過去の町になったのかもしれない。
生活するには不便な街だった。

その後、転職先MTGのため大手町に向かう。(MTG内容は省略する)
MTG後、転職先の社長から「後で日当とか払うから出社した日を覚えておいてほしい」と言われたが、厳密にはまだ転職元の会社に所属中(有給消化中)で、転職元では届け出なく副業を行うと就業規則違反なので、MTGは飽くまで趣味で参加している建て付けにして欲しいということでお断りした。その代わりではないが、3000円ぐらいする高いご飯を奢ってもらった。
引越し先ではまだ十分な餌場を確保できていない関係で、ロクなものを食べていなかったので、久々に真っ当な食事をした気がする。

ディナー後、銀座に置いておいた荷物を回収してから電車に揺られて帰宅した。
良い時間なので中々の混雑っぷりだった。
昔、品川に出張して横浜に帰る時に乗った東海道線(下り)と比べれば大分マシだが。久々の満員電車は中々体力を消耗した。
帰宅後、明日残り湯での洗濯をテストするため風呂に入った。
混雑した電車に揺られて帰って疲れた体に染み渡る。
明日、残り湯での洗濯テスト結果次第では、これを習慣化しても良いかもしれない。6月からは毎日混在した電車で帰ってこなければならないので...(始発駅だから行きは多分楽なハズだが、帰りは始発はないので毎日30分ほど満員電車に乗る必要がある)

(5月15日:転出など)

朝、昨夜の風呂のお湯を利用して洗濯を実施。
動作は良好だった。
ただ、使い終わった後のホースの置き場がやや悩ましい。
水気もあるので、とりあえず洗濯槽の中に突っ込んでおいた。
水気が切れたらタオル掛けにでもぶら下げておくか。

本日は、転出の手続きをするため中央区の区役所(銀座の前居のすぐ近く)へ向かった。
転出の手続きはすぐに終わった。
届け出書類とマイナンバーカードを出して、データをアップロードしてもらうだけでなので、10分もあれば終わる。(幸い、待ち時間も無かった)
転出後、転職元会社の遺留品を回収しに久々に職場へ行った。
職場で元開発メンバーとランチに行き、現在の状況などを聞く。
明後日、送別会を開いてくれることになる。

本日の用事はこれだけなので、銀座の前居で動画を観るなどした。
銀座の住居を引き払うと動画はほぼ見れなくなるので十分に堪能した。
新居ではインターネットの固定回線を設置していないので、インターネットはiPhoneのインターネット共有のみである。通信速度は100MBだけ高速通信で100MB以降は128kbpsだが、128kbpsで割と何とかなりそうなので、先日日記に記載したWiMAX環境の契約はまだしていない。
ただし、iPhoneのインターネット共有だとPCを閉じると切断されてしまい、再接続にやや時間が掛かるので、やはりWiMAX契約をしようか悩みどころである。
PCのネットが繋がっていなくても、メールやSlackの通知が入ればスマホに入るので、このままの環境でも何とかなるのではないだろうかという疑念が払拭しきれていない。インターネットは主に業務利用目的のものだから、必要経費ということで会社契約でWiMAXを借りるというウルトラCもあったりするかもしれない。(まぁ、無いかな)

(5月16日: 転入など)

転入の手続きを行うため、足立区の区役所へ向かおうとして地図をチェックしたところ、若干行くのが面倒臭そうな場所にあったので、北千住の区民事務所(駅直結のOIOIビルにあるので楽に行ける)で手続きをすることにした。

やや混雑していたので30分ほど待たされる。
マイナンバー特例での転入なので、データをダウンロードするだけだからすぐに終わるだろうと思ったのだが、全て完了するまでに1時間30分ほど掛かった。主に、電子証明書の書き換えに手間取った。
5年前に横浜から銀座へ引っ越す際は、住民基本台帳カードを使った特例方式で転出・転入したが、その時は(住民基本台帳カードなんて持っている人が殆ど居なかったので)職員の対応が手慣れていない感じだった。今回はその時よりはマシだったが、それでもやはり、マイナンバーカードも十分に普及していない感じらしい。

区民事務所の窓口を眺めていると、住民票取得に訪れる人が結構多く居た。
マイナンバーカードがあれば住民票ならコンビニの端末から取得できるので、その目的で区役所や区民事務所へ行く必要が無くなる。今回も引越し先の契約で住民票が旧居必要になったが、コンビニ交付を利用した。
私は2年ほど前、パスポート更新をおこなった時に余った写真でついでに申請&取得しておいた。そこそこ便利ではあるものの、生活必需品レベルではないので、やはり何かしらキッカケが無いと取得しようとは思わないものかもしれない。
マイナンバー自体は、使うことがそもそも無いに等しい(通知カードだけでだいたいのことが何とかなる)というのも、マイナンバーカードが普及しない一因かもしれない。

(5月17日: 送別会)

この日は特に予定が無かったので、当初は自転車で周辺地理を確認しようと思っていたが、15日に送別会を開いてくれることが決まったので、急遽予定を変更して午前中から銀座に向かい、前居で動画などを見て過ごした。
午後、職場に移動して仕事しつつ、送別会の開始時刻を待つ。
送別会後、結構良い時間だったのでやはり満員電車に揺られる。
時間が遅いので風呂はスキップ(シャワーだけ)。
やっぱり、仕事が始まるとこんな感じになるかなと。

(5月18日〜5月24日:休暇)

両親が新居を見たいというので上京。
新居を見た後、軽く東京観光した後、両親についていきそのまま帰省。
引っ越し関連の手続きも大方片付いたので、ようやく何も考えずに休める。

2019年5月12日日曜日

引っ越し準備完了

引越しの準備がだいたい完了。(明日AM引っ越し)
まだ、あと1箱増えますが。(最後に細かいやつを全部まとめてぶっ込めばdone)
全部で12箱(の筈)。
現在、家具付きの物件に住んでいるので、荷物をダンボールに詰めれば終わりだから楽チンです。前回の引越し時は凄く面倒くさかったので、「ミニマリストになろう」と決意して、あまり大きな荷物を買わないように心がけたのですが、その割に思っていたよりダンボールが多くなってしまった。
これでも色々捨てまくったのですが、前回引越し後に全部売り払おうと思っていたCDや紙の本が、面倒くさくて処分できずに残ってしまったことが敗因か。CDや紙の本なんてもう聴いたり見たりしないので、次こそはちゃんと処分しよう・・・と、前回引越し時にも考えていた筈なので、又候歴史は繰り返すかもしれない。

私が過去5回やった引っ越しの荷物量は以下のような感じです。

①2002年: 静岡の実家→横浜(平戸)の単身寮(ダンボール4〜5箱ぐらいの単身パック)
②2003年: → 横浜(戸塚)の2DKアパート(ダンボール4〜5箱を単身パック+家具購入)
③2004年: → 横浜(東神奈川)の1Rマンション(ダンボール10箱+α+家具: 2tトラック)
④2012年: → 銀座の1Rマンション(ダンボール7箱+α: 2tトラック)
⑤2019年: → 足立区の1Rマンション(ダンボール12箱+α: 2tトラック)

④の時、10箱以下なら2tトラックにする必要は無いのですが、家具の破棄を行った(破棄サービスのある引っ越し業者に依頼した)ので、2tトラックを使用。

今回は当初1tトラックで手配したのですが、積み込めるダンボール数の物理上限が12個程度とのことで、+α(ダンボールに入らない荷物)として、折りたたみ自転車、椅子x2個、ベース、カラーボックスなどがあり、それらを加味すると1tだとハミ出てしまうので、昨日2tショートトラックに変更して貰いました。家具無しで2tだとややスカスカでしょうけど、積み込めずに後でレンタカーで自力搬送する手間を考えると+約1万円の出費はそれほど痛くない(というか10年以上ペーパードライバーの身で東京の複雑怪奇な道路を運転できる気がしない)。この時期に引っ越しする人は少ないのか、前々日であるにも関わらず変更できて助かりました。

なお、引越し先は家具無しなので、GW中に静岡のニトリで購入した家具を一昨日(5/10)搬入 & 設置済みです。一昨日は、朝8:00頃から何もない新居でひたすら家具の到着を待っていました。(ノートパソコンとスマホと電源があるので仕事をしながら待っていたから退屈ではなかった)
一昨日(5/10)AM9:00頃(まだ何もない)
一昨日(5/10)AM11:00頃
(ベッド・ソファ・テーブル設置 → 楽な体勢になれる喜びを実感)

一昨日(5/10)PM2:00頃(カーテン・・絨毯設置)
ほぼ住めるようになるが、ガス開栓していないのでお湯は使えない
まだ洗濯機等の家電は無いです。(家電は5/14到着予定)

電気・水道は開通済みで、ガスの開栓手配が間に合うか微妙だったけど、明日の夕方に滑り込ませたので、明日以降は新居で普通に生活できるようになる予定です。

スケジュールにはかなり余裕を持たせてました。前回記事に書いた退職決意(4/10)から職場と住居のスイッチが完了するまでのスケジュールは下記のような形ですが、下記のプランはGW中(4/23〜5/3)に計画しました。前回転職で職場と住居の同時スイッチを1回経験済みなので、今回はノーミスでスイッチできるだろう...と、計画した時点では思っていました。

【職場と住居の同時切り替えスケジュール】
4月10日 退職意思表示(4/22〜5/30は有給 & 5/31最終出社+退職で調整)
4月10日〜19日 オンサイトで対応が必要な引き継ぎ業務を片付け、以降は有給期間中(5/30迄)にリモートで引き継ぎ作業をする
4月22日 引越し先物件の内覧 & 仮契約(GW明け5/7本契約)
4月23日 銀座住居の退去届けを(5月30日に明渡し予定で)送付
4月24日 連帯保証人関連の対応で一時帰省(引っ越し関連の手配作戦を練りはじめる)
(5/5までGWで各種引っ越し関連の対応ができないのでこの時に予定を綿密に組む)
5月04日 ニトリで家具購入(5/10配送+設置を手配)
5月05日 全く関係ないが兄の子(1歳♂)に初対面してくる
5月07日 AM 各種手続きのため上京開始
5月07日 AM ビックカメラで家電購入(冷蔵庫, 洗濯機)
5月07日 PM 新居契約締結
5月07日 PM 室内灯が賃借人で設置という事を契約に気づきビックカメラで室内灯調達
5月08日 AM 引越し業者からダンボール到着して梱包作業を開始
5月08日 入居開始(まだ入居はしない)
5月08日 ビックカメラで購入した室内灯を自前で設置しようとしたが天井に届かず断念
5月09日 まだ入社してないが転職先でMTG
5月09日 引っ越しの荷物をへらすためスーツケースを運ぶ
5月09日 スーツケースを脚立代わりにして室内灯を設置する荒業を実施(成功)
5月10日 朝からニトリから家具搬入対応
5月10日 GW中もぶっ通しでやっていた引き継ぎ業務が完了する
5月11日 ダンボール梱包業務に専念
5月12日 ダンボール梱包完了
---- 以下予定 ----
5月13日 AM 引っ越し
5月13日 PM 17:00 ガス開栓(これでようやくお湯が出る)
5月13日 新居で生活開始
5月14日 AM 家電類の受け取り対応
5月14日 PM 転職先MTGにフライング参加
5月14日〜17日 住所変更の手続き実施
5月14日〜17日 引越し元(銀座)の電気・ガス・水道を5/30に解約する手続き実施
5月15日〜17日 銀座の住居で明渡し準備を進める
5月18日〜24日 帰省(休暇)
5月25日〜28日 予備日(主に銀座の住居で明渡し準備)
5月29日 退去準備のため銀座で最後の一泊
5月30日 AM 古い布団などの粗大ごみ出し & 清掃
5月30日 PM 退去立会い
5月31日 現職の最終出勤 & 退職手続き
6月01日〜02日 休暇
6月03日 転職先への初出勤

前回スイッチ時は職場がリモート非対応だったから割とギリギリまで出勤する必要があったので大変だったけど、今回はその辺の融通が利く職場なので、最小限のオンサイトで引き継ぎ業務ができるというのが大きい...折角の転職機会なので1ヶ月ぐらいはニート生活をしたかったという望みが前回は叶わなかったけど、今回は概ね叶って良かったです。(この状態をニートと呼べるかはさておき)

新居の入居が5/8からで、旧居の退去が5/30だから22日間のバッファ設定。
現住居が月98,000円(+管理費8,000円)なので、5月は日割り計算で1日あたり約3160円だから、最短で明渡し可能な5月14日に退去してしまえば5万円以上戻ってきます。
ただ、物件が確定しないと荷物を一旦実家に全部送る等しないといけないから大変だし、物件が決まっていたとしても引っ越し1発で引っ越ししきれない可能性もあるし、粗大ごみ破棄は調整をミスると2週間ぐらい待たなければならなくなる等、様々なリスクがあるので、それらのリスク回避しつつ安全に退去できるのは25〜26日あたりです。25日に退去するなら1万8千円ぐらい戻ってくる計算です。
今回はそこから更に余裕を持たせて、(粗大ごみ出しの日である)30日に退去設定しました。つまり、日割り計算でのキャッシュバックはジャスト3160円。これで、29日に現住居に前泊して30日朝に粗大ごみ出しをしつつ明け渡しへの対応が可能になります。
安全系に倒しすぎて若干無駄が多いですが、それで安心を買ったと思うことにします。

そこまで余裕があるセッティングをしたにも関わらず、ガス開栓の立会セッティングにミスりました。

自由化に対応できていない水道はシンプルで楽ですが、自由化された電気とガスは、ただでさえてんてこ舞いな引っ越し準備中に対応するのは中々難儀だという理由もありますが、恐らく敗因は引っ越しの見積もりサービスを利用してしまったこと。複数業者に一斉に見積もり依頼をする感じのもので、依頼を出してしまうとそれから0〜3日程度の間、業者からひっきりなしに電話が掛かってくるので対応が面倒くさかった。それだけならまだ良いのですが、各業者が提携している(と思しき)電気・ガスサービスを推してくるので、何処と契約したのか混乱します。電気・ガスは特に拘りが無ければ引越し時は不動産屋(恐らく提携業者が居る筈)にお願いするのが楽です。
実のところ、当初一括見積りサービスは利用せず、大手で拠点が自宅から近い所に見積り依頼するつもりでしたが、Webでその依頼をしようとしたところ、うっかり間違えて一括見積りサービスで依頼してしまったらしい。引越し業者と比べて、一括見積りサービスはSEOに最も力を入れているので、下手にググると引っかかりやすい罠はあるものの、果たしてそんなシンプルなミスをするものだろうか...今にして思えば、何故うっかり間違えたのか若干謎です。疲れていたのかな。

疲れていたというか、引っ越しのプランニングには脳内のコンテキスト・スイッチが大量に発生し、更に並行して引き継ぎ業務などもやっていたから、私の脳内マルチタスクが限界点を突破したのかもしれません。本業限定ならこの程度のマルチタスクは余裕で熟せるのですが、引っ越しという肉体労働が絡むと中々しんどい。つまり、肉体労働がツライお年頃ですが、明日は恐らくこのスケジュール内で最もハードな一日になるので、こんな駄文を書いていないでさっさと寝るか。

2019年5月5日日曜日

そろそろ転職します(前編)

4月10日に今の所属会社に退職の意思表示をして、5月一杯で退職して、6月から新しい会社で働き始めることになりました。5月は有給消化期間のため丸々お休み(1日だけ出勤)です。世間では「今年のGWは10連休」と騒がれてますが私は36連休。とはいえ、GW中でも普通に仕事があり、GW後も引っ越し関連の対応で実質14日ほどしか休めませんが。
退職というと、リストラされたとか今の会社が嫌になったとか、何かしらネガティブな事由が付き纏いがちかと思います。しかし、今回の退職(転職)は至ってポジティブなものです。リストラされた訳でもないし、今の会社が嫌になった訳でもありません。むしろ、今の会社には愛着があります。なんやかんや丸5年も勤めてきたので。ただし、詳細を書くと色々な人に迷惑が掛かる可能性があるので、それについて今回は触れません。

就職氷河期と言われていた2002年、私は大手と呼べるほどには大きくもなく、ベンチャーと呼べるほど小さくもない一部上場企業(※就職当時はJASDAQ)へ新卒入社して、2014年に現所属会社に転職しました。
最初の会社は独立系SIerと呼ばれる類の会社で、顧客先に常駐して仕事をする(※派遣ではない)という、よくある下請(?)業務主体のIT企業です。世間で「IT企業」と呼ばれる企業の大半がこの業態です。
下請業務というと、某拝承や某電電子会社といった顧客に言われるがまま仕事をしているイメージかもしれません。大筋ではその通りですが、大筋さえ合わせれば手法は幾らでもあるので、ヒラの頃はそれなりに楽しめてました。しかし、中間管理職になったあたりで「このままじゃアカン」と思い辞めることにしました。
マネジメントに興味が無い訳ではありません。中間管理職としてキャリアを積むことで、汎用的なマネジメントの技術も身につくとは思いますが、汎用的なマネジメント技術であればPMPなどの資格や非マネジメントの仕事の中でも身につきます。ドラッガーや貞観政要やロビンソン・クルーソーといったマネジメント教本を読むのでも良いと思います。
ロビンソン・クルーソーをマネジメント教本と呼ぶのはあまり一般的ではないかもしれませんが、事業とマネジメントの本質が下手なマネジメント教本よりも分かりやすく書かれています。
組織の理の中で実現できる範囲のものが自分のやりたい事と一致するのであれば、そのまま中間管理職としてキャリアを積むのがベストですが、私は自分で事業を企画してプロジェクトを起ち上げたいと思っていました。しかし、下請業務を生業とする独立系SIerでは、それは限りなく不可能に近いです。そこで、2014年の転職時は、下請業務を行わず自社サービス or 自社製品の開発販売を生業とし、且つやりたい事の方向性が近い企業に絞って転職活動を行い、縁あって現所属会社に転職しました。

現所属会社でどのような形で暗躍したのか細かく書きたいところですが、前述の通りそれについては省略します。結果的に当初の目論見通り、新規サービス開発プロジェクトの起ち上げに成功し、サービスイン直前という状態まで駒を進めることができました。ただし、やんごとなき事情によりそれはまだ世に出せてません。通常ならここで計画頓挫となるところですが、やや厳しい条件付きであるものの計画頓挫を回避できる道筋が開けました。その条件のひとつが転職です。何かしらネガティブな理由が付き纏いがちの退職原因がポジティブだと言い切れるのはその為です。
転職により、お賃金は若干(年収ベースで250万円ぐらい)ダウンすることになりますが。私の場合、年収ダウンについては問題ありません。2014年の転職前の時点から年収ベースでだいたいそれぐらいアップしているので、元サヤに戻ったと考えることができます。私はそもそも殆どお金を使わないので、増えた年収分の資金は老後の蓄えとして全額投資に回していた(※FXやパチンコではなく仕組債や国債などのミドルリスク〜ローリスクの投資、あとまだ資金作りの途中で手を出していないけど不動産投資にも手を出そうとしていた)ので、追加投資しなければ余裕で生活できます。

ただし、転職することに伴い都心(銀座)に住むメリットが無くなったので、足立区に引っ越し(都落ち?)をすることにしました。現所属会社には、会社からの一定距離内に住めば手当が付き、その中から各自定期代などを支払う「近距離手当」と呼ばれる素晴らしい制度があります。独身貴族なら会社の徒歩圏に住むのがベストです。一人住まいのワンルームであれば、会社の徒歩圏(銀座)に住んでも横浜や千葉といった郊外に住むのと実質変わらない家賃で生活できます。しかし、今度の転職先にはそういう制度が無いので、多少の通勤時間を要してでも家賃が安いところに住むことにしました。
都心にオフィスを構える従業員が一定数(10人以上ぐらい?)以上の会社は、例外なくこの制度を採用することを都条例で義務化すべきかも。例えば、ワンルームの家賃相場14万円の渋谷にオフィスを構える場合、郊外水準(7万円前後)にするために7万円の近距離手当を支給必須みたいな形。これが実現できれば、朝の通勤ラッシュがかなり解消され、子育て環境等の都合で郊外に住まざるを得ない所帯持ちは快適に通勤できるようになり、都心住まいでも問題ない独身貴族は優雅に徒歩通勤でき、会社は終電に縛られないソルジャーを抱えることで労働力upでき、これらにより大幅な生産性向上を期待できます。更に、会社のコストとしては微々たるものなので、それすら払えない企業は稀(そもそもそんな弱小企業なら都心にオフィスを構えるべきではない)かもしれませんが、そういった分不相応な企業を都心から排除できることで、オフィスの都心一極集中問題も緩和できるかもしれません。(派遣や偽装請負で取引先常駐の社員はどうなる?みたいな問題があるかもしれませんが、その場合、常勤地の家賃相場で雇用元が支給する想定。そうすれば、労働力受け入れ側の企業が実質その負担をすることになる(近距離手当込みの価格を上乗せすることになる)ので何ら問題ないはず)
引越し先の候補は当初、足立区ではなく故郷の静岡(実家)でした。郷愁とかではなく、シンプルにそれが一番コスパが良いので。IT系技術職の業務であればSlack、AWS、GitHub、Skype、VPNなどを駆使すれば、オフィスに行かなくても普通に仕事ができます。逆に、オフィスに通わないと仕事が出来ないような昔ながらのIT企業は、現代の技術についていけていないので、IT企業として失格だと思います。
だからといって、技術職であれば全員リモート勤務にするのが良いとは思っていません。リモート勤務は、人によってかなり向き不向きがあるので。
例えば、「家だと全然仕事ができない」とか「休日に仕事をしない」という人はリモート勤務には向きません。このタイプの人は、オフィスに行くことでスイッチを切り替えるタイプなので、自宅よりもオフィスで仕事をした方が生産性が上がります。
そして、大半の人がこのタイプに属します。
何故なら、大半の人は幼少期から幼稚園や保育園、小学校、中学校、高校といった集団行動の場と自宅でPublicモードとPrivateモードを切り替える生活に慣れており、Publicモードの時にプロとして働くスキルを身に付けているので。
逆に、プロとしての能力をPrivateモード中心で習得した人は、オフィス勤務よりリモート勤務の方が生産性が高くなります。例えば、漫画家とかは根っからのPrivateモード特化型です。漫画家に限らず、クリエイターの大半はPrivateモード(趣味の延長)でプロとしての技術を習得するので、オフィスよりも自宅等(※自宅とは限らない)ステートレスなスタイルで仕事した方が生産性が上がる人が多いです。
業種にもよってもマチマチですが、私の経験上プログラマの場合、リモート勤務向きの人は圧倒的に少数派ですがゼロではありません。恐らく、10人居れば1〜2人程度がリモート勤務向きという感触です。なので、「プログラマは全員一律でリモート勤務」としてしまうと、トータルの生産性が落ちる筈です。ただし、一定数(1〜2割程度)リモート向きの人が居ることを考慮すると、一律全員リモート勤務禁止とするのは合理的ではありません。ついでに、プログラマの場合、社会人として本来あるべき姿のリモート勤務に不向きな人材よりも、社会不適合者に近いリモート勤務向きの人材の中にスーパーマン(生産性が通常の人材よりもズバ抜けて高い人材)が居るケースが多いので。(だからこそ、リモート勤務ができるインフラが他業種と比べて整備されているのだと考えることができます)
しかしながら、大きな会社だと、その1〜2割の選定で絶対にもめる(明らかにリモート勤務に向かないタイプの人が志願したり、リモート勤務に選別された人に対して不平等だと感じて拗ねたりする)ので、リモート勤務を制度として導入するのは恐らく不可能です。私の現所属会社は結構大きな会社で、一応仕組みとしてリモート勤務は存在しますが希望しませんでした。そもそも「その方が生産性が上がるから」という理屈では通らないだろうし、通すべきではないと思います。マネジメント職(※私のいうマネジメント職というのは取締役以上)の社員から「この従業員ならリモートでも良い」と認められるだけの実績がある人限定で認めるのなら良いと思いますが。
私はPrivateモード中心でプログラミング技術を習得して、それが現在の食い扶持になっているので、リモート勤務の方が生産性が上がるタイプです。なので、仮にリモート勤務で働くとして、出社頻度が月平均4回程度(週1回程度)であれば、静岡から東京までの新幹線の交通費が月間5万円ぐらい(高速バスを使えば半額)で収まり、都内やその近郊だと家賃だけで6〜10万円程度するので、家賃がゼロで済む実家から新幹線通勤した方がお得だと言えます。
とはいえ、最初からリモート勤務ではなく「まずは常勤で」という条件をのんで採用されましたが。実際の業務状況を見て、問題無さそうなら将来的にリモート勤務に切り替える想定です。(※当然ですが、これは独断ではなく転職先の社長から了承を頂いています)
常勤の期間中は東京に居る必要があるし、リモート勤務切り替え後も暫く(1年ぐらい?)は都内の自宅で対応して、それで特に問題無さそうだったら静岡に移る作戦です。そこで、ひとまず普通に都内で引越し先を探し、家賃相場が安いという理由で足立区をチョイスしました。

足立区は、どういう訳か23区内の中で都心へのアクセスが良い割に家賃相場が安いです。最初家賃相場を見た時「スラム街かな?」と思い、治安面などが若干気になって数回視察してみたのですが、ヨーロッパとかよりはずっと安全でした。
最近のヨーロッパは、(経済的に不安定なこともあってか)かなり治安が悪く、ベネルクス三国(特にベルギー)やイタリア北部といった昔はそこそこ安全だった所ですらスリが沢山います。
私も1回ベルギーでスリに遭い、ポケットに入れていたスリ用の小銭入れ(※正確にはスリ用ではなくチップ用の小銭入れ)がスられてしまい、5€損しました。本命の財布は首からぶら下げて服の下に入れるなどの対策をしないと、安心して街歩きができません(経験上、黒人の若者が近づいてきたり話しかけてきたら、ほぼ100%スリなので警戒する必要があります)。しかし、足立区はそういうレベルではなく、せいぜい自転車泥棒が多かったりとかその程度で、警察のパトカーが頻繁に巡回しているので安心できます。巡回しているのが警察ではなく軍だったら少し怖い(ヨーロッパでは最近テロが多い関係で軍が巡回していることが多い)ですが、今のところ足立区で軍による巡回は無かったので、テロ等の心配も無いかもしれません。

引越し先を選定しようとした時、レオパレス問題の影響で引越者が続出しているとかで、物件の回転速度が異常に早く少し大変でした。ネットでの内覧予約は概してアテになりません。条件が良い所はすぐ埋まってしまいます。ネットで内覧予約をして2〜3日程度(通常であれば1週間程度)残っている物件があったら、条件面を疑ってかかった方が良いというレベルでした。こういう状況下では、ネットには頼らず住みたい地域の不動産屋を訪問して管理物件の内覧をし、良ければ即断即決という形がベストです。

引越し先が決まったのは良いですが、現住居(銀座)は家具・家電付きの物件なので、引っ越しに際して家具・家電を買い揃えるのも中々面倒でした。
Amazonとかのネット通販だと配達日がバラけてしまうので、まとめ買い用途には向きません。こういう場合、家具はニトリなど、家電はビックカメラなどの全国に店舗を持つ大型店を使うと便利です。こういった店舗なら独自の配送系統を持っていたりする(特にニトリの家具部門の独自配送系統は安くて良い)ので、指定日付にまとめて発送といったコントロールがしやすいし、設置も手伝ってくれます。(ちなみに、Amazonはリスト機能が便利なので、必要な家具・家電の買い物リスト作成用途でのみ利用しました)

あとは、インターネットをどうするかが悩ましい。
引っ越し業者に設置サービスを依頼するとキャッシュバックみたいなヤツがあってお得そうだったのですが、固定回線ではない方が都合が良いので全部お断りしました。
現住居(銀座)ではマンション内共有の無料インターネットがありますが、新住居にはそういったものが有りません。そのため、ネットはしばらくの間、スマホのテザリングだけで済ませることにしました。

そのため、YouTubeやニコニコ動画などはほぼ見れなくなります。
固定費削減も兼ねてdアニメチャンネルを解約することにしました。元々ニコニコプレミアムに入っていたのですが、ユーザ投稿の動画を殆ど見ず公式のアニメぐらいしか見ていなかったので、ニコニコプレミアムを解約して代わりにdアニメに入会したのですが、暇つぶし用途としては中々コスパが良いのでオススメです。反面、観はじめると止まらず、生活のリズムが狂ってしまうのが微妙です。現所属会社は裁量労働制なので何時に出社しても大丈夫ですが、転職先は就業時間がカッチリ決まっているので不規則な生活ができなくなってしまいます。なので、良い機会だから解約しようかなと。

同じような理由でソシャゲも全部引退済みです。
ソシャゲは平常時それほど通信しませんが、アプデやイベントの都度数百MBオーバーのデータ通信が高頻度で発生するので、スマホテザリングだとキツイ。実のところ最近はソシャゲは全くやっていなくて、代わりにFXをやっている(※先述の投資とは別腹で、FXは完全に遊びでやっている)のですが、そちらはアプデはめったになく(そもそもアプリサイズも小さく)、ゲーム内イベントは無い(イベントは常にリアルでのみ発生する)から128Kbpsで問題なく遊べます。(FXは引退せずに継続予定)

私のスマホはOCNの1日100MBしか高速通信できないプラン(音声通話付き格安SIMで月1500円ぐらいで使えるやつ)で、高速通信を使い切っても128Kbpsで通信できるから、恐らくテザリングのみで何とかなるはず。OSやXCODEのアップデートがかなりしんどいですが、それらはそんなに高頻度に発生しないので、都度ネカフェや職場で済ませば大丈夫だろうと高をくくってみることにしました。

ですが、恐らくそれでは色々とキツイことが想定されるので、スマホプランの変更 or WiMaxでも導入してみようかと考え、WiMaxのプランを少し調べてみたのですが、月額1,000円台で「業界最安値!」などと謳っているヤツは軒並みクソですね。
安いのは初月だけで、2ヶ月目〜24ヶ月目は結構高くなり、25ヶ月目以降は安くても4000円/月前後が相場のようです。(初代WiMaxの頃と比べれば25ヶ月目以降の価格でも十分安いのですが)
しかも、2 or 3年縛り契約で、尚且契約月でなければ解約するのに違約金が掛かるものが多いので、キッチリ36ヶ月使い切ったタイミングで忘れずに解約必須(36ヶ月で解約しないと損をする)というのがかなり面倒くさい。
契約更新後(37ヶ月目)に再び1ヶ月目の料金に一旦リセットされるのであればまだ良いのですが、そうではなく37ヶ月目以降も25ヶ月目以降と同一料金だから、37ヶ月以上使うのは完全に損です。(かといって36ヶ月未満で解約するのも損)
何故そのようなゴミ仕様にしたのか...
スマホのプランでも似たような「なんちゃって格安プラン」が多いのですが、WiMaxも中々酷い。モバイル業者って、どうしてこんなにクズばかりなのか。初月の固定費を落としまくって「たったxxx〜円で使えます!」というキャッチーな謳い文句にしたかったとか、そんな感じの頭が悪そうな発想でそういうゴミ仕様を考えたのだろうと想像できますが、固定費を気にするユーザーなら普通に「永続的にその値段じゃなければNG」と考えます。初月の安さだけで釣り、あとは契約月という仕組みにより解約難度を上げるという、「騙せれば儲けもん」という商売スタイルは詐欺の手口に近い。(※なお、これは契約者責任なので詐欺ではなく「契約書を読まない方が悪い」という理屈が通るので詐欺にはなりません)
そこら辺を加味すると、縛りなしWiFiというのが良さげかも。
月額3200円 & 13ヶ月目以降は2800円 + 転送容量制限なし※ + 期間縛りなしとのこと。
※一時制限はある(WiMax回線: 10GB/3day, SoftBank回線: 3GB/day)
・月間平均コストが良い感じ
・契約を継続し続ければ安くなる
・「契約月」とかいう客に不便だけを強いさせるゴミ仕様が無い
軒並みクズ揃いのWiMax業者の中で唯一真っ当に見えるプランがコレでした。

これで一通りの準備が整ったかな。
やっぱり引っ越しは大変です。
転職ネタをメインに書こうと思ったら、いつの間にか引っ越しネタがメインになってしまったかもしれない。

2019年4月1日月曜日

自機狙いのハードウェア化

VGS8(6502)でゲームを作っていて、自機狙いにATAN2が使えないのが中々辛い。
ATAN2が使えないならDDTとかの手法もありますが、DDTをやるにも除算が重いのでこれもまたキツイ。
という訳で2点間の角度を求める機能をハードウェアで作ってしまいました。
概ね下記のような形。
https://github.com/suzukiplan/vgs8/commit/c0437fa5c453a1df0b62072bff0da9680b0ab302
※上記commit時点では若干バグがあります(最新版では治っていますが)

要約すると、MANUAL.mdに書いてある通りですが

- $5A10 x1 の座標をstore
- $5A11 y1 の座標をstore
- $5A12 x2 の座標をstore
- $5A13 y2 の座標をstore
- $5A14 load することで (x1, y1) (x2, y2) の角度を求める
というもの。

角度は360度だと8bitに収まらないので、0〜255の特殊なラジアンです。
赤丸が (x1,y1) で 青バツが (x2, y2) とした時の求まるラジアン値は下図のようになります。
(x2, y2) が真上の時が 0 で、時計回りで最大255まで増えます(256 = 0で一周)。

これにより、6502でも無事自機狙いの弾を作ることができました。
だいたい自機を狙えています。
256方向弾ではなくメモリ節約のため32方向弾だから若干ズレますが ^^;

少し大変ですが、やっぱり実際にゲームを作りながら検証しないと必要な機能が漏れてしまったり、不必要なハードウェア機能を実装してゲーム機としてのシンプルさを欠くことになってしまうので、実際にゲームを作りながらゲーム機をつくることは重要。ゲームエンジンにしても然りですが、昨今のゲームエンジンは無駄に高機能なものが多くてあまり美しくないと思っていたりする。

2019年3月25日月曜日

VGS8のデバッガ

VGS8でHello, World!を作ってみて、CPUをデバッグするツールめいたものの必要性が高まったからデバッガを作り始めました。ただ、単にCPUデバッグだけを目的としたツールではなく、ゲーム開発時にも使い物になるレベルのものが欲しいところ。

以前、ファミコンのゲームを開発した際、コマンドライン上でレジスタ値やメモリダンプの簡易チェックができるCLIが欲しかったのですが、そもそも「コマンドラインでゲームをステップ実行できるNESエミュレータ」というものが(軽く探してみた限りですが)見つかりませんでした。GUIでメモリダンプやステップ実行できるものなら幾らかありましたが。

という訳でコマンドライン上で実行できるVGS8のデバッガ(vgsrun)を作成。
実行すると上図のように現在のプログラムカウンタ上の命令を逆アセンブルしながら、レジスタダンプ(a, x, y, s, p)を右側に出力します。(赤くなっている部分は前ステップからレジスタ値が変化したもの)

そのまま実行すると、1フレーム分の命令実行終了で自動的に終了します。
※コマンド引数で実行するフレーム数を任意に指定可能

先日作ったVGS8版Hello, Worldを1フレーム実行した結果


これで、ゲーム開発もVGS8本体開発も大分捗りそうです。
将来的にはもっと拡張して、
・ブレイクポイントの途中書き換え
・ステップ実行
あたりも欲しいかも。

2019年3月24日日曜日

VGS8でHello, World!

VGS8の基本的な実装がだいたいできたので、お馴染みの「Hello, World!」を作ってみました。

まず、vgs8リポジトリでは当初、VGS8エミュレータのコアプログラムしか無い状態だったので、テストするにはHALを作成する必要があります。そこで、リポジトリ内にmacOS用アプリ(CocoaApp)としてHALを実装。
https://github.com/suzukiplan/vgs8/tree/master/hal/mac

そして、6502でHello, World!を出力するプログラムを作成。
https://github.com/suzukiplan/vgs8/tree/master/examples/hello

ソースコード本体は20行ちょっと(こんな感じです)

すごくシンプルですね。
ファミコンでHello, World!を作る場合との違いとしては、
・iNESヘッダーとか要らない
・RESET割り込み不要(VGS8の場合、RESET割り込みはプログラム側で検知できない仕様)
・必要な初期化処理はCMAPレジスタの設定ぐらいなので楽(実のところ、このコードであればCMAPレジスタの設定自体が不要だったりする)
・nametableのアドレス計算が異なる
ぐらいなので、ファミコンのプログラムが書ける人なら、「あぁ、なるほど」と簡単に理解できるかと思います。

上記を作成したCocoaAppで動かしてみた結果が下図です。
VGS8でHello, World!が動きました。
良かった良かった。

こうやって書いてみると非常にアッサリと動いたように勘違いされてしまうとアレなので、念の為補足するとかなり大変でした。
absoluteのエンディアンを間違えていたり、branchの加算時の起点を間違えたり、Windows Bitmapのパレットの仕様を間違えていたり、あとはプログラムを作ればほぼ必然的に発生するケアレスミス群。

一番キツかったのが、自作MOS6502エミュレータのバグ取りですね。
最終的にXCODEのデバッガでexecuteにbreak pointを仕掛けて、1ステップづつ6502コードを実行してレジスタやRAMが想定通りに更新されるかチェックする形でデバッグしました。
コマンドラインで動くデバッガ作らないとなぁ...

2019年3月23日土曜日

MOS6502エミュレータ作成

VGS8に搭載するCPU(6502)の実装をgithub他で探してみたのですが、流石有名CPUだけあって色々とありました。ただ、6502ぐらいシンプルなCPUなら折角だから自前で作ってしまおうということで、自作しました。(自前で実装した方が色々とカスタマイズもしやすいですし)
https://github.com/suzukiplan/vgs8/blob/master/src/cpu.hpp

1ソースならぬ1ヘッダで実装。
1ヘッダで作れてしまうシンプルさは流石6502。
LLVMとは次元が違います。

現時点ではまだ動かしてテストしていないので、バグだらけかもしれません。
(特にindirectは資料すら読まずカンで作ったのでヤバイかも)

ややVGS独自の拡張が入った状態ですが、ファミコンのエミュレータにも応用できるかもしれないので、コレでファミコンのエミュレータを作り、test romsでテストするという手もあります。(それは流石にやりませんが)

2019年3月22日金曜日

VGS8のメモリマップを考える

ファミコンのプログラミングができる人じゃないと理解できない(ので、ブログで書いても大抵の人が理解できない)内容ですが、VGS8のメモリマップを考えました。
下表のような形です。
AddressUsage
$0000〜$00FFZero page
$0100〜$01FFStack
$0200〜$4FFFRAM
$5000〜$53FFSprite OAM (4x256)
$5400I/O port (RW): PRG Bank of $8000〜$BFFF
$5401I/O port (RW): PRG Bank of $C000〜$FFFF
$5402〜$5BFFother I/O ports (WIP)
$5C00〜$5FFFPalette
$6000〜$63FFBG nametable 0 (LT; 左上)
$6400〜$67FFBG nametable 1 (RT; 右上)
$6800〜$6BFFBG nametable 2 (LB; 左下)
$6C00〜$6FFFBG nametable 3 (RB; 右下)
$7000〜$73FFFG nametable 0 (LT; 左上)
$7400〜$77FFFG nametable 1 (RT; 右上)
$7800〜$7BFFFG nametable 2 (LB; 左下)
$7C00〜$7FFFFG nametable 3 (RB; 右下)
$8000〜$BFFFProgram 0
$C000〜$FFFFProgram 1
ゼロページとスタックはファミコンと全く同じですね。
あと、$8000以降に16KB区切りで2つのプログラムデータを置ける点もファミコンと同じです。
それ以外はかなり弄りました。

まず、最大の違いはRAMです。
ファミコンの場合、基本マッパー(mapper0)のRAM(WRAM)は$0200〜$1FFFで、$2000〜$3FFFがI/Oやミラーですが、VGS8では$0200〜$4FFFまでの19KBを丸々RAMとして使うことができます。

そして、ファミコンの場合、OAM(スプライトのメモリ)をPPU側に持っていて、RAMの任意1ページ(256バイト)をDMA転送して使うのですが、VGS8の場合、$5000〜$53FFまでの1KBがPPUのOAMにダイレクトマップされています。つまり、スプライト描画にDMA転送しなくても良いのです。スゴイ!(なお、スプライト表示数の上限はファミコンは64個 & 水平最大8個ですが、VGS8は256個 & 水平上限が無制限です)

$5400〜$5BFFはI/Oポートとしてリザーブしました。
用途はまだ考えていません。
シンプルなPPU/APUアクセスに加えて、C言語のmemmove関数相当のメモリブロック転送機能を実装する予定です。

$5C00〜$5FFFの1KBはパレットデータです。
ファミコンの場合、スプライトとBGそれぞれに2bitカラーのパレットを4個割り当てることができますが、VGS8は旧VGSの仕様を引き継いで、256色パレット1つをBG/FG/スプライトのそれぞれで共有します。つまり、VGS8の最大同時発色数はシンプルに256色となります。

$6000〜$7FFFの8KBはドカンと全部nametableです。
ファミコンはBG4スクリーン分のnametableがあって内2スクリーンは必ずミラーですが、VGS8はBG/FGそれぞれ4スクリーンフルに利用することができます。
また、FGというファミコンには無いグラフィック機能があります。
ファミコンのBGは、「すべてをスプライトの背面」or「すべてをスプライトの前面」の何れかしか表示することができませんが、VGS8では「BGは必ずスプライト背面」「FGは必ずスプライト前面」に表示する仕様です。
しかも、I/OポートでPPUへアクセスする必要が無く、OAMと同様PPUのnametableにダイレクトマップされる仕様です。

また、ファミコンの場合、バンク切り替えをするにはMMC3やMMC5といった特殊mapperを用いる必要がありますが、VGS8は標準機能としてプログラムとCHR両方のバンク切り替えをサポートしています。
ただし、コナミのグラディウス2等で使われているCHRの部分領域単位でのバンク切り替えには対応しません。この点についてはCPUの速度がファミコン比で4倍以上ある(ファミコンは1.79MHzですがVGS8は今の所8MHzにする予定です)ので、パワーでゴリ押せば大丈夫だろうと思います。

楽しくなってきた。

VGS8 - 現代のテクノロジーで新しい8bitゲーム機を作る

VGS3の開発が完全に滞っています。

VGS3は完全にオリジナルのCPUを用いた仮想ゲーム機ですが、CPUを概ね設計しきった辺りで飽きてしまいました。アセンブラやデバッガ等を諸々作っていくのがあまりにも面倒くさくて...

アセンブラやデバッガを作るのが面倒なら既存のCPUを使ってしまえば良いじゃない

という風に思ったのですが、それって著作権的に大丈夫なのだろうか?

ということで、著作権法を読んでみたところ、どうもそれならシロらしい。
以下その根拠となる法律(著作権法第10条)です。
(著作物の例示)
第十条 この法律にいう著作物を例示すると、おおむね次のとおりである。
  1. 一 小説、脚本、論文、講演その他の言語の著作物
  2. 二 音楽の著作物
  3. 三 舞踊又は無言劇の著作物
  4. 四 絵画、版画、彫刻その他の美術の著作物
  5. 五 建築の著作物
  6. 六 地図又は学術的な性質を有する図面、図表、模型その他の図形の著作物
  7. 七 映画の著作物
  8. 八 写真の著作物
  9. 九 プログラムの著作物
2 事実の伝達にすぎない雑報及び時事の報道は、前項第一号に掲げる著作物に該当しない。
3 第一項第九号に掲げる著作物に対するこの法律による保護は、その著作物を作成するために用いるプログラム言語、規約及び解法に及ばない。この場合において、これらの用語の意義は、次の各号に定めるところによる。
  1. 一 プログラム言語 プログラムを表現する手段としての文字その他の記号及びその体系をいう。
  2. 二 規約 特定のプログラムにおける前号のプログラム言語の用法についての特別の約束をいう。
  3. 三 解法 プログラムにおける電子計算機に対する指令の組合せの方法をいう。
上記は、飽くまでも「著作物の例示」なので、ここに含まれていないからといって著作物ではないと判断することはできませんが、第3項で「プログラムの著作物を作成するために用いるプログラム言語、規約及び解放は著作権法では保護しない」と明示的に著作物であることが否定されているので、それ(プログラム言語、規約及び解放)に関しては著作物ではないと判断できます。つまり、C言語やJava言語といったプログラム言語には著作権が無いことになります。そして当然ながら機械語(アセンブリ言語)もこの法律でいうプログラム言語に該当するので著作権法での保護は無い(そもそも出来ない)と判断できます。

法律的にも問題無さそうだということが分かったので、ファミコンのCPU(RP2A03)をベースにして新しい仮想ゲーム機を作ってみることにしました。

その名もVGS8
https://github.com/suzukiplan/vgs8

昨年末あたり、ファミコンのプログラミング方法を解説したマニュアルを書いたのですが、実はその目的がコレを作るためです。ファミコンのハードウェア仕様を把握して実際にゲームプログラムを作ってみることで、ファミコンの仕様を受け継いだ新たな8bitゲーム機を作れるのではないかと。

この路線なら既存の素晴らしいツール(cc65)がそのまま使えるので、面倒なアセンブラ開発に悩まされる必要がなくなります。
今度こそはちゃんと完成させたいですが、完成できるかな?

VR元年から3年

2016年ごろ「VR元年」とか言われていたことを突発的に思い出す。当時、VRは正直ピンと来なかったというか、何が面白いのか & 面白くなるのかを理解できなかったので、関連情報を一切見ていなかったのですが、Googleで「VR」のニュース検索して、今どんな感じなのかを見てみることにする。

Oculus Rift Sが399ドルで今春発売、外部センサーいらずの新型VRヘッドセット
https://jp.techcrunch.com/2019/03/21/2019-03-20-the-oculus-rift-s-is-indeed-real-and-arrives-in-spring-for-399/

VR機器を使う場合、外部センサーが必要だったのか...面倒臭いな。あれだけゴツい機器だから普通に加速度センサーなりを積んでいるものだとばかり思ってました。というか、スマホにくっつけるタイプの機器なら、スマホに加速度センサーがついているのでそもそも不要な気もしますが。ふと、(少し古いですが)電脳コイルのメガネぐらいの感覚で手軽に使える感じがベターなのでは?と思い、「電脳コイル VR」でググってみたところ、電脳コイルのメガネはARと呼ばれるものらしい。

ARというとポケモンGOでカメラを起動するとモンスターが合成表示されるアレか。
アレって何が面白いのだろうか。
ARとゲームの組み合わせにはイマイチ発展性が見えない。
ARが映えるとすると、ドラゴンボールのスカウター的な使い方だろうか。
つまり、どちらかというと実用面ではARの使い所がありそう。


Google、VRアニメのスタジオSpotlight Storiesを閉鎖
https://www.gizmodo.jp/2019/03/google-is-shuttering-its-gimmicky-immersive-video.html

ドライに見ると「モトローラを買ったらオマケでついてきて、ちょうどVR普及の兆しがあったのでキープしてみたけど、想定以上にマーケットが小さく、持て余して切り捨てた」という感じでしょうか。


VRで人気コミックヒロインとのハーレム体験!DMMで「終末のハーレム VR」第三弾配信開始!
https://vrinside.jp/news/post-156294/

VRで唯一発展性がありそうだと思ったのがアダルト分野なのですが、そっちの方はお盛んなようで。DMMでアダルトな動画を調べてみたところ、「VR対応」という文言をチラホラ見かけました。(内容はチェックしてませんが)
全然話題は変わりますが、アダルトといえばDMM、DMMといえばアダルトというぐらいアダルトでのブランディングに成功しているDMMが、アダルト分野はいつの間にか別の名称に変更していたらしい。DMMからアダルトを取ったら何が残るのか?むしろ、非アダルトブランドをDMMから変更して、DMMをアダルト専門ブランドにした方が健全に見えてしまう。アダルトマーケットは手堅く稼げる反面、そこに頼り切ってしまうとこういうことになる。
VRもアダルト専用装置みたいになってしまうとDMMと同じ末路を辿りそうなところですが、ニュース検索をしてみた限りでは上記記事ぐらいしか見つからなかったので、VRがアダルトに染まった状況ではないらしい。(VRで発展性がありそうだったアダルト分野でも苦戦している状況ともいえる。普通に動画なりビニル本なりを見れば事足りるのにわざわざ大仰な装置を買い揃えるとか、どれだけ性に貪欲なのか!?という感じの理性的なストッパーが働いているのかもしれない)


任天堂、手軽にVRゲーム体験ができる工作キットを発売
https://monoist.atmarkit.co.jp/mn/articles/1903/15/news038.html

そういえば、Switchが登場する以前にSwitchがVR対応云々みたいな情報がありましたね。これがそれなのか?・・・しかし、Laboか。
Laboだからこそ、3980円(一部セット) or 7980円(フルセット)というVRとしては破格の値段で売り出せる一方、「ダンボールで作ったオモチャにサンキュッパは無いわ〜」という微妙な消費者心理が重なる。
Laboがダンボールじゃなくてプラスチックだったら価格はそんなに大きく変わるのだろうか?量産前提ならダンボールであってもプラスチックであってもそんなに大差は無いような気がするのですが、違うのだろうか。
5種類も要らないからちゃんと遊べるやつ1本でLaboじゃない形でLabo並の値段で出した方が売れたのではなかろうか...(まだ発売前だから何とも言えませんが)


ANA、客室乗務員向け機内訓練にCGを用いたVRを本格導入
https://flyteam.jp/news/article/107747

コレに限ったことではないですが、法人用途(研修やら教育やら)の記事が割と多い印象。ゲーム用途としては3年経った現時点でもコア層から抜け出しきれてないので、出荷を増やすために法人販路を開拓中といった感じだろうか。上記の記事で書かれていた研修用途なら「本当にVRである必要があるのか?」とやや眉唾もの。どちらかというと企業側がPRを兼ねてお試し導入しているような感じに見られた。(そもそも上記記事にあるタイプの研修なら、VRじゃなくてAR向きな気がする)

(総括)
・VRは普及には至らなかった
・話題は継続している
つまり、まだ暗中模索段階かな。

2019年3月20日水曜日

ストリーミングゲームが何故上手くいかないのか

Googleがストリーミングゲームサービスを発表したようです。
https://jp.techcrunch.com/2019/03/20/2019-03-19-googles-stadia-game-streaming-platform-kills-huge-downloads/

さて、どれぐらいの期間でサービス終了するのだろうか。
そもそもローンチできるのだろうか

ストリーミングゲームというと、シンラテクノロジーがローンチ前に解散し、YahooもPS Nowもパッとしない印象なので、ある意味ブルーオーシャンです。死海もまたブルーオーシャン。魚の居ない海で釣りをしても当然釣果はありません。

Googleなら他各社よりも強いデータセンターも持っているから、インフラ面では大丈夫かもしれませんが、ストリーミングゲームが尽く失敗した原因はインフラ面だけだった訳ではなく、シンプルなマーケティングミス(ターゲティングミス)だと私は思っています。

ストリーミングゲームの利点は、専用ハードを持たなくてもゲームがプレイできる点に尽きますが、それはつまり 専用ハードを持っていない層がストリーミングゲームのターゲット層 ということになります。つまり、金を出してまでゲームをやりたいとは思わない人達に遊んで貰えないと成功できないということになります。

ストリーミングゲームでプレイが映えるゲームは、例えばスペックの高いゲーミングコンピュータじゃないとまともに動かないレベルのリソースを喰うゲームとかだろうと思いますが、そういうゲームを遊びたい層はそれらを快適にプレイできる環境を既に持っており、態々ストリーミングゲームでプレイしようという人は居ない筈です。というか、彼らはフレームオーダーでの遅延すら気にするような人種だと思われる(※差別ではなくリスペクトです)ので、ストリーミングゲームなんてそもそも論外だろうと思われます。念の為補足すると、ローンチ前のYahoo(事前公開みたいなヤツ)でFF(13だったかな? FFは6までしか知らないのでよく分からない)をブラウザでプレイしてみた限り、遅延はかなり抑えられていましたが、どんなに頑張ってもゼロにはならない筈です。

ストリーミングゲームは、非ゲーマー層(ゲーミングコンピュータの購入に価値を見い出せない層)がターゲットであるにも関わらず、遊べるコンテンツがコテコテのゲーマー向けゲームだから上手くいく筈がない(それが私の言うターゲティングミスで、要するにターゲット層が欲しがっていないプロダクトを提供しているから失敗している)と私は思っています。

非ゲーマー層がボリュームゾーンであることには違いないので、仮に当たればそれなりに大きいリターンが見込めるとは思います。ただし、ボリュームゾーン狙うならストリーミングゲームじゃないと不可能なプラスα別の体験が必須です。現時点で巷にあるストリーミングゲームサービスが上手くいっていない原因は、その点が欠けているからだと思われます。

しかし、Googleなら他社と違ってYouTubeと組み合わせることでその点をクリアできるかもしれません(実のところ私はYouTubeを殆ど見ないので良く分かりませんが)。仮にプラスαの体験がYouTubeでクリアできたと仮定して、その他のネックとしてはプライシング(お金を払ってまでゲームをしたくない人達が購入してくれる価格設定)でしょうか。YouTubeでゲーム実況動画を視聴して、面白そうだと思ってPlayボタンを押せば5秒と掛からずゲームがプレイできるとして、そのPlayボタンを押すのに掛かる費用が如何ほどかと。

CMを再生すれば押せる(時間の投資だけでOK)とか、既存のYouTubeプレミアム(月額10$ぐらい)に加入済みなら押せる程度なら勝機があるかもしれませんが、如何にGoogleでもそこまでの大盤振る舞いができるのだろうか。しかし、プラスαで20$〜30$程度するサブスクリプション加入が必要とかだと、恐らくシンラテクノロジー、Yahoo、PSNowの二の舞になるのは火を見るよりも明らかです。なので、多分YouTubeプレミアム特典的な形になるんじゃないかなと予測してます(でも、それだと多分対応コンテンツが揃わなそうな気がするので結局既に詰んでいるのではないかなと)。

2022.09.30追記 RIP...

2019年3月19日火曜日

三代目MacBook(Air→Pro→Air)

以前はずっとWindowsを使い続けていて、初めてMacを買ったのが2012年。
11インチのMacBook Air(64GB)でした。
iOSアプリをつくるため仕方なく導入したものなので、SSDは64GBで大丈夫だろうとケチったのですが、当時仕事でUNIX系OSを触る機会が多く、自分のPCでTerminal+bashが使えるのがやたらと便利な事に加え、トラックパッドがかなり操作し易いのでマウスを持ち運ばなくて良いのも助かるしキーボードも使いやすい。そのため、次第にWindows PCを使わなくなり、Macをメインで使うようになりました。

ただ、そうなってくるとSSDが小さい点が色々とネックになってきます。(2012年モデルのMacBook Airなら)SSDを置き換えることも不可能ではありませんが、性能アップも兼ねて2016年ごろMacBook Pro 13インチ(512GB)に買い換えました。この際に初代MacBook Airは売却(為替レートの関係で8万で買ったものが4万で売れた)。

この2代目MacBook(Pro)ですが、性能面は申し分無いです。
初代では余りにも重すぎたAndroid Studioが概ね快適に動きます。
余談ですが、Android Studio(IntelliJ)は便利ですが各種リソースをアホみたいに使うから好きにはなれません。
ただ、13インチは物理的にデカ過ぎ & 重すぎる...
たった+2インチ、されど+2インチ。
飛行機(エコノミークラス)のテーブルに載せるとかなりギリギリで切迫感がある感じになってしまいます。11インチなら余裕でスッポリ収まるのですが。
あと、バッテリー持ちも微妙に悪くて、充電出来ない機材(B787とか割と新しめの機材でもエコノミーはUSBポートぐらいしかない)だと10時間以上の長期フライトで終始使い続けることができません。(11インチでも10時間のフライト中に終始使い続けるのは困難かもしれませんが、バッテリー残量は気にならない程度に使えました)

MacBook 12インチに買い換えようかと一瞬考えたこともありますが、
・電源アダプタを会社PC(MacBookPro)と共有したいのでマグネット式が良い
・USB1ポートだけだと不便(ハブは邪魔なので常設NG)
・店頭で触ってみた限りキーボードが押しにくい(何かペチペチしてて打鍵感が足りず、恐らく他機種よりも快適なプログラミングが難しい)
・スペック比で値段が高すぎる
辺りがネックで導入を断念しました。

Retinaディスプレイって、iPhoneと違ってMacだと恩恵よりもそれによるバッテリー消費の方が気になる。ということはMacBookだとAir(非Retina)よりもバッテリー持ちが悪いかもしれない。(その辺は実際に買って長期使わないと分からないので未検証ですが)

新型のMacBook Airが登場しましたが、それは13インチしかないので検討対象外です。
11インチがあれば速攻買ったのですが残念。
13インチしか無いのにAir?(なぜそんな中途半端な機種を出したのか謎)

という訳でAppleが良い感じの機種を出すことはもう無いかもしれないと判断して、HARD OFFで2013年モデルのMacBook Air 11インチ(128GB)を購入しました。6万円ほどで。やはり、11インチのMacBook Airが一番手に馴染む。

ただし、6年前の古いモデルなので、macOSのサポート切れを考慮する必要があります。現時点で最新の 10.14 (Mojave) では、2011年以前のモデルが切り捨てられています。
・2009年モデルMacBook Airの最終OS: 10.11 (El Capitan)
・2010年モデルMacBook Airの最終OS: 10.13 (High Sierra)
・2011年モデルMacBook Airの最終OS: 10.13 (High Sierra)
・2012年モデルMacBook Air以降(まだ最新OSへアップデート可能)
High Sierraは2017年MIDに登場なので、およそ7年でサポート切れになるようです。この流れで行くと、今年で丸6年の2013年モデルはそろそろ切り捨てられるかもしれません。
スマホならともかく、PCなら10年ぐらいはサポートして欲しい気もします。去年あたりから、Macのシェアが大幅に下落していますが、恐らくこのサポートの短さに起因しているかも。2010〜2011といえば、開発者がMacを(iPhone対応の関係で)使い始めた時期に重なり、それで増加した分のシェアが一気に下落した形でしょうか。なので、小規模なアプリ開発がピークだった2012〜2014年あたりのモデルがサポート切れになれば、Macのシェアはもっとドカッと落ちるかもしれません。

公式から切り捨てられても、有志によるパッチでバージョンアップできたりします。もちろん、公式サポートの対象外ですが。私の場合、サポートが切れたらArchLinuxを入れて使う予定です。
Macで気に入っているのはOSというよりもハードなので。
だから、もうすぐ公式サポート切れになると知りつつ6万も出して購入できました。
LinuxにするとXCODEが使えなくなりますが、2代目は売却せずに残しているので当面はそれで良いかなと。ただし、なるべくメインマシン(ProではなくAir)の方でもXCODEを使いたいので、2013年モデルのサポートが長引いてくれた方が有り難いですが。

というか、11インチモデルを切らなければ普通に新品で買っても良いのですが。
モバイル用に13インチはデカ過ぎる。

2019年3月2日土曜日

自転車を買ってみた

東京で暮らしていると公共交通機関が充実しているので、自家用車やバイクは持つだけ無駄というか、何より駐車場がバカ高いし道も一方通行が複雑過ぎて運転できる自信が全くありません。ですが、道が平坦なので自転車とかなら快適に移動できそうだと前々から思っていました。(東京に住む以前に13年ぐらい住んでいた横浜は坂がヤバイぐらい沢山あるので自転車はマッチョ向けだった)
ただ、自転車を持とうにもマンションの駐輪場(月2000円ぐらい)が概ね埋まっているので空きを待つのが面倒くさい。
それなら、折りたたみ自転車を買って自宅玄関に置いておけば良かろう(駐輪場代も浮くしね!←重要)ということで、近所の自転車屋で買ってみました。
自宅玄関で折りたたんで鎮座しているマイ自転車の様子
車種はKHSのF20T。
この車種が欲しかった訳ではなく、折りたたみで一番安いのはどれ?と聞いたらコレを勧められました。お値段は6万円台後半。防犯登録、空気入れ、ライト(フロント+バック)、チェーンなどを諸々追加して8万円ちょっと。余談ですが、最近始めたFXで得られた利益が全額吹っ飛びましたw(ギャンブルで儲けたお金なんて持っていてもしょうがないから、ちゃんと消費できて良かったと考えよう)
カーナビ代わりにGoogleMapを使う為のスマホホルダーを買うのを忘れていた。まぁ、スマホホルダーはカーナビ使わないと行けないぐらい遠出をするようになってからで良いかなと思ったのですが、購入後の試し乗りで迷子になったのでやはり買っておくべきだった。まぁ、都度自転車から降りてmapを開けば良いだけなので、無いと詰むレベルではないもののあると便利な筈。(あと、折角折りたたみだから輪行バッグとかもあると便利かもしれないけど、それに至ってはもっと遠出するようにならないと不要と判断。ついでに輪行バッグは恐らく消耗品なので専門店じゃなくてAmazonで十分かなと)
ライトが結構高かった。ライトはAmazonで安いヤツがあったのでそっちでも良かったかもしれませんが、すぐに試し乗りしたかった(そして、購入時はもう夕方だった)ので割高だと思いつつ専門店で買ってしまいました。本体価格はまぁこんなもんだろうか。昔、折りたたみ自転車が結構欲しかったものの10万以上する高級品だったから手が出なかった記憶があるので、6万円台なら寧ろ安いと感じてしまった。(一応、店に行く前に今の相場をザックリとですがチェックしていて、まともなエントリーモデルは5万円前後が妥当ラインっぽいので、実際のところエントリーモデルとしては割高かもしれない)

ドンキに行けば1万円前後の激安品もありますが、折りたたみの複雑なメカニカルを安全に実装できているのか不安になるので私は買えない。別にドンキで売られている激安品が危ないと言っている訳ではなく、1万で自転車を買うなら、わざわざ折りたたみじゃなくて価格相応のシンプルな構造のものにした方が良いという話です。価格から推察するに大量生産を前提にしているだろうから、シンプルなものでも個体毎の品質にバラツキがある筈で、折りたたみだとメカニカルが複雑な分それがもっと酷くなる筈です。実際、激安折りたたみ自転車のAmazonレビューを見てみると、かなり初歩的な整備ミスによる低評価が目立ち、素人目に見てもそれだけ酷いということはすぐには気づけないもっと重要な部分が粗悪状態だったらと考えると怖すぎる。

とか言いつつ、開口一番に「一番安いのはどれ?」と聞いてしまうのは人の性。

補足すると、「こういうシーンで使いたいんだけど予算無制限ならどれがお勧めですか?」みたいなことも店員に聞いていたりする。その上でコスパを考慮して「これで良い」と判断しました。(良いものなら予算無制限で買っても良かったけど、そもそも自転車自体にあまり興味が無いことも手伝って、対価を支払う価値を見いだせなかった)

購入後、防犯登録(小一時間掛かる)が終わったらそのままお持ち帰りがてら、走行テストを実施。16:50頃に自転車店(銀座一丁目)からスタートして、先ずは気分で有楽町〜日比谷まで行き、ちょうど皇居が目についたので外周をグルッと一周。皇居ランナー達を横目に涼しい顔で追い抜いていくつもりでしたが、結構速い人が多くあまりもたもた走っていると邪魔になりそうだったので、少し汗ばむぐらいのペース配分で走行。日曜日には自転車道ができるらしいので日曜日なら良かったかもしれない。その後、日比谷公園横の道から新橋方面に出て、道に迷って繁華街をもたもたしてから自宅に到着したのが18:00頃。トータル8km弱ぐらい(外周4kmで他4km弱ぐらい)を1時間ちょっとという中々のタイムでした。

歩道や横断歩道などでは都度降りて牽引していたので、道を把握した状態で走ればもっとタイムを縮められそう。信号待ち等込みの平均時速は多分12〜13km/h前後だろうか。会社から10km圏内なら(晴れていれば)自転車で通勤できそう。電車に乗るのが嫌で会社の徒歩圏に棲んでいるのですが、もうちょっと離れた家賃の安い所に移っても良いかもしれない。(ただし、雨天時は電車を使わざるを得ないので少し考えもの...)

折りたたみ自転車だから走行性能に関しては捨てていたつもりでしたが、少し走ってみた限りかなり凄かった。感覚的にはママチャリよりロードバイクに近い。ペダルを回した時のグッと感じる推進力的なアレが。ロードバイクなんて数回しか乗ったことが無いので、あまりアテにはなりませんが、普通のスポーツ自転車並のスピードは出せそうだと思いました。(購入初日でしかも自転車に乗るのが十数年ぶりだったから当然本気は出していないから限界性能がどれぐらいなのかは未知数)

帰宅後に車種の情報を調べてみたところ、走行性能に定評があるモデルらしい。KHS(台湾人が作ったアメリカの会社)なんて名前すら知らなかったけど中々良い仕事してます。エントリーモデルにしては若干割高だと感じましたが、走行性能分のプラスαが乗っていると考えれば良い買い物だったかもしれない。走行テスト時に「10km圏内の通勤なら余裕かも」と感じたのは、この車種だからかもしれません。

ちなみ、当初はダホンのRouteを買うつもり(理由は「折りたたみ自転車界のカローラ」というネット上で見たコピーがグッときた為)だったのですが、近所の自転車屋では取り扱って無かった。別にAmazonで買ってしまっても良かったのですが、私は自転車のメンテ関連はサッパリ(パンク修理ぐらいしかできない)なので、ちゃんと自転車屋で買っておき、パンクとか不具合発生時に「こちらのお店で買ったんですが」とドヤりながら相談できる状態にしておきたかったのですが、結果的に性能が良いものが手に入って良かったです。

2019年1月10日木曜日

ファミコンでゲームを作ってRPGアツマールに投稿してみた

ニコニコ動画にRPGアツマールというRPGツクールMVで作られたゲームを投稿してプレイできるサービスがあります。
https://game.nicovideo.jp/atsumaru/?header

ただし、RPGツクールMVを使わなくてもHTML5で作ったブラウザゲームなら投稿可能なようです。実際、投稿画面にそれらしきことが書いてありました。
投稿画面の説明文
2点目に以下のように書かれています。
* ゲームの制作には「RPGツクールMV」などHTML5ゲーム制作ツールをご利用ください。
サービス名に「RPG」と銘打っているぐらいですし、RPGツクールMVを買って作って投稿するのが運営想定のユースケースなのだろうとは思います。とはいえ、ニコニコ動画の運営会社ではAkashic EngineというJavaScriptのゲームエンジンを公開していたりするので、それで作られたゲームなら一応許容範囲なのかな?

何処までが許容範囲なのか・・・気になります。

少し話は変わりますが、昨年末ファミコンのゲームプログラミングの方法を勉強して習作で1本ゲームを作ってみたのですが、世の中にはJavaScriptで作られたファミコンエミュレータが存在するので、それを使えばHTML5で動作するファミコンゲームを作ることができます。

【ファミコン習作ゲーム】
https://github.com/suzukiplan/stg-for-nes

【JavaScript製のファミコンエミュレータ】
https://github.com/bfirsh/jsnes

【習作ゲーム+jsnes】
https://github.com/suzukiplan/stg-for-nes-web

無事、ファミコン用ゲームがHTML5ゲームになりました。
※jsnesはスマホブラウザでは動かないので、スマホでは何も表示されていないかも

これを「HTML5ゲーム制作ツール」で制作したゲームと呼んで良いのか微妙な気がしないでもないですが、HTML5ゲームであることには違い無いので、これをRPGアツマールに投稿してみたところ、普通に投稿できました。
RPGアツマールの投稿管理画面
(ファイルサイズ0MBとなっていますが一応100KBぐらいあります)
以下からプレイできます。(PCブラウザ限定ですが)
https://game.nicovideo.jp/atsumaru/games/gm9628

違法な手段で入手したROMファイルを上記の方法で公開するのは当然NGですが、コレについては合法だと思っています。
このゲームのROMファイル内に含まれるプログラムやデータは、全て私自身が制作したもので、権利的にはGPLv3ライセンスで公開しているオープンソースのフリーソフトウェアです。なので、他の人が改造するなりして公開するのも(GPLライセンスを継承していれば)問題ありません。ファミコンのエミュレータ(jsnes)に関しても同じGPLv3ライセンスで、ハードウェアのエミュレーションに関しては、現時点で有効な特許や著作物(ファミコン実機内部に含まれているソフトウェアや画像等のデータ)が含まれている場合は話が変わりますが、ファミコンなら特許も切れている筈で、またIPL/OS/フォントといった著作権が発生するデータも含んでいない(そもそも無い)ので、合法だと判断しています。(ファミコンと銘打ってしまっている点が、商標権がまだ有効だと思うので少しマズイかもしれませんが、その点に関しては任天堂から商標権行使があった場合に対応するつもりです)
法律的な話を書くと少しギスギスしがちなので念の為補足すると、任天堂に喧嘩を売りたくてやっていることではないです。むしろ逆で、ファミコンは現代のゲームエンジンとしても魅力的なツールだと私は考えていて、登場から半世紀後、百年後でも新規のゲームが作り続けられる唯一のゲーム機になるだろうと割と本気で考えています。これは実際、ファミコンのゲームを作ってみて実感したことです。しかし、如何せんファミコンでゲームを作ることは大半のプログラマにとって敷居が高いと誤解されていると思っていて、「いやいや、ファミコンのゲームってこんなに簡単に作れるんですよ」と紹介したくてやってみました。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...