Nimで作りたいものをつらつら書くだけ¶
この記事は Nim Advent Calendar 2018 - Qiita の22日目の記事です。
皆さんバッチリNimに関するノウハウを書いていらっしゃって誠に恐縮ですが、私は「Nimで作りたいもの」をつらつら描きます。
それでもなぜNimを使おうとするのか¶
言わんでも分かるでしょう。
Features | Nim を真に受けてますよ。
本題¶
さて、本題です。
もう作りたいものが多すぎます。これから書くことはただの絵空事です。妄想です。作るとは言ってないです。
CoderDojo受付システム Touryumon (登竜門)¶
私は趣味で CoderDojo の Sapporo Dojo と Sapporo East Dojo で子どもたちにプログラミングを布教してます。
作るか。
と思ったのですよ。当初の予定では。
良い点¶
なんでって、そりゃあ、
- コンパクトなバイナリを吐き出せる → 環境構築がそこまで手間がかからないのでは?
- Pythonに近い文法だから、割といけるのでは?
- さくらインターネットさんから CoderDojo Japan に提供して頂いているクラウドマシンでも十分に動くものを作りたい。
悪い点¶
と思いましたが、自分でちょっと「待った」をかけました。
- Pythonに近い文法とはいえ、ちょっと難易度高いのでは?
- やっぱ自分、そこまでNimのこと分かってないわ(先週までプラグマの使い方が分からなかった)
- 何より 子どもたちにも触って遊んでほしい ので、ちょっとハードルが高すぎるのでは……!
いや、Nim教えればNimできるようになるかもしれませんが、俺がNim分かってないんだもん。難しくね?
—
ということで、Nimでの開発を断念し、サーバーサイドはPython, フロントサイドは CoffeeScript か Elm 使うかなーと漠然と考えております。
Linuxでも動作するBMSプレイヤー¶
お、BMSをご存じない? BM98もご存じない? きっと1990年世代じゃないか、もっと素敵なコンピューターライフを送ってたのですね!
簡単に言うと、パソコンでできるコナミ音ゲーっぽいやつです。
BMSのファイルフォーマットは 公開されております 。やねうらお先生とNDK先生は偉大ですね!
更に言うと、最近 BMSON という JSONベースのファイルフォーマットも出てきたので、27歳派遣プログラマのおじさんは、正直「おぅ……」ってなってます。
なんで作りたいかって、そりゃああなた、中学時代に O-SE さんのサウンドとか nixx さんのサウンド聞いて、エレクトロミュージックにドハマリした人間としてはなあっ!
なお、ライブラリ(エンジン?)としては frag を利用する予定です。
MMLファイルフォーマットをMIDIに変換して音を鳴らすなにか¶
MMLという音楽記述言語というのかフォーマットがあるんですよ。
ぱっと探したところ、Linuxでそれの音を鳴らせるものはないんですよ。
個人的には速攻でサイン波でも矩形波でもいいからメロディ鳴らせたらいいなと壮大な夢を考えましたが、 まずMIDIに落とすところからやるかと思ったり。
既にありそうですけどね。
なんかここに上げたもの既にありそうなんですよねえ……。
後は気が向いた時にワンボード・マイコンとかのプログラミングとかしてみたいですね。