Sansan Builders Box

Sansanのものづくりを支える技術やデザイン、プロダクトマネジメントの情報を発信

社内LTでの発表を振り返る

こんにちは。 DSOC 研究開発部の高橋寛治です。

LT(Lightning Talk) とは文字通り、さくっと数分で終わる話のことです。

Sansanでは気軽に参加できるエンジニアLT大会がしばしば自主的に行われています。 さらにLT大会は、Geek Seek Workshop*1 として費用補助がでるため、気軽に誘いやすいです。 定番メニューは、フライドチキンやハンバーガーといったファーストフードと、ジュースやビールなどの体に優しい飲料です。 まぁ、手がベトベトになるため、お手拭きが必須となります。

仲間内でとてもリラックスした雰囲気の中、各自趣向をこらしたLTを行っています。 その様子をお伝えするために、概略とスクリーンショットとなりますが、実際に自分が発表した内容について振り返ります。 少しでも雰囲気が伝われば幸いです。

社内LTでの発表

アレだったのでキーボードをアレにしたはなし(腱鞘炎軽減のためにキーボードを分離型に変えた話)

定番のHHKBを社内制度Geekseek Tools*2で購入して満喫していたところ、

f:id:kanjirz50:20200317145139p:plain

このようなあおりを受けました。 それで、ついカッとなって例のブツ(ErgoDoxEZ)をポチりました。 f:id:kanjirz50:20200317145333p:plain

そういえば、届くまでそわそわしていました。

f:id:kanjirz50:20200317145925p:plain

後日談ですが、HHKBは在宅勤務時に利用し、ErgoDoxEZは会社で常用しています(あのとき布教されて良かった・・・)

Emacsのススメ

誰しもが通る道であろうエディタ戦争ですが、事もあろうにLT大会で火種を起こしてみました。

Emacs鬼軍曹と呼ばれるプラグインを導入することで、Emacsキーバインドが強制され、Emacsの沼に深く入り込むことができます。

f:id:kanjirz50:20200317150459p:plain

あ、ちなみにキーボードがErgoDoxEZにかわってからは小指の痛みはかなり軽減されました。

スマブラ復帰勢がVIPを目指す話が気づくと画像処理になるLT

小中学生のころ何も考えずにガチャガチャ遊んでいたスマブラDXぶりに、スマブラSPにどはまりしています。 このスマブラSPではオンライン対戦である程度レートがあがるとVIPの称号が与えられます。

そのVIPを目指す話ですが、いつの間にか画像処理に話がすり替わります。 スマブラはダメージレースを有利に立ち回ることが、勝ちにつながる要素の一つだと考えます。 そのダメージレースを記録したいと思いました。

f:id:kanjirz50:20200317151030p:plain

動画から1秒1フレーム抽出し、そこから数値部分を抽出するというプログラムを書きました。

f:id:kanjirz50:20200317151044p:plain

このように、ある程度認識できましたが、ところどころ抽出ミスが起こります。 数値が表示される領域がわかっているため、そこまで難しくないと思っていましたが、実際には白抜きの文字はなかなか抽出できません。

f:id:kanjirz50:20200317151052p:plain

結局、今も未解決なままです・・・

Arduino Unoで工作した話が気づくとスマブラの話になるLT

また、気づくとスマブラの話になるLTです。 Arduino Unoは電子工作で使うマイコンでは鉄板なものです。 次に備えるような特徴を持っています。

f:id:kanjirz50:20200317151512p:plain

電子工作をする上では、IOポート(入出力)で遊ぶというのが入門編です。 遊びなので真剣にやろうと思い、ゲームコントローラの配線を引きこんで入力を可視化するオープンソースのツールを試してみることにしました。

スマブラをやる際に、コントローラの入力を一緒に記録できればリプレイからより勉強できると考えたのです。

f:id:kanjirz50:20200317151525p:plain

リプレイをとったときに、入力ミスなのか、いつ判断しているのかの手がかりなどが記録に残せて、結構見返していて楽しいです。

ゲームプログラミングで学ぶ黒歴史

中学生のころに出回っていたゲームプログラミングの入門書は、DirectXやOpenGLなどで当時読んでもよくわかりませんでした。 偶然、ムックにのっていたゲーム用スクリプト言語 Tonyu System に出会ったのがプログラミングのきっかけです。

10数年の時を経て公式ページを見ると、なんとブラウザで動作するようになっていました。 前から作ってみたかった某激ムズロボットアクションゲーム風のものを作ってみたというものです。

f:id:kanjirz50:20200317152843p:plain

ゲームプログラミングは結構大変で、いかんせんやる気を継続させるというのが非常に難しいです。 あと思いつきで実装して、コードがぐちゃぐちゃになってしまいます。

次のスクリーンショットは、過去に作っていた某連射系シューティングゲームを模倣したゲームです。 Tonyu System では2Dアクションやシューティングゲームなら、かなりお手軽に作成することができます。 ドット絵を描いたり、簡易3Dモデリングツールでキャラを描いたり、フォントを文字に変換してから表示させたり、いろいろ工夫した記憶があります。

f:id:kanjirz50:20200317153047p:plain

今、取り組んでいる自然言語処理と組み合わせたゲームなど、今だからできることは少しやってみたいと思っています。

社内LTは楽しいよ

ざっくばらんにかつ気軽に自分が興味を持っている技術や技術領域について話せる場というのは非常に楽しいです。 社内の人が、実はVim派だったり、実はFM音源が好きだったりと新たな一面が見えるというのも非常に趣があります。

社外で興味あるかたは、LTまではいかないですが、Advent Calendarでエンジニアが軽い語り口でいろいろ書いているため、ぜひ覗いてみてください(もちろん本ブログも)

(あ、社内でLTに興味がある人は、ご連絡ください。)


buildersbox.corp-sansan.com

buildersbox.corp-sansan.com

buildersbox.corp-sansan.com

*1:社内のエンジニア同士でのイベントを実施する際、懇親費用の補助を受けられる制度

*2:ハードウェア購入支援制度

© Sansan, Inc.