こどもとIT
好きなものや、作りたいものをカタチにできるプログラミングは最高!夢中が光る中高生の熱い作品
ーー第10回中高生国際Rubyプログラミングコンテスト 2020 in Mitaka 最終審査会レポート
2021年6月28日 12:00
「つくりたい!が世界を変えていく!」をスローガンに掲げた、「第10回中高生国際 Ruby コンテスト in Mitaka」の最終審査会がオンラインでこの3月に開催された。
10回目の節目を迎えた今回のコンテストは、応募総数が107件を数え、その中から一次審査をくぐり抜けたゲーム部門7作品、クリエイティブ部門3作品が最終審査に残った。本稿では、一次審査を通過した10作品を中心に、さらに当日の審査会の様子をお届けしたいと思う。
なお、それぞれの作品とプレゼンテーション、および審査会の様子は全て編集済みのものがYouTubeで見られるので、興味がある方はじっくりご覧頂ければと思う。
※本文中の学年については、2021年3月現在のものとなる。
中高生国際Rubyプログラミングコンテストとは
まず、プログラミング言語「Ruby」について、簡単に説明しておきたい。「Ruby」とは、島根県出身の「まつもとゆきひろ」氏(以下、愛称のMatzさん)が開発した、数少ない国産のプログラミング言語である。例えば、日常的に広く使われている料理レシピサイト「クックパッド」など、多くのウェブサービスに利用されていることでも有名だ。「Rails(レイルズ)」というRubyを使ったシステム開発用のフレームワーク(枠組み)とともに、多くの大人のエンジニアたちが開発業務で利用している。
このような経緯もあり、国や地方自治体からの視線も熱い。Matzさんのお膝元、島根県松江市では、産学連携でRuby人材の育成を大学や高専にまで広げている。さらには、中学の技術の授業から、2020年度のプログラミング必修化にあわせた小学校向けの指導案まで、地域に根ざした地道な活動が続いているようだ。
このコンテストの事務局を担当している株式会社まちづくり三鷹は、地元の東京都三鷹市で、Rubyプログラミング講座やRubyクラブの活動を続けている。ちなみに、昨年度までのコンテストは「in Mitaka」の名前からわかるように、三鷹市内の施設で一次審査通過者が集まって最終審査会を行なってきた。
こうしたRubyのプログラミングコンテスト(以下、ルビコン)ということもあり、最終審査会ではMatzさんを筆頭に、名だたるRuby業界の重鎮が審査員に連なっている。なかには、このコンテストの2012年度、U-15部門の最優秀賞を受賞した山内 奏人氏も入っており、コンテストの歴史を感じさせられた。
審査員は以下の通り。
審査委員長
・まつもと ゆきひろ氏 (一般財団法人 Ruby アソシエーション 理事長)
審査委員
・野田 哲夫氏 (島根大学Ruby・OSSプロジェクトセンター長 教授)
・田中 和明氏 (九州工業大学 大学院情報工学研究院 准教授)
・笹田 耕一氏 (クックパッド株式会社)
・高橋 征義氏 (一般社団法人日本Rubyの会 代表理事)
・森 正弥氏 (デロイトトーマツコンサルティング合同会社 執行役員)
・山内 奏人氏 (WED株式会社CEO、当コンテスト2012年度U-15の部 最優秀賞受賞者)
多彩な作品が並ぶゲーム部門からは7作品
まずはゲーム部門の一次審査通過作品から紹介していこう。実は筆者、Rubyのゲーム開発については、あまり知見がなかったため7つもの作品があったことに少々驚いた。どのゲームも個性的で、苦労もあっただろうが、おじさん世代のノスタルジーを感じさせるものが多かった。時代が回ってしまったのだろうか。
岩手県滝沢第二中学校の科学技術部:高杉伊吹さん「影陣伝(えいじんでん)」
岩手県滝沢第二中学校の科学技術部は、ルビコンで何回も受賞者を出している常連校のひとつ。地元の岩手大学との連携ではじまった中学生向けのRuby講座をきっかけに、継続的に部活動の中でRubyプログラミングに取り組まれているようだ。
チーム「部長」の高杉伊吹さんの作品は、「影陣伝(えいじんでん)」。プログラミングは科学技術部で3年目とのこと。「和」のデザインにこだわった一種の陣地取りゲームで、1台のPCで2人でプレイする。開発で実装する際の苦労も語られていて、他のコンテストよりはるかに内容が専門的な気がした。
岩手県滝沢第二中学校の科学技術部:飛鳥ソニアさん「Sweets Rush(スイーツ・ラッシュ)」
続くチーム「Sweets」の飛鳥ソニアさんによる「Sweets Rush(スイーツ・ラッシュ)」は、色使いも明るい、キャラクターの見た目も可愛らしいゲームである。難しすぎるゲームが多く、面白いと思えるゲームがないと感じ、それを作りたかったという動機が素敵だ。全キャラクターを自作したのが大変だったという話に、ゲーム制作あるあるだなあと共感する場面も。
三鷹市の小学6年生:磯谷 桂さん「占領戦」
3つ目の作品は、地元である三鷹市の小学6年生、磯谷 桂さんによる「占領戦」。その名の通り、陣地をとっていく戦略シミュレーションゲームのようだ。Ruby講座をきっかけにプログラミング歴は既に3年という。三鷹市では、このルビコンにもつながるRuby体験講座が、小学生向けにも毎年開催されているのだとか。
愛媛県立松山工業高校:松浦 天斗さん「LABYRINTH」
続いては、こちらも常連校のひとつ、愛媛県の松山工業高校だ。同校からは2チームの作品が選ばれた。
1つめは、松浦 天斗さんの「LABYRINTH」。このゲームのデモ画面を見て、3Dダンジョンゲームの走りともいえる、ウィザードリィを思い出した。3DをRubyで行なうためのライブラリーの仕様を調べながら開発していったという苦労談もあった。
愛媛県立松山工業高校:林 晃太郎さんによる「Mind Board」
もう1つの作品は、林 晃太郎さんによる「Mind Board」。このゲームはコンセプトが面白い。見た目は、よくあるオセロのシステムなのだが、ここに「爆弾」と「旗」の2つのアイテムを追加し、まったく新しいゲームになっている。
松江工業高等専門学校:石原 爽さん、山本 崇人さん「Spell Out」
次の作品は、こちらも常連校である松江工業高等専門学校から、その名も「松江高専の人」チームである石原 爽さん、山本 崇人さんの作品「Spell Out」が選ばれた。ぬるぬる動くアクションシューティングゲームという発想が面白い。実際の開発では、Unityのような、いわゆるゲームエンジンを使わずにRubyで全部実装するというチャレンジで、コードも全て独学でGithub上で公開されているものを読み込んでいったそうだ。
すぐにも使ってみたい作品が並んだクリエイティブ部門
続いて、クリエイティブ部門の3作品を紹介していこう。
千葉県の高校2年生:石川 愛海さん「My Design Memo」
まずは、千葉県の高校2年生石川 愛海さんの作品「My Design Memo」。Ruby歴はまだ1年ほどだそうだが、自分が気に入ったデザインを登録して、グループで共有することもできるWebサービスだ。Pinterestをよりシンプルにしたイメージで、アイコンの配置や全体のデザインもとてもシンプルで使いやすそうだ。画面表示が遅くなるため、非同期処理を実装したと話していた。
茨城県立竹園高等学校:何櫟(へり)さん「Bluetooth をつかった脳波の測定とリアルタイム表示や保存」
2作品目は、茨城県立竹園高等学校から、 何櫟(へり)さんの作品。なんと、「Bluetooth をつかった脳波の測定とリアルタイム表示や保存」という内容。ゲーム禁止条例が話題になったが、本当のところ脳にどんな影響をもたらすのか興味をもった何櫟さん。実際に脳波を測定する機器を装着し、Rubyで開発したプログラムで測定やグラフ表示を行なった。論文も執筆したそうで、これは、もはや立派な研究ではないか。
チーム「Nucumo」:三橋優希さん、野崎智弘さん「Minory」
最後の作品となったのは、東京都在住の三橋優希さんと兵庫県在住の野崎智弘さん2人によるチーム「Nucumo」から、今日やったことを記録するウェブアプリ「Minory」というサービスだ。
この2人、実はCoderDojoほか、プログラミング教育界隈では有名人である。2人とも未踏ジュニアや他のプログラミングコンテストでも受賞経験があるし、チームで既に何個ものサービスを公開している。つい先日も2021年度「未踏IT人材発掘・育成事業」に採択され、着実に活躍の幅を広げている。筆者も、直接面識があったので、このような形で取材することになるとは、なんだかくすぐったいものだ。親戚のおじさん感覚である。
Minoryは、ゆるいコミュニケーションツールという位置づけだろうか。チームの活動を継続しやすくする仕掛け作りが面白い。2人の生活圏は離れているため、実際に必要なサービスだったのだろう。原稿に煮詰まったライターと編集部で使ったら、いいかもなと思った(いつも遅くなってすいません)。
心理的安全性とか居場所の余白というキーワードがコミュニティにおいてよく聞かれるが、それを具体的にサポートする1つの方法として着眼点や実装のデザインが、とても優しく、使ってみたいと思われた審査員も多かった様子である。
各作品に興味津々の審査員たちと発表者の間で、温かいやりとり
審査会では、発表者が事前に提出したプレゼン動画を見た審査員から、質疑応答が行なわれた。
なにより、審査員の皆さんは技術(とゲーム)が大好きな感じが伝わってきて、発表者とのやりとりは見ていて、とても和んだ。審査員が中高生と話しているというよりは、Rubyコミュニティの中で世代を超えた語り合いが繰り広げられていた。
その一例として、MindBoardを開発した松山工業の林さんとのやりとりをご紹介。このゲーム、1台のPCで2人で対戦するゲームになっていたのだが、実際のプログラムを見た審査員から、「これは2台のPCで対戦するようにできませんか?」とアドバイス。実はトライしようとしたものの、よくわからなかったと応えた林さんに「きっとできるから、その方が絶対面白いし」と熱いエールを送っていたのが印象的だった。
審査委員長のMatzさんも、ちょいちょい手をあげては熱心に質問。周りの人に触って貰うことや、公開して継続することの大切さを語りつつ、若いフレッシュな人たちの話を聞くのがとても楽しそうで、人柄が伝わってくるような気がした。
笑顔がはじけた受賞者たち、クリエイティブ部門ではW受賞も
この後、両部門ごとに受賞発表が行なわれた。各賞の受賞者は、次の通りである。
<ゲーム部門>
最優秀賞
・松江高専の人(島根県)石原 爽さん、山本 崇人さん「Spell Out」
優秀賞
・滝二中 科学技術部チーム「Sweets」(岩手県)飛鳥 ソニアさん「Sweets Rush(スイーツ・ラッシュ)」
審査員特別賞
・磯谷 桂(東京都)「占領戦」
・林 晃太郎(愛媛県)「Mind Board」
・畠山 響(岩手県)「将棋でGo」
・松浦 天斗(愛媛県)「LABYRINTH」
・滝沢第二中学校科学技術部 チーム部長(岩手県)高杉伊吹さん「影陣伝(えいじんでん)」
<クリエイティブ部門>
最優秀賞
・Nucumo(東京都)三橋 優希さん、野崎 智弘さん 「Minory」
優秀賞/Classi賞
・何 櫟(へり)(茨城県)「Bluetoothをつかった脳波の測定とリアルタイム表示や保存」
審査員特別賞/Matz賞
・石川 愛海(千葉県)「My Design Memo」
どの作品もそれぞれの個性が光るものばかりで、審査はなかなか大変だっただろうと思う。ゲーム部門7作品は、どれも遊んでみたくなるものばかり、その中で「Spell Out」が最優秀賞、カラフルな可愛いゲーム「Sweet Rush」が優秀賞に輝いた。
クリエイティブ部門の3作品については、「Minory」の完成度が光っていた。さらに他の2作品についても、それぞれがClassi賞とMatz賞をW受賞するという結果になった。
最後に総評として、審査委員長のMatzさんのコメントで第10回の節目となったコンテストは終了。ゲーム部門に対しては、筆者も感じたレトロ感について述べつつ、各作品の質の高さに言及していた。どのゲームも面白そうなので、なんとか遊んでみたいものだ。クリエイティブ部門3作品については、「Minory」をプロ顔負けと賞賛しつつ、何櫟さんの研究への熱意と、1人でサービスを完成させた石川さんを応援したいと思いMatz賞を贈ることにしたとコメントしていた。
「プログラミングができる」ことの意味
いまや、全国で多くのプログラミングコンテストが行なわれている。扱っているツール、言語に違いはあれど、参加している子どもたちの表情は一様に明るい。自分がつくりたいもの、課題に思っていることに対して、熱心のそれぞれのやり方で取り組んでいるからだろう。それを支えている学校や地域社会の活動にも、また価値があると筆者は思う。
今回のルビコンを拝見して、「プログラミングができるとはこういうことなんだ」と実感した。高校の情報Ⅰが話題になる昨今ではあるが、自分たちがやりたいことや、創りたいものをプログラミングで自由に取り組めたら、それはとても素晴らしいことのはずだ。
もう1つ、「Rubyでゲーム開発ってありなんだ」という気づきだ。ゲームクリエイターが将来の職業の選択肢としてあがったり、いわゆるインディーズゲームがマーケットを通じて広がる現代、ワンルームミュージックならぬワンルームゲームスタジオはもう普通のことなのかもしれないと思った。
加えて、RubyにはRailsという強力で広くサービス開発に使われているフレームワークもあり、自分が開発者になるかどうかはともかくとして、その知見を得る機会は貴重だろう。
今回のコンテストをきっかけに、Rubyというプログラミング言語に興味を持ったら、ぜひ一歩を踏み出してみてほしい。Rubyというと、難しいイメージを持っている保護者、先生達も多いと思うが、今や「スモウルビー」のような小学生でも親しめるツールや、ブラウザーベースで体験できるサイトも増えてきている。
ルビコンは今年2021年度も開催が決まっており、夏から秋にかけてプログラムの応募がはじまる。10代のみずみずしい感性でチャレンジし、仲間を募って、つくることを始めてみてはどうだろう。
筆者も愛用のKANO PCにRuby環境を入れてみることにしようかな。