高専でゲームを作ったりした話

この記事は 苫小牧高専 Advent Calendar 2017 の14日目の記事です。

はじめに

こんにちは。情報工学科5年のrekzです。ネタの仕込みが終わらなかったり頭痛が酷くなったりで投稿が遅れてしまいました。ごめんなさい。

今回は,僕が5年間所属した学科展ネットワークゲーム班で制作したゲームについて話したいと思います。

豆腐戦車,襲来

こんなゲームを作りました。

これは高専祭(学園祭)の出し物として班で協力して作ったゲームで,実際に今年と去年の高専祭でお客さんに遊んでいただいたものです。一応,ネットワークゲーム班ということで,複数台のマシンで対戦することができるオンライン対戦型ゲームとなっています。実際には開発の遅れなどからオフラインで展示したりもしましたが。

で,これが地味にお客さんから好評で(本当か?),ぱっと見クソゲーだけど微妙にハマる,というような評価をちょいちょいいただきました。

僕は今年で高専を卒業するはずなので,来年度からの活動については申し訳ないくらい優秀な後輩たちに任せたいところなんですがそれはそれとして,自分達が作り始めたゲームの開発にはもう関われないのかーそうなのかーと思うところも多少ありまして。まあ豆腐戦車なんかは来年度以降もきっと展示されると思うのですが,それでも高専祭でしか遊べないっていうのはちょっともったいない気がしていました。クソゲーだけど。

というわけで(?),豆腐戦車のオフライン限定版を公開することにしました。

豆腐戦車

↑からダウンロードできます。

ゲームの内容についてはまあ,ここでは深くは語りません。やればわかります。クソゲーです。

なぜオフライン限定なのかというと,オンライン版を公開するとバグとかが心配なのもありますが,一番はやはり実際に高専祭に来てオンライン版を遊んでほしいという思いがあります。クソゲーだけど。
いや,素がクソゲーでも対戦ゲームになるとなんでも面白くなるっていう現象があって……

豆腐製作秘話?

クソゲーではありますが,これでも製作開始から展示版完成までの間には色々ありました。

僕は学科展ネットワークゲーム班に一年生の時から所属していましたが,当初は先代から代々受け継がれた秘伝のゲーム「電脳戦士サバトマン」を展示するだけ~みたいな感じでした(余談ですがサバトマンは今でも展示し続けていて,毎年これを遊びに来る熱狂的なファンも僅かに存在するようです)。

それから,僕が三年生の時に紆余曲折あってネットワークゲーム班の班長になりまして,どうせならなんかやったろうと思って新規ゲームの開発を始めようとしました。ただしUnityを学内マシンに導入してもらうも学内プロキシに阻まれ,ろくに活動できずに結局サバトマン班になりました。班員には色々と迷惑をかけた気がします。ごめんちゃい。サバトマンは偉大……サバトマン万歳……

僕が四年生の時も班長でしたが,この年の初めの活動で豆腐戦車のアイデアが出た気がします(自分が出したような気もする)。Unityを諦めてC#とDXライブラリを用いて開発を始め(余談ですがサバトマンはC++とDxlib製で俺には読めない),なんとか高専祭ではオフライン限定で展示することができました。
この年も班員には多大なるご迷惑をお掛けしたような気がします。集まって活動する日をほとんど設けなかったせいで,高専祭の前日にひたすらゴリゴリと作業する羽目になったり,でもそれ以上に申し訳ないのは班員が豆腐戦車のために書いてくれたコードを修正してもらう時間がなかったせいで結局僕が書き直してしまったことです。ごめんなさい。プログラムについては殆ど僕が書いた感じになってしまいました。

なんか謝罪記事めいてきましたが,今年の活動では班長を後輩に託したので,色々と楽でした。僕は黙々と豆腐戦車のオンライン対応を進めていました。後輩たちはUnityを何とか動かして新規プロジェクトの開発を始め,しっかりした役割分担の上で計画的に作業を進めていました。去年一昨年とは比べ物にならないくらい見事なチーム開発だったと思います。すごい 天才

さいごに

ぶっちゃけると,今回のACで豆腐戦車を公開しようというのはただの思い付きだったんですが,ついでにネットワークゲーム班での活動について思い返してみると色々ありましたね。

もともと五年前のネットワークゲーム班は殆ど動いていなくて,正直僕もやる気はあまりなかったんですが,ここ1~2年の活動で頑張ってゲーム作ったりお客さんに喜んでもらったりしたのを思うと,ゲーム作ってよかったなあと思いますね。僕が作ったのはクソゲーですが。

実際に高専祭に来て豆腐戦車を遊んでくれる人がこの記事で一人でも増えると嬉しいです。が,それ以上に,今年から後輩が頑張って作っているレースゲームのほうも遊んでくれる人が増えるともっと嬉しいです。

おまけ

去年の開発中のようす

自作曲の高音質版を公開したり

ブログ久しぶり過ぎる


以前からSoundCloudにアップロードしていた自作曲について,高音質版を別途アップロードすることにしました。
OneDriveにflac形式で突っ込んであります↓

ファイル保管所 - OneDrive

SoundCloudって無料アカウントだとけっこう音質が悪くて高音が潰れやすくて,ハイハットとか明らかに別の音になったりする。ジャリジャリ
でもその音源だけを聴いているとそうそう気づくことも無いもので,この前研究室の友人に自作曲の高音質音源を聴かせたらびっくりされたんで,それならまあ高音質版も上げるかという話の流れ。


というかしばらく曲を上げてなくてだいぶアレだなあ。今年中にあと一曲ぐらいは作って公開したい。

とりあえず,こないだTwitterに投げた習作を置いて誤魔化す(´・_・`)

Windows上でVimやUnixコマンドが使えるコンパクトな環境の構築

この記事は 苫小牧高専 Advent Calendar 2016 の17日目の記事です。

はじめに

ネットワークスペシャリスト試験落ちました。rekzです。

この記事は苫小牧高専ACの記事ですが,テーマは自由ということなので,今回は制限されたWindows環境でVimとかをいい感じに動かす方法について書きたいと思います。

今更Vimネタかよっていうツッコミは無しで……

TeraPadを使うことを強いられているんだ

(TeraPadは話の大筋とは関係ないです)

苫小牧高専にあるクライアントマシンは,そのほとんど(全て?)がWindowsマシンです。情報工学科の中にあるPCや全学生が使えるPCなど色々ありますが,どれもWindowsの,それも移動プロファイル環境になっています。普通ですね。

ここで問題になるのが,エディタ環境です。クライアントにはエディタはTeraPadしかインストールされておらず,Cygwinも使えますがエディタはemacsの古いバージョンしかありません。Unix系サーバー(LinuxとかBSDとか…)にログインすればVimが使えますが,いちいちvimrcを持っていくのも面倒ですし,そもそもクライアント内にあるファイルの編集はどうしたらいいんだという問題があります。

というわけで,管理者権限のないWindows環境で,移動プロファイルを考慮したコンパクトな構成でVimを動かす環境を考えました。

(容量を気にしないならMSYS2使うのが一番いいと思います)

WindowsでVim

要するにKaoriYa版Vimを使えという話なんですが……

vimrcファイルは基本的に環境変数HOMEで指定されたディレクトリに置きます。しかし,Windows環境だと環境変数HOMEの値は割とまちまちです。特にCygwin環境だと謎な場所が指定されていることがよくある気がします。

というわけで,Vimのバイナリと設定ファイルを近いところに置くコンパクトな構成を考えよう,というのが今回のアイデアです。 (追記)ぶっちゃけVimと同じディレクトリにvimrcを置けば解決なんですが,次に紹介するBusyBoxとか拡張性とかを考えて,小さなUnix互換環境のようなものを作ってみよう,というのが今回のアイデアということにします。


何はともあれ,新しくディレクトリを作ります。とりあえずディレクトリ名はTomoriNaoにしました。このディレクトリを仮想的なホームディレクトリにします。

この中にKaoriYa版Vimのバイナリを突っ込みます。ダウンロードは以下から。

Vim — KaoriYa

さらに,シェル起動用のバッチファイル(start.cmd)を作ります。必要に応じてVimの設定ファイルも。こんな感じ。

start.cmdの内容:

1
2
3
set HOME=%CD%
set PATH=%PATH%;%HOME%\vim80-kaoriya-win32
cmd

start.cmdがやっていることは以下の通りです。

  1. ホームディレクトリをスクリプト実行時のカレントディレクトリ(start.cmdがある所)に設定する
  2. VimがあるディレクトリにPATHを通す
  3. コマンドプロンプトを実行

start.cmdを直接実行すると,いい感じに環境変数が設定されたコマンドプロンプトが起動します。ここでvimもしくはgvimを実行すると,ちゃんと.vimrcや.gvimrcの設定が適用されることが確認できるはずです。やったね。

注意点としては,start.cmdは必ず直接実行する必要があります。他のプログラムやシェルから実行すると,カレントディレクトリが変わっておかしなことになる恐れがあります。

WindowsでUnixコマンド

これでひとまずVimを動かすという目標は達成できましたが,どうせならもっといい感じの環境にしたいですよね。

特に,このままではコマンドプロンプトを使うことを強いられていて精神衛生上よろしくないです(Vimですべての操作を行うなら関係ないですが……)。せめてUnix風のコマンドを使わせて欲しい感じです。lsコマンドを使いたいだけなら,ls.cmdなるファイルを用意(中身は dir %1)するという方法もありますが,ここではbusybox-w32というソフトウェアを使ってUnixコマンドを使う方法を紹介します。

BusyBoxは,主要なUnixコマンドを一つのバイナリに詰め込んだ軽量なソフトウェアで,もともとは組み込みのLinuxなどで使われる事が多いようです。そのBusyBoxをWindowsで動作するようにしたものがbusybox-w32です。以下のリンクの下の方にあるbusybox.exeからダウンロードできます。超軽いです。

busybox-w32

このbusybox.exeもTomoriNaoディレクトリに置きます。ついでに実行ファイルをbinディレクトリにまとめてみました。

start.cmdの内容:

1
2
3
4
set HOME=%CD%
set PATH=%PATH%;%HOME%\bin\vim80-kaoriya-win32
set PATH=%PATH%;%HOME%\bin
busybox bash

Unixっぽい環境が使えるようになりました。

ただし,上記したstart.cmdでは busybox bash というようにあたかもbashを起動しているような感じになっていますが,その実体は実はbashではなくashという軽量なシェルっぽいです(詳しく調べてませんが)。ちゃんとしたbashを使いたい場合は諦めてMSYS2などの高機能なUnix風環境を使いましょう。今回は移動プロファイル環境を考慮して,ファイルサイズの小さいbusybox-w32を選びました。

さいごに

お約束ですが,この記事を参考にする場合は自己責任でお願いします。(ぶっちゃけ共有PCではあまり変なことしないほうがいいと思います)

次回の苫小牧高専 Advent Calendar 2016の記事は cueikusuta さん担当です。よろしくお願いします。


追記(2016/12/18 2:41)

ネタが無ぇ~~~~アッッ思いついた!って感じで勢いで書いてから気づいたけど,Vimの設定ファイルを読み込ませるだけならVimと同じディレクトリに_vimrcを置けば読み込むっぽいな?

まあ,自分で$HOMEを設定しておけば他のコマンドを追加したり設定ファイルを追加するときも都合がいいよねってことで,無理やり訂正しました ガハハ

p(´・_・`)q

この記事は ぱくとま Advent Calendar 2016 の7日目の記事です。

前回は potato4d さんの ぱくとまとクソの関係性について です。


始めになんですが,このブログの更新がもう10ヶ月近く途絶えた感じになってしまっていてとてもつらいです。

ぱくとまのブログ ですら毎月更新していることを考えると断腸の思いです。なんてこった。

プロコン

僕とぱくとまは今年・昨年・一昨年と3年連続で高専プログラミングコンテストに出場してきたので,その話をします。

一昨年

僕とぱくとまとホモメイドで初参加した年です。会場は一関でした。
このときのぱくとまは,画像処理とかでそれなりに貢献してました。
その後蒸し焼きにされました。

去年

この年も不穏な3人組でした。会場は長野でした。
ぱくとまは仕事したようなしてないような微妙な感じでした。多少は仕事してたような気がします。
ただしホテルのスリッパを履いたまま会場に来たのでダメです。

今年

僕とぱくとまで参加しました。地獄か。会場は伊勢でした。
ぱくとまは仕事しませんでした。

ぱくとま in 伊勢神宮


何書けばいいんだこれ?

とりあえず,僕が今までに加工したぱくとま画像をまとめて置いておくことにします。

明日は mktakuya さんです。強そう。

それでは。

新生jprekz.xyz

めっちゃ久々の更新,つらい

…|^・ω・)/  … … …

このブログを構築するCMSをMovable TypeからHexoに移行した。HexoはCMSというより静的サイトジェネレータだけど。
ついでにサーバーもロリポップからGitHub Pagesに移行。これでデータをgitで管理できるうえに静的サイトなのでセキュリティ的にもよろしい。安心感が違うぜ

ブログのデザインは,去年の今頃作ったこのデザインが割と気に入っているのでそのまま続投した。といっても,Movable TypeのテーマとHexoのテーマに互換性はあるはずがないので,自分でゴリゴリと書き直した。元々のテーマが自作なので,ササッと書き直せるかなーと思ってたけど,結局のところ作業に丸三日掛かった。誰だこんなコードを書いた奴は(´・_・`)

移行に当たってのトラブルを最小限にするため,個別記事のパーマリンク(URL)を変えないようにしたりはしたけど,めんどくさいところは色々妥協した。CSSにベンダープレフィックスを付けるのも止めたので,さらに閲覧できるブラウザが減った。対応は苦情が来たら考える()


高専特有の長い春休みに入ったはいいものの,やりたいことがあまり進んでいない気がする。何か作ったものといえばひなまつりリミックスくらいか(´・_・`)

そういえば,去年の末に一曲作ってたんでそれ貼っておきます リミックスだけど

あと,基本情報技術者試験に受かったりBMSの発狂初段に受かったりしてたけど,ブログの更新をサボっていたので書いてなかった。つらいね

BMS段位 通常十段

やったぜ。

またしても1年以上かかったけどな!


ここ数週間のうちにプロコンとか高専祭とか基本情報技術者試験とか色々あったけど, このブログは全然更新してなかったので, 後で少しくらいは何か書き残しておきたい。

後で(フラグ)

めうになりそう(n回目)

夏休み中の進捗報告!デデン

曲作った:

製作期間2日間, 総トラック数14トラック。REAPER5のスキンが気に入ったから作った(?)

夏休み中の進捗報告, 以上!デデドン

夏休み中にプロコンのコード書いたり学校のアレコレでコード書いたりしないとアレなんだけど, 一向に手がつかない。めうになりそう(´・_・`)

サイトいじった

このブログのアドレスとサイト名を変更しました。その名もjprekz.xyz やったぜ独自ドメイン
ブクマとかしてる人は更新をお願いします......といっても今までのアドレスもまだ生きてるんだけれども。

今まではロリポップサーバーのドメインを使っていたんだけど, なんかダサいし, もしサーバー移転することになった時にはアドレスが変わることになるし, あとxyzドメインが期間限定で安かったので(重要), さっさと独自ドメインを取ってそれに変更した。ついでにサイト名も変更した。完璧。

あと, サイト名の rekz's website の部分

どっちでもいいんだよね......? (あとから不安になるパターン)

あ, どうでもいいけどムームードメインではウェブマネーカードが使えることを確認したので, ドメイン取りたい人はご参考までに(?)
地味に使えないところ多いんだよね, wmカード

ひと目で、尋常でないCSSだと見抜いたよ

サイトちょっと新しくしました(´・_・`)

ってことで, この前の記事で言っていたようにHTML5 + CSS3ベースになった。bootstrapはなんか気に食わなくなってきたので排除, 自分でCSSを書いた。流石に生のCSSをバリバリ書くのはつらみがあったので, CSSプリプロセッサとしてLessを採用してみた。

Movable Typeのテンプレートもそれに合わせてHTML5仕様で書き直し, できるだけシンプルになるようにしてみた。idやclassの記述も最低限にしたつもり。あんまりシンプルにしすぎてもあれだけど, bootstrapみたいにいちいちclassつけるのもHTMLが汚くなる感じがして嫌だなあ(´・_・`)

CSSを書くにあたって, CSS3の便利そうな新機能は躊躇せず使いまくった。特にFlexible boxはほんとつよいと思う。コレがなかったら脱cssフレームワークしようと思ってなかっただろう......

こういう新機能使うと対応ブラウザとかベンダープレフィックスとかが絡んでくるんだけど, 今回はChromeとFirefoxの最新バージョン, あと一応IE11ぐらいしか対応する気はなかったので好き放題にやった。念のため, 最終的に吐き出されるCSSには自動でベンダープレフィックスをつけてくれるツールを適用してあるけど, さっきAndroid4.1内臓ブラウザで見たら見事にぶっ壊れてた。あとOpera miniとかIE9以下とかひどいことになってると思う。個人ブログなんでそのへんを深く考える気はない。

あと, WebフォントとしてWebKoruriを採用してみた。このKoruriというフォント, Windowsでもアンチエイリアスが掛かるようになったと聞いて, あともともとちょっと気になっていたフォントでもあったのでササッと使ってみた。とても良い。どうしてもwebフォントを使うとページのロード時間が長くなったりするけど, そのへんは全く考えていない。良いものは良いのだ

This is an article.

だいぶ長い間ブログ放置してた、、、3ヶ月以上?わお 年越してるし つらいね、、

最近、このサイトをリニューアルしようかと企んでいる。このブログはMovable Typeで動いているんだけど、いままではテンプレートを編集するたびに実環境(ここ)で更新して確認するっていう頭の悪いことをしてたので、これからは仮想マシンを使ってローカルでサーバーを立てて確認するようにした。今はそっちの環境で色々いじくっている。

で、その環境を手っ取り早く構築するためにVagrantを使い始めてみたんだけど、なかなかよい。一度設定すればshellでおもむろにvagrant upと撃ちこむだけで仮想マシンが立ち上がるし、ホスト側のあるディレクトリとゲスト側のあるディレクトリを同期できたりするし、そのうえさらに高度な機能も備えているらしい。僕のように基本的な機能だけ使うにしても便利になると思う。問題は日本語のドキュメントが少ないというところか。公式サイトのドキュメントを読むのが一番確実。

このサイトをリニューアルするついでにHTML5仕様にしようかと考えているんだけど、ページのアウトラインをある程度厳密に考えながら書かないといけないし、そもそもMovable Typeのテンプレートがゴチャゴチャしててどこから手を付ければいいのか分からなくなってきた。がんばるめう


そういえば曲作りました。投稿日2014/12/30 今更だ、、、