最近急にお腹が痛くなるときがあってこまる。
寒いとすぐに腹壊すんだよな。
MacBook出たけどその前にとりあえずiPod nano買った。
薄くて小さくて音楽再生専用というのは楽でいいね。いままでひとつのガジェットにいろいろやらせようとしすぎたんだよ…。
この前の日曜日に高専プロコンがあったので観に行ってきました。ほんとは土曜日からだったけど用事があっていけず。
競技部門は、まあ結果からいうと、運営の用意したプログラムがバグりまくってて、まったく試合にならないために中止。後日なんとかするとのこと。
さすが福島高専、まさに歴史に残るプロコンですね。黒歴史だけど。いつもプロコンとか全然興味ない学校だしな。
自由部門、課題部門はデモが競技部門やってるホールの外側、階段の踊り場や通路に設置されていて狭いこと狭いこと。
これはさすがにかわいそうだな。
課題、自由部門は自分が参加してたときには見れなかった視点で見れてとても新鮮だった。
まあ結局プログラミングコンテストというよりはアプリ売り込みコンテストではあるんだが、仕事するようになってからちょっとは売り込みの大事さが分かったからね。
技術の善し悪しも大事だけどそれと同じかそれ以上に売り込みが大事と。
今回の自由部門の最優秀賞だかは影絵をつくってそれを認識するインタラクティブな影絵だった。手の形認識とちょっとか大変そうなことやってるなーとは思ったけど、きっちり作ってあるのはいい感じだったね。
あと優秀賞だかなにかにiPod touchを加速度センサーとして使う変なインターフェースのRSSリーダーとかいろいろ。これは技術的に困るところも何もなさげだったけど、きっちり作ってあるなという印象。
見た感じでは大事なのは派手さということでは、前から変わってないね。
そんなわけで、高専プロコンで勝つには。
まず派手なネタを考える。プレゼン、資料、デモで一目見ただけで興味が惹かれるネタ。
といっても一から考えるのは大変なので、技術系のニュースとかから派手目なのを拾ってきてパクる。高度な技術がパクれるなら素晴らしいんだがそれは大変なので実現できるレベルに落とし込む。劣化でもいいじゃない。
あとパクるのに問題があると思うかもしれないが、流行物でもない限り誰も気づかないから大丈夫。つか実装がちがければ十分だって。自分で考えてもしょぼいだけか、実はもうあるものの劣化だったりするしね。それよりは情報を広く集めといた方がいい。
体感ゲームみたいなのをパクるのもいいが、あまりにもゲームっぽくしすぎて、ただのゲームじゃないんですというこじつけができないのは困るよな。
スペースを大きくとる必要がある物はポイント高い。どうしても他より目立つからね。普通にPCとモニターがあれば十分というならなるべく出かいモニターを使う。なんとかプロジェクターを使う理由がこじつけられればなおよし。
技術的に難しそうなところはオープンソースやフリーのコードがあるのを大いに活用する。金があればライブラリとか買ってもいいけど高いよね。
自分で作るのもいいけどあり物があるなら使わなければ損だ。車輪の再発明*1なんかが評価される物じゃないよ。
精度とかが関係ある物は妥協しまくって構わない。デモの間ごまかせれば十分だ。捏造はさすがにやばいと思うが。どうしてもシビアにとらなきゃいけないようなものは完成するかどうか怪しいから避けた方がいいかもね。
UIについては妥協せずきっちり作る。見た目でほぼ決まる。過剰演出する必要は無いと思うけど、地味な見た目にしかなりそうに無いならテーマを間違えたんじゃね?
資料やプレゼンはしっかり作る。これについては俺はなんともいえんけど、他より印象づける必要があるのは当然だよな。下手するとプログラム自体なんかより大事だぞ。
名前は短くて覚え易く中身が連想し易いものをつける。名前だけみた時にこれなんだっけとならないように。馴染みのない英語名とか絶対ありえない。
あとはプレゼンとか女の子がやるのがいいらしい。そりゃたくさんいる野郎共の顔より数少ない女の子の方が覚えられそうだな。どこも女性がプレゼンやるようになったら逆転するかも知れんけど。
長々とかいてみたけど結局はまずどれだけ印象づけられるかだよな。
とりあえずいまのプロコンで勝つ方法なので、パクりでいいとか、デモの間だけ持てばいいとか書いてあるけど、どこのチームもこれくらいのことができるようになれば、それでは通用しなくなるだろうな。
それからが本当の「プログラミング」コンテストになると思う。
いまはほとんどの高専でまったくできてないので、デモとプレゼンの見せ方コンテストだね。まずそこを強化したほうがいいわ。
あと個人的には競技部門も見せ方考えるといいと思うよ!競技部門なんて地味なんだからテレビ映えする方がいいって!勝つのをあきらめてネタに走るのもいまならまだいける!
まあ俺は数年前ネタに走った挙げ句、ネタの見せ方失敗してひっそり消えたんですがね。そうならないようにやるなら派手にいきましょう。
パンフに載る予選の資料提出段階から出し惜しみしない方がいい。どうせ何書いても通るんだって。
まあ競技部門は地味に勝ちにいけるならそれでいいんですけどね。どうせなら派手に勝ちに行った方がNHK的にもいいでしょ。
*1 再発明じゃなく再実装にしたって
最近普通の2D描画するにもRiko使っちまってるので、OpenGL辺りでうごかねーとか言われることがままあるんですよ。
VMとかで動かしてるとどうしてもHWアクセラレーション無い場合があって、WindowsXPなんかの古いWindowsだと標準のOpenGLレンダラが1.1までしか対応してないとか言う。
まあ1.1対応させるのはちょっと判定増やしてやるだけかと思ったんですが、良く考えたらVBOを必須として使ってて、その辺の対処はかなりめんどそうなのでやりたくない。
SDLとかで動くようにしてもいいんだけど、書き換えるのもだいぶめんどいなー。
というわけでMesaでソフトウェアレンダリングできないかと考えた。
落としてきてコンパイルしようとしたらMinGWではSSEとか使うアセンブラコードはビルドできないんだと。
しかたないので普通にC版をビルドしてopengl32.dllができるのでそれをアプリに使わせるだけでソフトレンダリングに!
で、やってみたんだけど、なんか変。かなり重いのはまあ見なかったことにするとしても、ダブルバッファリングできてません。
自作でなく他のアプリで試してみる限りはそんなことなさそうなんだけどなぁ。
SDLと相性悪いのかと思ったけど、SDLのコードみてもダメそうな所も見つからない。
glfwのサンプルにしてみてもちょっと遅いけどちゃんと動いてるようなんだが。
うーん、他にSDLでOpenGLのコンテキスト作るようなサンプルで試すか、glfwに載せちゃおうかなぁ。
これが動いてくれれば、最低限は動く版も作れるし、速くできれば2Dだけのものにも気兼ね無くOpenGL使っちゃうんだけど。
なんかS3のサイトにはChrome500シリーズ用とか言う謎のドライバがあがってるんですよ*1。リンク張ってないしβだけど。
で、バージョン番号新しいしこれ430GTでも使えそうだと思っていれたらあっさり入りやがって。
普通の使い勝手は別に変わらないんだけど、なにはともあれOpenGLの拡張増えてないかと思ったらあらまびっくり増えてやがる。
なんかが増えてるようです。
あれー?下手するとRadeonよりGL3対応進んでませんかこれ。まあこっちはまだ正式版でも400シリーズ用でもない怪しげなドライバでの話だけど。
WGL_ARB_create_contextとかはないんでまだOpenGL3のコンテキスト作れるわけじゃないし、OpenGL Extensions ViewerでみるとあとNV_conditional_render相当の物が足りないといわれる。
まあ実際はEXTじゃないARB_framebuffer_objectとかが必要だったりするんで、完全対応が近いってわけでもないけど。
でもさすが俺等のS3だ!ひっそりと、しかし期待を裏切らない!*2
500シリーズが正式に出るころには3.0対応とか言ってくれるんだろうか。それはちょっと早いかな。
あとEXT_direct_state_accessが無いかと期待したんだけどこれはちょっとまだみたい。巨大拡張だからしかたないかね。
あ、そういえばマルチサンプルは16xまで設定できるけど、実際は4xまでしかかからないらしいです。なんで設定できるんだよ!
そういやWindowsで動くOpenGLのデバッガ/プロファイラであるところのgDEBuggerがいつのまにかオンラインでクレジットカードで買えるようになってた。
以前は注文書をFAXか郵便で送れとか言ってた。しかも会社はイスラエル。それはあまりにも敷居たけー。
体験版をいじったくらいだがとても便利な物だったので、買い易くなるのは非常にうれしい。うれしいが$800近くとお値段が張るのはやっぱりきつい。
メインにしているMacだとOpenGL Profilerがタダなのでべつに困らないんだけど、Windowsでもデバッグするときにはやっぱり欲しいんだよなぁ。
まあいつでも買えるものだし、必要になったらそのとき買おう。
あ、Linux版もあるのか。でも超高いわ。