processingで描画モードをOPENGLにして,Captureとか使うときの注意
processingで,
size(width, height, OPENGL);
こんな感じに描画モードをOPENGLにして,そこでvideoとか使いたくて,
Capture video; video = new Capture(this, width, height);
と,した時に,環境によって動かない時があるっぽい.
どうなるかというと,実行は出来てウィンドウは出るんだけど,そこで何も表示されないままフリーズ.
エラーや警告文は無し.stopボタン押せば消えるけど.
ちなみに僕の動作環境は以下
- MacBookPro 2010 (プロセッサ: 2.4GHz IntelCore2Duo, メモリ:4GB, グラフィクス: NVIDIA GeForce 320M)
- Mac OS 10.6.8
- processing 1.5.1
対策
size()直下にレンダラの動作条件を設定するhint()メソッドを書く.
size(width, height, OPENGL);
hint(ENABLE_OPENGL_4X_SMOOTH); //DISABLE_OPENGL_2X_SMOOTHでも可
ちなみに
processing2.0以降からレンダラがP2DとP3Dの2種類になるらしいよ
近況
春から取り組んでた編入学試験も終わり,ようやく落ち着きました.
編入
受験の結果は,
の2つに合格しました.第一志望だったメディア創成には落ちました.ちくしょう.
というわけで来年からは多分筑波に行きます.
単位認定が厳しそうなので,とてもとてもとても心配です.血反吐必至です.
これから
夏休みにも突入して,ようやく自由なので色々できそうです.
とりあえずは卒研.インターフェース的な研究してます.UIというよりはHCI的な.
8月25,26日に地元である「おもしろフェスタ (詳細)」 で,まずプロトタイプの展示します.
ついでに子供が喜びそうな何かを作って持ってきます.
卒研と平行して趣味で面白いもの作って,どこかで展示とか発表とかしたいです.
電子工作とかARとかインターフェースとかメディアアート的なものが最近好きなので,そっち方面でいくつか何か作りたいですね.
そのために勉強もいっぱいしなくちゃですね.
とりあえず夏休み中に色々手がけて,ものつくって,報告できるようにがんばります.
えんちゃんと
夜中に現実逃避でenchant.jsで遊んでた.
enchant(); var game; var arr = []; window.onload = function() { game = new Game(320, 320); game.fps = 24; game.onload = function() { for (var i = 0; i < 50; i++) { var ball = new Ball(160, 160, 2.5 - Math.random() * 5 , 2.5 - Math.random() * 5, Math.random() * 1.5); arr[i] = ball; } this.addEventListener(Event.ENTER_FRAME,onLoop); game.rootScene.backgroundColor = '#ffffff'; }; game.start(); } function Ball(x2,y2,vx,vy,ay) { //Ballクラス Ball.prototype = new Sprite(); Sprite.call console.log(this); this.xx = x2; this.yy = y2; this.vx = vx; this.vy = vy; this.b_vy = vy; this.ay = ay; this.color_red = Math.floor(Math.random() * 255); this.color_blue = Math.floor(Math.random() * 255); this.color_green = Math.floor(Math.random() * 255); this.color_alpha = Math.random()*1; this.color = "rgba(" + this.color_red + "," + this.color_blue + "," + this.color_green + "," + this.color_alpha + ")"; ///console.log(this.color); this.sp = new Sprite(20,20); this.surf = new Surface(20,20); this.surf.context.beginPath(); this.surf.context.fillStyle = this.color; this.surf.context.arc(10,10,10,0,Math.PI*2, false); this.surf.context.fill(); this.sp.image = this.surf; this.sp.x = this.xx; this.sp.y = this.yy; game.rootScene.addChild(this.sp); this.update = function() { //Ball.prototype.update = function() { this.sp.x += this.vx; this.sp.y += this.vy; this.vy += this.ay; console.log("hoge-" + this.sp.x); if ( (this.sp.x) > 320 || (this.sp.x) < 0 || (this.sp.y) > 320 || (this.sp.y) < 0) { this.sp.x = this.xx; this.sp.y = this.yy; this.vy = this.b_vy; } }; }; var xx = 0; var yy = 0; function onLoop (e) { for (var i = 0; i < 50; i++) { arr[i].update(); } }
感想
jsよくわからん
理想はBallクラスの中で,
this.sp.addEventListener(Event.ENTER_FRAME,onAnimation);
function onAnimation() {
this.sp.x += this.vx;
this.sp.y += this.vy;
}
みたいなことしたいけど,イベントリスナ内から自クラスのプロパティを参照するのがよーわからん.
あと,Ball.prototype = new Sprite(); でSprite継承してるけど,
Ball.addEventListener()って出来ないのがよくわからん.
Ball.prototype = new EventTraget(); //addEventListenerメソッドの定義元
でもうまくいかん感じ.
プロトタイプベースオブジェクト指向もっと勉強せんとあかんね
うん
こういうの作るんだったら,easeljsの方が楽やね
つか
なんでもjsで作れば正義みたいな風潮どうにかなんらんのか
2011振り返り
今年も彼女さんが振り返りシート作ってくれたんで振り返ってみた.(去年の.)
かんそう
1月~2月, 4月, 7月~8月, 12月くらいはがんばってた気がする,
ちょうど半分くらいか.なんだかな.
それ以外の月は割とサボり気味だったような.
こうやって振り返ってみると大した事なんにもしてないなーと,ちょっと嫌になった.
たのしかったこと
楽しかったのは1月,2月,4月,7月,8月,12月くらいかなーって,さっき挙げたやつじゃないですか.
何か活動してると楽しいみたい.無気力状態はやっぱつまらんね.
デスマだとしても何か物作ってると楽しいんだろうな.
特にやっぱり夏が楽しかったな.セプキャンにインターン.最高だった.
あと,後でも書くけど展示.これ超面白いね.
つらかったこと
一番つらかったのは9月.いっぱい泣いた.
あとは5月とか6月とか10月とか.なんか色々書類とかお仕事とかの〆切に追われてたからか辛かった印象が.
同じデスマでもプロコンとかとはなんか違って,すごく息苦しい感じ.なんだろう,対象へのモチベーションかな.
まなんだこと
自分で言うのも変だけど,今年はなんだか色々と成長した気がする,主に精神的に.
自分の甘さを大いに味わった一年だった.肝心なところで負けるのはまだまだ甘い証拠ですね.
技術的にはまぁまぁ.広く浅く色々やってみたら出来る事が増えて,ものづくりの幅が広がった.楽しい.
あと軽いものを作るスピードがかなり上がった気がする.
これからやりたいこと.来年の目標.
いっぱいものをつくりたい.
今年はなんやかんやであんまり作ってなかったので,どんどん作って公開したい.
公開もただブログとかに書くだけじゃなくて,今年何度か展示会みたいなのにブース出して発表とかしたのが凄く楽しくて楽しくて堪らなかったので,そういう場所に出せるようなものをいっぱい作りたい.
ただ粗くプロトタイプみたいなのを作るんじゃなくて,人様に公開できる程度に作り込んで,見栄えも整った状態までもっていって,公開.みたいなプロセスを何度かやりたい.
Makeとかプロコンとかがとりあえずの目標.
あと来年は編入合格する.これは絶対.
あと何かコンテストとかにもっと出たい.競うの楽しい.そして勝つ.
なんというか下地が色々できたかなーという一年でした.
来年からもっと暴れられるように,いっぱい学んで,いっぱい物をつくりたい.
つまり来年の目標は
・編入合格します.
・いっぱい物づくりします.
・いっぱい展示します.
・研究で成果出します.学会とか(これは時期的に再来年になるのかな)
・Makeとかプロコンとかに出ます.
・コンテストとかで何か賞とります.
大体こんな感じかな.
今年は詰めが甘かったです.その分学ぶ事も多かったけど.
来年は濃くて熱くて幸せな1年になれますように.
さいごに
最後になりましたが,今年も本当に多くの方のお世話になりました.
こんな糞ガキと色々付き合ってくれて本当に感謝です.
また来年もいっぱい面白いことしましょう!それでは,良いお年を.
高専プロコンを終えて
課題部門で出場してきました.
割と気合い入れて,当日の自信も結構あって,「これいけるんじゃね」とか思ってましたが残念.敢闘賞でした.
とてもとてもとても悔しいですが,落ち込んでるだけでは次に進めないので,とりあえずプロジェクト始まってからプロコンまでのこととか,当日のこととか,反省とか考察とか色々まとめてみることにしましたー.
プロコン参加まで
予選
プロコンに向けてアイデアとかネタ出しを始めたのは,たぶん2月とかくらいから.
アイデア出しトレーニングみたいなのを含めると年明け前くらいからやってた気がします.
去年ふざけすぎて予選落ちたのとか,出場経験のあるOBとかがいないのでそういったノウハウがないのとかが合わさって,割と慎重に時間をかけてやりました.
始めの叩き台ができたのが4月中旬くらい.自由部門向けに考えてました.
5月末に一旦予選資料のフォーマットに合わせてスライド作成したり,そこからアイデアが二転三転して課題部門向けにブラッシュアップしたりして,予選を迎えました.
結果は7月末くらいに出て,無事通過してることを確認してかなり喜んでた気がします.
本戦まで
予選資料提出してから,9月くらいまではメンバー各々必要な技術の取得に取り組んでいました.
今回AndroidアプリとWebサービスとハードウェアを作成し(作った物の詳細は別エントリに書きます),それぞれ役割を分担して開発しましたが,なかなか連携がうまくとれていなかったように感じました.
正直なところ,11月中旬くらいまでは予選資料で掲げたアイデアの半分もできていなかったです.
10月中旬に地元のITフォーラムという展示会で今回作ったもののプロトタイプの展示を行ったのですが,それが終わってから1ヶ月~1ヶ月半くらい中だるみ期間がありました.
12月上旬に中間試験があって,それが終わるといわゆるデスマーチの始まりです.
家に帰らずに学校でずっと作業をしていることが2週間ほど続きました.
そんな死線を超えた努力もあったか,本戦1週間前には大体形になりました.
プロコン前日
僕たちは高専プロコンが開催される前日に現地に到着し,宿泊先のホテルにて作品の残っていたバグ潰しや最終確認をひたすらやってました.
あ,あと僕はプレゼン審査が翌日にあったので,資料の見直しや発表練習もしてました.
深夜になり,作品もそこそこ安定して動作し,プレゼンもあとは少しの手直しだけで完成だろうといったところで,色んな悲劇が起こりました.
アプリの方では謎のバグが発生し「何もしてないのに壊れました!()」状態になり,ハードウェアに至っては使用していたマイコンがぶっ壊れ,完全に詰み状態に入りました.
そんな感じで泣きそうになりながら作業を行い,プレゼンがまだ未完成のままプロコン当日の朝になり会場に向かいました.
プロコン当日
1日目
開会式やらブースの設置が終わると,僕は未完成なプレゼンの手直しや発表時間の短縮を行っていました.
なんとか時間内に収まるようなスライドと脳内原稿が完成し,プレゼン審査に挑みました.
プレゼンは結構早口で緊張した感じがもろ見えな発表をしてしまいましたが,伝えたい事は全部言えた上,時間ぴったり,質問に対しても詰まる事無く全て詳細に返す事ができたので,発表を聞いていた引率の先生からすると「中々良い感じで,好感触だった」とのことでした.
個人的には,内容はよかったとしても発表能力的には酷すぎるし失敗したなーとか思ったので意外でしたが,もう眠くて眠くて自分の発表を客観視できる状態ではありませんでした.
ブースの方は,アプリは正常に動き,デモできていましたがハードウェアの方はまったく人に見せられる状態ではありませんでした.
1日目を終えると,交流会には参加せずそのままホテルに向かい,夜まで爆睡したあと再び朝までデスマーチが始まりました.
ハードウェアの方は代えのマイコンを当日になってうちの高専から会場に来られた先生に持って来てもらったので,それを使って修復作業に取り組みました.
朝までには完成し,ようやくアプリもハードもすべての機能が正常に動作する状態になりました.
2日目
2日目はデモ審査とマニュアル審査.僕等のところには朝一でさっそく1回目のデモ審査がありました.
実は,デモ審査の前にもアプリの方でいきなり強制終了する謎のバグが発生しましたが,メンバー1人の冷静な対応により審査2分前くらいに直りました.
1回目のデモ審査の感触はかなり良かったです.質問にも全て答えられ追加で説明してアピールできましたし,好意的な意見も頂いたり,時間を過ぎても少しブースの方に留まって作品を見てくれたことから,なかなか好印象なのではと期待していました.
マニュアル審査も,全てマニュアル通り正常に動作し審査員の方がマニュアルをみて特に不明に思われることがなかったので,なかなか上出来だと思いました.
2回目のデモ審査は,審査委員長の方が食いついて質問,説明を受けてくださったのはよかったのですが,
そちらに集中しすぎて,他の審査員の方にあまりアピールできていなかったと思いました.
ここまでで審査中に大きな失敗もなく,むしろ好感触だったので「これは何か獲ったぞー」と期待していたのですが,結果は冒頭にも書いた通り期待はずれな敢闘賞でした.
反省と考察
さて,ここまでプロコンまでにあった事実を淡々と書きましたが,期待はずれの結果になってしまったのは何が原因だったかを考えてみます.
アイデアについて
個人的な主観ですが,僕は自分のチームの根幹となる部分のアイデアには欠点がなかったと思います.
ただ,振り返ってみると作り込みが甘かった.作り込みというのは,後述する技術的な面はもちろん,アイデアとしての作り込みもです.
根はよかった.しかし,そこから伸びた枝に甘さがありました.終わってから「もっとこうすれば,さらに実用的で面白かった」というものがいくつも思い浮かびました.
これをプロコン当日までに出せなかった理由としては,プロジェクトに余裕がなかったことが考えられました.
当日ぎりぎりまで予選資料に書いた通りの実装を行っていたため,形にしたあとにそれを振り返り,自分たちで評価する時間がまったくなかったのが問題でした.
途中でアイデアの最考察を行い,仕様や実装する機能の変更は何度も行いましたが,実際にある程度完成したものを見て,再度考えることはありませんでした.
また,機能が多岐に渡り複雑すぎたのも問題かと思いました.
自分たちの作った物を審査してもらう時間は,プレゼンとデモを合わせても15分とありません.
そのため,ありきたりな機能を新しく実装するよりも,自分たちが一番大切でいける!と思っている機能を磨き,作り込むことが大事かと思いました.
枝は多すぎず,ひとつを太く.これがポイントかなと思いました.
開発について
プロコン当日までの流れにも書きましたが,まず中だるみがあったことが最大の失敗でしょう.
では,この中だるみはなぜ発生したか.これは自分たちの頭の中で必要最低限の機能を実装する為の見積もりしか出来ていなかったからです.
完成品したものを最考察することがなかったと書きましたが,正確にはその時間を取る事を考えてなかった.
始めから自分たちの中のタスクとして認識できていなかったので,必然的にそれを行う時間は生まれなかったのでしょう.
僕たちのチームの最大の失敗は,一度作った物を見直さず磨き上げることをしなかったこと.それをそもそもする気が頭の中になかったこと.恐らくこれに尽きます.
余裕がなかった.というのは完全に甘えです.作る時間はいくらでもあった.掲げた始めの目標で勝てると思っていた.完全にプロコンを舐めていたと思います.
問題は,この反省を次に活かせるかどうか.また同じ過ちを繰り返さないようにする為にはどうすれば良いか.
恐らくこれは体験的に学ぶしかないと思うので,普段作った物でもこういった意識を働かせる事.
また,ここで得た体験を後輩に伝えていく事.こうしたことで少しずつ見直す事の重みが分かっていけば,と思います.
チームについて
結果についてとは全く別にチームのことについてです.
僕は初めてチームで物を作り,それをまとめる役を担っていました.
難しかったのはチームメンバーがそれぞれ全く別の作業をしているので,お互いに連携がとれないでいるのをうまく繋げることです.
アプリを作っている側はサーバサイドの知識はほとんどありませんでしたし,その逆もまた然りです.
なので,お互いにして欲しい事をうまく伝えられなかったり,思うように連携が取れていませんでした.
幸い,僕は今年インターンやセプキャン,個人的な制作などでこれらの事を浅くはありますが身に付けていたので,その間を仲介することができましたが,これが地味に中々骨の折れる大変なことでした.
チームメンバーは実に良い仕事をしてくれたと思います.特にAndroidアプリ班の作業量には頭が上がりません.
しかし,全体的に足りなかったものとして「熱さ」が挙げられるかな,と思いました.
割と根性論的な話しかもしれませんが,「高専プロコンで何が何でも最優秀賞とってやるぞ!」という勢いというか思いがまだまだ足りなかったように感じます.
アイデア出しの時にもっと積極的になったり,「今のままだとここが微妙だから,こうしたいんだ!!」みたいな意見を挙げてみたり.
しかし,こういったモチベーションをあげさせられなかったのは,メンバーの意識をうまくまとめられなかったのはリーダであった僕の責任でもあるので,コーチング的な面でもまだまだ改善が必要かと思いました.(しかし,こればっかりはここ数年ずっと考えてるけど未だ成果がでず...)
細かい事は色々ありますが,こんなところに書くよりも言った方が効果あるし良いに決まってるのでチームについてはこのくらいで.
全体を通して
まぁ何はともあれ,とりあえず作品として高専プロコンという大舞台で自分たちの成果を発表できたのは非常に良かったと思います.
結果としては悔しいさが残りましたが,同時に様々な反省点や,次にどうすれば良いのかという改善策も少しずつ見えて来たのでこれをうまく受け継がれていくようにしたいと思います.
個人的には,来年は受験とかあるし今年で最後かなーとか思ってましたが,もう一回出たいです!!!!!!!!!!!!!!!! 来年一緒に出たい!っていう人,声かけてください.
まぁその辺は,自分の今後のこととかと一緒にじっくり考えたいと思います.
今後のプロコンに望む事
最後に,今回プロコン後に「次世代高専プロコンを考える」というカンファレンスがあったので,せっかくなので自分の意見を書いておきます.
- 審査結果を全て公開して欲しい
デモ,マニュアル,プレゼンと,何か色々A,B,Cだとか点数つけまーすって書いてありましたが,実際どんな項目にどんな点数がついたのかフィードバックが欲しいです.
何が物足りないと感じたのか,何が良いと思われたのか.こういったフィードバックがあれば,各チーム次にどうすれば良い作品ができあがるか皆考えると思います.
審査でメモったり,点数つけたりしてるんですから,それを各チームに後で配るのはそう難しいことではないと思うんですが...
- 提出書類の必要事項,指示をもっと厳密化してほしい
特にマニュアル.正直,配られた資料見るだけでは,何書けばいいかまったくわかりませんでした.
全ての機能を網羅しなければいけないのか,
システムについての説明はどの程度書けばいいのか(マニュアルという言葉通り,操作方法"だけ"で良いのか),
操作方法の厳密さはどの程度なのか(例えば,ブラウザの開き方,端末の起動の仕方まで書くのか),などなど.
【「起動から終了までの手順を書いてください」.評価は,「マニュアル通りに動くかです」】といった言葉だけだと,
「アプリのアイコンをタップして起動します.→ 電源を切ります」といったアホみたいな内容でもマニュアル通り動くという事になりますよね.
また現状の指示だと,説明が面倒なところをマニュアルではワザと省くといったことも可能なんですが大丈夫なんでしょうか.
当然,さっき書いた様な捻くれた内容は審査の際に「これは不十分だ!」と,減点の対象になることが予想されますが,予想されるだけで,そのことはどこにも書いてないんですよね.何も指示がないということは,自由にやって良いということだと思うんですが,
それを後から思惑と違うから減点とかいうのはちょっと困ります.まぁ今挙げたみたいな大げさな例は置いとくとしても,
実際に細かいところでもこのような作成者と審査員で認識のズレがあって不幸なことになるのは残念すぎるので,色々明記してほしいと思いました.
当然こういうことって,常連校とかならどうすれば良いかある程度分かってる物だと思いますが,僕等のチームみたいに初めて参加するところもあるわけで,なんというか公式で「OBがいるかいないか」の差が出るような事はできるだけ避けて欲しいなーっと.ノウハウとかは別として.
なんか最後愚痴みたいな感じになりましたが,こんな感じです.
高専プロコン,超楽しかったです!来年も出れるといいな.
作った物の紹介とかはまた別エントリで書きます
プロコン
絶賛デスマです.
勝ちます.