競技部門について

さて、今日で高専生最後の日です。

高専生なうちに競技部門について感じたことを書いてみようと思います。
2010年の競技部門からなので来年のためになるかは別。
メンバーは出来れば3人。
今年は自分が至らずほぼ自分一人で作るという失礼な結果になったのでその辺の分担についてもちょびっと。
アルゴリズムについては当然全員で話しあうこと。

とりあえず流れ。

まず、4月に公開されるであろう要項をよく読むこと。
ここでちゃんとルールを把握するように。
そして、要項には競技の評価方法とかが書いてあるはずなので、自分たちでその評価ができるツールを必ず作ること。これが一人必要。

コーディングを始めるときには、アルゴリズムを決定するまえにプログラムの構造を先に考えること。
アルゴリズムなんてどうせ試合前5分とかまで変更し続けるんだからコードが肥大化しても自分が扱いやすく変更しやすい物にする。
コーディング担当は一人で結構。チームで相談して決定したアルゴリズムをできるだけすべて実装すること。下手にアルゴリズム同士を組み合わせない。
組み合わせるのは実装して評価してある程度煮詰めた後で。
そしてこの評価を残った一人が行うこと。
コーディングしてる人疲れるから休ませてあげて。
逆に言うとコード書く人はテストとするのが嫌になるほど気合入れてコードを書くようにしないとダメ。
ずっと考えてずっと書き続けることで微妙な修正点と飛躍的な改善方法が生まれる。かもしれない。

まあそんな感じで試合まで頑張る。
試合終われば寝れるから大丈夫だ。

次にアルゴリズムとかコーディングについて。
まずはルールを把握して、ある程度コードを書いて最低限動くものを作ること。
2010年で言うと「配水」「チャージ」「移動」ができるってとこまで。
そこからアルゴリズム。
ちょっとやると改善したくなるしする方法もすぐわかる。
でもその前に競技内容で一番勝ちにつながることを考える。
2010年では「水の配水量」がそのまま点数で、相手の邪魔をしても点数にはならない。
つまりいかに水の配水を効率よく行っていくかが勝ちに近づく方法だったわけで。
中途半端に「あれもしよう」「これもしよう」「これ付けたら強いんじゃね」とか絶対にしない。
たとえ計算量とか非現実的でも、まずは勝ちに一番近づける部分を可能なかぎり煮詰めること。
動きさえすれば絶対勝てるっていうものはどんなゲームでも必ずありますのでそれを見つけられるように。

そして、いらんもの作らない。
競技結果発表前に自分たちの順位がわかるものつけちゃったりとかしない。
(ちなみに2010年長野高専競技プログラムは正常終了しないプログラムでした。)
そんなことしたって結果発表のドキドキが失われるだけなのでそんな時間あったらチョコ買いにいくとかカラオケ行って気晴らしするとかしてください。

あとちょろっと評価について。
まあ、評価したときに順位が出る物であれば、一つ下の順位とのスコアの差を常に気にするように。
順位が上がるように改善できなくても、この差が増えていればきちんと改善されていると考えて良いと思います。

以上ですが、一番大事なことは「一見無理そうに見えるけどこれできたら絶対勝てる」を諦めないで作れってことです。
それに必須でない機能は付けない。
例えば相手のスコア計算するものとか、いらないでしょ?

そんなわけで来年から競技出る人頑張ってください。
そろそろ長野高専にも競技1位欲しいです。
あと、うちの学校1位とか2位にならないと入賞してないのとあんま変わらない扱いなので頑張ってくださいね。

来年度のクリエイターズ同好会

 来年度(平成23年度)のクリエイターズ同好会の活動について次々と決定されています。

現在、来年度はプロコン出場者とそれ以外の人で活動を分けていこうと思っています。
プロコンに出場しない人は主に新入生になると思われます。


・来年度のプロコン
 来年度のプロコンの大まかな予定は以下の通りです。募集期間までに作品をどうするか決めなくてはいけないのであまり時間はありません。
募集期間:5月20日(日)〜27日(金)
予選:6月25日(土)
本選:10月15日(土)・16日(日) 場所:一関文化センター
今年もプロコンメンバーを集めて予選突破を目指します。

。プロコン以外の活動

 Processingと呼ばれる言語を用いてプログラミングの基礎を学びます。本年度の反省を活かして来年度は教材、教える側の人間をきちんと用意して、活動が止まらないようにしていきます。
Processingを選んだ理由ですが、この言語はとても簡単にグラフィックを扱えるので成果が出やすく、「コマンドラインだけを見て絶望→挫折」ルートとならない可能性が高いためです。一通りプログラミングの基礎を学んだらゲームなどの作品を作ってもらうような方向性で考えています。

以上が来年度の予定ですが、現在Processingの代わりにツクールを使ったらどうかという案が出ているなど、ほとんど未定です。

2011年度クリエイターズ同好会長あいさつ

2011年度のクリエイターズ同好会長になりました奥本です。

今年度は同好会活動の計画をしっかり立てて,同好会全体の技術力を高めていきたいと思っています。

今のところ考えている活動内容は,

などになります。

プログラミングの入門講座では,簡単に見栄えるする成果物を作った方が,楽しいかと考え「Processing」を利用して「グラフィック系」を扱おうかと思います。これなら,学園祭とかの展示作品も見栄えして一石二鳥ですね。
個人的には,C言語とかで計算バリバリとかも楽しいですがw

でも,C言語を使ってコンピュータの内部を感じる事はとても大切なので,C言語でのプログラミングもしっかり取り入れたいと思います。(素数計算とか(ry)

入門講座だけ(要するに受動的)では個人個人の技術力がグンと高まることは無いと思います。
やはり,自分から「これをやってみたい。」,「あれをやってみたい。」と求めて行く必要があります。(自発的に,能動的に)

それらをクリアするためには,各種大会に出ることがベストな方法だと僕は思っています。
大会に出ることにどんなメリットがあるかというと,

  • 目標ができる
  • 意欲がわく
  • 必然的に自分から行動しなければならなくなる
  • 他の人からとても良い刺激を受ける
  • 自分の技術力を知ることができる
  • 技術力が向上する

などなど,まだまだたくさんありますが,この様なことが「大会に出ること」でのメリットではないでしょうか。
僕は,去年プロコンに出場させて頂きましたが,プロコン前とプロコン後では明らかに技術力がついたと感じています。(まだまだ太刀打ち出来ない程度ですが。。。)また,他高専の素晴らしい方々を目の当たりにして,自分自身をもっと高めて行きたくなりました。

長くなりましたが,今年度は部員全員が何かしら大会などに出る様にするということを,考えています。

最後に,今年度は同好会の活動を盛り上げたいと考えています。
あと,情報系の学科がある学校なのにも関わらず,情報系のクラブの規模が小さいので,もっと活動を広く知ってもらい,規模を大きくしていきたいと考えています。

よろしくお願いいたします。

post

第21回プログラミングコンテストの結果

今年は,競技部門と自由部門が本戦に出場することが出来ました。課題部門も1チーム予選に応募したのですが,残念ながら予選落ちという結果に終わってしまいました。

本戦では競技部門,自由部門ともに上位入賞し,活躍して参りました。

競技部門 「高専の治水基礎B」
 第3位

自由部門 「Connect Beat!」
 特別賞・企業賞(ブロードリーフ賞)
概要:予選資料(PDF)

大会後の記念撮影

5年生2人,4年生2人,2年生1人,1年生3人というメンバーが本戦に参加し,低学年メンバーが多い中それぞれのチームが一丸となって力を合わせ,素晴らしい賞を頂いて来ました。

この場をお借りして,私たちを手厚くサポートしてくださった,伊藤先生,鈴木先生を始めとする諸先生方や応援していただいた先輩,同輩,後輩,会場を準備していただいた高知高専の皆さま,私たちを評価していただいたプロコン委員の先生方,そして多様な面で支えていただいた家族の皆さまにお礼を申し上げたいと思います。本当にありがとうございました。今後も皆さまの期待を裏切らぬよう,日々努力していく次第です。

(長野高専 第21回プロコン出場メンバー 一同)


競技部門・決勝戦(プロコン公式サイトより)

開発作業の様子(自由部門)

ブロックを製作中

いざ出陣


現地でも奮闘(自由部門)

シリアル通信がおかしい!?

ブースの様子(1日目)

内部構造(マスターブロック)
リズムブロックとトーンブロック