Gunma.web #12 で発表したネタです。
まだ未実装の Vi コマンドも多いですが、スライド代わりにソースをgithubへ上げておきます。
Vi Impact
以下のデモページで実際に試せます。使えるコマンドは README を参照ください。とりあえず
デモ
当日は Impact Game Engine の簡単な紹介と、Vi 上で猫が銃をぶっ放すデモで終わり、README の内容で全てです。Impact の機能はもちろん、レベルエディタがかなり凄いので20分枠くらいでチュートリアルとかやっても面白いかも。苦労話より見た目の派手さの方がウケると思ったのですが、もう少し実装の話をしても良かったですね。。
以下に簡単なメモを残しておきます。
Vi コマンドの実装はアルゴリズムのちょうど良い題材にもなり、プログラミングも楽しかったです。あっ、アルゴリズムといえば…明日は 第1回 群馬でアルゴリズムを学ぼう ですね!そちらもよろしくお願いします!
…えーと閑話休題、主催者 @kanayannet さんのまとめページは以下のリンクです。
Gunma.web #12 開催報告
回を重ねるたびに参加者も増えて今回は32人!そして新規の方も定着していく Gunma.web すごい…
これだけ人数増えてもgdgdにならない Gunma.web すごい…
常連の皆さんは発表慣れしてて相変わらずのクオリティだし、開発の話以外にPhotoshopの自動化やMTや話題のエディタ等、内容も多岐に渡りました。
ITを求めて都内へ行ってしまったみんな!群馬に戻って来〜い(笑
Vi Impact
以下のデモページで実際に試せます。使えるコマンドは README を参照ください。とりあえず
:set cat
で猫が現れますwデモ
当日は Impact Game Engine の簡単な紹介と、Vi 上で猫が銃をぶっ放すデモで終わり、README の内容で全てです。Impact の機能はもちろん、レベルエディタがかなり凄いので20分枠くらいでチュートリアルとかやっても面白いかも。苦労話より見た目の派手さの方がウケると思ったのですが、もう少し実装の話をしても良かったですね。。
以下に簡単なメモを残しておきます。
- データ構造は一文字区切りの配列。さらに行で区切り配列の配列は?文字列にしない理由。他のデータ構造の検討
- Impact はcanvasのdrawText類を使わず自前で用意した(専用ツール有り)ビットマップフォントでテキストを描画している。
- 日本語対応するには数MB以上のフォントデータを作成するか、Impact本体への変更が必要。
どうせなら独自のビットマップフォントでEntity化して当たり判定も持たせた方が面白そう。 - keydownイベントで届くkeyコードがブラウザによって異なる場合がある(Safariのバグ?)
Impactはkeypressを見ずkeydownに拠っている。 - 英語キーボードと日本語キーボードで処理を分ける必要がある。
- ソースコードの8割くらいがカーソルの移動処理。j, kも意外と複雑。
- 現時点で最も実装が大変だったのは w コマンド。
Vi コマンドの実装はアルゴリズムのちょうど良い題材にもなり、プログラミングも楽しかったです。あっ、アルゴリズムといえば…明日は 第1回 群馬でアルゴリズムを学ぼう ですね!そちらもよろしくお願いします!
…えーと閑話休題、主催者 @kanayannet さんのまとめページは以下のリンクです。
Gunma.web #12 開催報告
回を重ねるたびに参加者も増えて今回は32人!そして新規の方も定着していく Gunma.web すごい…
これだけ人数増えてもgdgdにならない Gunma.web すごい…
常連の皆さんは発表慣れしてて相変わらずのクオリティだし、開発の話以外にPhotoshopの自動化やMTや話題のエディタ等、内容も多岐に渡りました。
ITを求めて都内へ行ってしまったみんな!群馬に戻って来〜い(笑
コメント
コメント一覧 (1)
どうもーhatoriですー
vim仲間としてがんばりましょう。