(Neo)Vimでできるゲームの紹介
こんにちは,B4のInazuma110です. この記事ではVimやNeoVimでできるゲームを紹介します. 講義で扱っただけのVimやそれを拡張するソフトウェアについて,「是非興味を持ってほしい」という気持ちで記事を書いてみました.
Vimとは
最も有名と言っても過言ではないテキストエディタです. テキストエディタというのは文字通り,一般には「テキストファイルの編集」に使われるソフトウェアです. もちろん,ゲームをプレイするためのソフトウェアではありません.
(とは言え,Google ChromeというブラウザをOSにする企業や,emacsをOSと主張する人々がこの世にはいるのでVimをゲームプラットフォームとして扱うことはそれほど不自然では無いでしょう.)
ちなみに,近年の東京工科大学では,1年生の「情報リテラシー演習」や2年生の「プロジェクト演習テーマB」でVimの使い方を学習するようです. 2018年度まで,東京工科大学の講義ではemacsを扱うことが多かったです.1 Vimを講義で使っただけの方に,Vimの魅力が少しでも伝われば幸いです.
先行研究
vim-jp.orgの記事にて,すでに様々なゲームがまとめられています. 本記事ではここにはないゲームを紹介していきます.
プラグインについて
Vimでゲームをするプログラムは,多くの場合「Vimのプラグイン」という形で公開されています. Vimのプラグインというのは,Vimを拡張するソフトウェアのことです.
プラグインの導入
プラグインマネージャーと呼ばれるプラグイン管理専用のプラグインを使います. 本記事では,私が普段から使っているdein.vimを用いますが,他にもvim-plugなどが有名です. 好きなものを利用してください.
プラグインの具体的な導入方法については,各プラグインマネージャーのREADMEを読んでください. これらは英語で書かれていることが多いですが,Google翻訳やdeeplを用いることで比較的簡単に翻訳できると思います.
ゲーム
以下のゲームはNeovim v0.4.3(一部Vim8.2.2077)で動作確認をしています.
vim-game-code-break
Vimで開いたソースコードでブロック崩しを遊ぶことができます.
:VimGameCodeBreak
で現在開いてるファイルの文字をブロックに見立ててブロック崩しを始めます.
とても斬新な発想で面白いです. 破壊したソースコードの内容が消えてしまうということはないので,安心してプレイできます. クソコードへのストレスをこのゲームで消し飛ばしましょう!!
詳しい操作などや設定などはリポジトリのREADMEなどを参照してください.
vim-mario
:Mario
でマリオが始まります(?)
このプラグインは,vim-game_engineに依存しているので,こちらのプラグインも忘れずに導入するようにしてください.
また,起動時にVimにゲーム画面が入り切らないことがあるので,文字の大きさは適宜調節してください. 多くのターミナルはCtrl–(コントロールとハイフンの同時押し)で文字を小さくできると思います.)
vim-puyo
:Puyo
でぷよぷよができます(?)
こちらもvim-marioと同じくvim-game_engineに依存しているので,忘れず導入してください.
注意!!: 以降のゲームはNeovimでは動きません!!
動作確認はVim8.2.2077で行いました.
Killersheep
Vim8.2で音声を再生する機能が実装されたと話題になっていました.
と同時に,その機能を利用したゲームが突如公開され同じく話題になっていました.
:KillKillKill
でゲームが始まります.
実際にプレイした動画をキャプチャしてみました.ゲームの音声がとてもユニークなのでよかったら音も聞いてみてください. (完全なキャプチャができていませんがお許しください)
Vimでゲームをしました (ブログへの動画埋め込み用) pic.twitter.com/B4ANfzC2Cd
— Inazuma110 (@Inazuma_110) December 2, 2020
このゲームは結構やりこんでいたことがあって,全ステージをクリアしました. そんなに難易度が高いわけではないので,よかったらクリアを目指してみてください.
また,こちらNeovimでは動かないので注意してください.
最後に
マリオやぷよぷよはゲーム機で遊んだほうがいいです.
-
期末テストでemacsのキーバインドが出題されたほどです. ↩︎