Comfes 2020に参加した

まえがき

2020年3月9日から18日までオンラインで行われたComputer Festival 2020に参加した。なぜか参加者投票でアプリケーション部門3位をいただいた。このような大変な状況の中オンライン開催していただいた主催校の皆様ありがとうございました。

作品について

"Visket" という自作プログラミング言語を作った。言語についての詳細は Visket SpecificationsVisket/README.md にまとめてある。

バックエンドに LLVM 、フロントエンドを Go 言語という謎構成で作製した。計画段階ではバックエンドを Rust で実装しようと思っていたのだが学習にかかる時間が予測できなかったため、良さげな LLVM のラッパがあったGo言語で実装した。若干Go言語の闇に触れつつもなんとか完成までこぎつけたのでこの選択は間違っていなかったと思いたい。

またコンパイラとあわせて、 Visket のプログラムを Web 上で実行できる Visket Playground を作った。これは開催の前々日ぐらいに「もっと簡単にプログラムを動かせたら便利なのでは」と思いついて1日ぐらいで完成させた。フロントエンドを Vue.js で書いて、サーバサイドを Go / Gin で書いた。ソースコードplayground-frontplayground-server においてある。一応Docker上で実行できるようにはしていたがそれでもやはり環境構築のコストが高いため、用意して正解だったと思う。お察しクオリティを記録しておくためとりあえずスクリーンショットを貼っておく。

f:id:arata-nvm:20210904173021p:plain

アピールポイントとして"Easy"、"Safe"、"Fast"というのを書いたがモダンな言語としてはほぼ当たり前の機能ばかりなので、嘘は書いていないが若干詐欺した感がある。とはいえ速度面と言語機能の実装はかなり頑張ったつもりなので許してほしい。

所感

応募要項でパンフレットについて「白黒印刷される」と書かれていたところを「白黒のフォーマットで提出しなければいけない」と解釈してしまったのが敗因の一つだったと思う。が、「それはあなたのデザイン力がないだけでは?」と言われてしまえば返す言葉もございません。

部門ごとに書いていく。

アプリケーション部門

AP部門はいかに作品の良さを伝えられるかと言うのがあった(それはそう)。その点 Web 上にデプロイされているものは簡単にさわれるため、ネイティブアプリケーションと比べ大きなアドバンテージがあるのを強く実感した。私もそれを実感してPlaygroundの作製につながった。すでに来年作りたいものが見えているため良い刺激をもらえたと思う。

あと、目的と手段が入れ替わったような拙作が思いの外投票頂いていて???になった(投票してくださった方ありがとうございます)。「1年」だからこそ許された部分が大きかったのだろうと思う。

ゲーム部門

GM部門は作品数がAP部門の4倍ぐらいで、1年生の作品もそこそこあったように感じた。ネタを仕込んだものは参加者投票で受け、ゲームシステムがしっかりしているものは企業受けが良いという恒例のあれが発生していた。弊部の先輩もそうですがネタのセンスがいいのは何なんでしょうね。:pro:がたくさんいたので私も精進したい。

(企業賞の講評で「唯一」が繰り返されていたことを深読みしすぎてしまって良くない)

メディア・コンテンツ部門

MC部門はクオリティが高い作品が多く戦々恐々していた。個人的には MC-13 の 「Ahoxa」 がかなり面白そうだったため、見てみたいというのがあった(ところであれはアプリケーション部門ではないんですかね)。

あとがき

来年は真面目に作品を出します。