遊んで航海記

思いつきで遊んだり、ゲームを作ったり、寝たり

備忘録:よく知りもしないJavaScriptでライブラリとか作る男の記録

ハッ。と、気づくと去年からブログを更新してない。でもなにもやってなかったわけじゃないので、 Twitterからいくつか拾って備忘録にします。

その2はJavaScript編。

Webでビジュアルプログラミング体験。まほうのハコ

ビジュアルプログラミングとテキストを使った通常のプログラミングの橋渡し的なものがあればと思って、手を出してみました。

mameblock.jsp5.jsを使って作っています。

まだα版です。

Processing.jsを高速化

最近WebでProcessingといえばp5.jsなことも多いですが、ProcessingのJava的なコードをクラスなどもそのまま動かすならProcessing.jsの方がかなり楽です。ただtint()を使うとかなり遅いです。どのくらい遅いかというとこのくらいです。

それを高速化したのがprocessing.fast.jsです。どのくらい高速化したかというとこのくらいです。

fastといっても他のグラフィックス系のJavaScriptライブラリと比べて速いわけじゃないですが、透明度だけ変えるtint()とか、ある画像の色を変えて次回も同じ色を使うときなどは速くなってます。

もともとは以前、パフォーマンス計測でProcessing.jsが異常なレベルで不憫な成績だったのを見かねて高速化したのですが、

ics.media

それをベースに、色替えしたときもキャッシュしたり、ついでにblendMode()を足したり、スマホ向けにorientation()を足したりもしました。

ベースにしたProcessing.jsは1.4.1です。1.4.3あたりからスマホでのマウス(タッチ)の動作がうまくとれない感じがするので、仕方なく。

WebAudioでMinimっぽく音を再生

Processing 3は公式っぽいSoundのライブラリがあるのですが、使おうとしたらエラーになる時期が続いていた(最新版では治ってるかも?)ので、いまのところMinimを使っています。

で、Minimでplay()とかtrigger()とか使って再生するようなシンプルなプログラムをWebで動かすとき用にp.minim.jsというライブラリを作りました。いまのところ基本的な再生とか位置取得ぐらいの単純機能のみです。

iOSではブラウザ側の制限により、タッチするまでは音が鳴らない仕様です。さらに上記のように謎の音ゆがみ現象があったので、なぜこんなことを…というダーティな対応をしています。

備忘録:Arduinoデビューしたある男の記録

ハッ。と、気づくと去年からブログを更新してない。でもなにもやってなかったわけじゃないので、 Twitterからいくつか拾って備忘録にします。

その1はArduinoという電子工作に最適なマイコンボード編。

Arduinoデビューする

LEDを光らせる

サーボモーターで冷蔵庫(のおもちゃ)を開ける

電光掲示板を使う

そのあと忙しくなって、まだ他の部品は使ってないけど、楽しいです! ただ「なにを作るか」って発想が、ソフトウェアを作るときと違って、パッと出てこないので、もっと経験値が必要かなぁと思いました。

遠い昔、はるか彼方の銀河系で…3DスペースシューティングをProcessingで作ろう:改造編

毎年恒例、Processingをテーマにした技術系アドベントカレンダーProcessing Advent Calendar 2015」に今年も参加しました。いつもみなさんの記事を読むのを楽しみにしているのですが、自分の記事は土壇場で作るので、毎回結構冷や汗をかいています。

さて、12月のイベントといえばクリスマーーいや、今年は新作が公開されたばかりのスターウォーズでしょう! でも「チケットはあるのに見るのはまだ先」になりそうなこの気持ちは、プログラムにぶつけるしかない!

そんなわけで、今年は(余裕がなかったので)以前作ったスペースシューティングを改造して遊びます。

f:id:n_ryota:20151217230200p:plain

↑これが今回作る(改造後の)プログラムのスクリーンショットです。

続きを読む

車で那須旅行&子連れで那須の秋キャンプってどうなの?

今はもう冬な感じですが、10月初旬頃にコンパクトカーを借りて那須旅行、秋キャンプをしたので、写真でざっくり紹介します。春キャンプも似たような感じかな? 那須やキャンプ、子連れの旅行に興味がある方は、参考までにどうぞ。

f:id:n_ryota:20151129223948j:plain

家族とキャンプをするにあたって以前キャンプしたコテージ→今回のようなテントと順をおって進めたのは、(気持ちの)慣れとか、道具のそろえ方としてとてもよかったなと思います。

続きを読む

仕事も家庭も趣味も充実。小さな約束って何だ?

今年の夏8月27日(木)にCEDEC2015というゲーム開発者向けイベントのショートセッションに登壇しました。

ゲーム開発を仕事としている日々の中で、やってよかったと思えたパーソナルワーク(個人制作)の手法を、失敗談やコツを交えつつ紹介する、という内容。

スライドを事例動画3本付きで公開!

それで、そのときのスライドをスライドシェアで公開しましたのでお知らせ。途中に3本ほど短い動画も挟まっています。 

やりたいことがたくさんあるけど続けるのが難しくて困ってる方、本を書くことやプログラミングに興味があるんだけど大変そうだしという方、仕事も家庭も趣味も大事なんだ! といった方のお役に立てると嬉しいです。

 準備は大変だった

内容を盛り込みすぎて30分の講義に収めるのが大変でした。

これが2回目のCEDEC登壇でしたが、今回は対人のリハーサルをあまりできず、ひとりでぶつぶつ言って時間を計ってたら全然収まらず、あとスライドを6枚カットして、ここは20秒以内で進めて…とかひたすら削ってました。

1時間で申請しておけばよかった……。

それで、ライブコーディングもやろうと思っていたけど、絶対無理な時間だったので、早回し動画にしてライブで解説を入れました。


パーソナルワークのすすめ (事例2)5分プログラミング - YouTube

これは講演後、公開用にMacBookAirの内蔵マイクで録ったのですが、途中から排熱のファンがうなりをあげて大変だったという…やっぱ、こういうのには専用マイクがほしいですね。

実際の講義は幸いなことに暖かく見守っていただけて、笑いもあり、アンケートでも8割型満足していただいたり、役に立ちそうと思っていただけたようで、今回もやってよかったです!!(ありがとうございました)

オマケ:CEDEC2012の講義 

ちなみに、はじめてCEDEC2012で登壇した時の「ゲーム作りに役立つ! デジカメプロトタイピング」もスライドシェアで公開してありますので、デジカメを使ったゲームの試作に興味がある方はこちらもどうぞ。

赤ちゃんのかかと落としも怖くない! 寝かしつけに使える総合格闘技

毎夜、布団という四角いリングの上で赤ちゃんとの寝かしけバトルが勃発します。

特に0歳〜2歳児は油断なりません。
夜油断していると顔面に向かってかかと落としされたり、
腹の上にボディプレスされたりされるわけです。

しかも、こちらからあまり反撃はできない変則ルール。

赤ちゃんの攻撃を受け切る美学…なんて言ってると、危ない! 目をやられた!!

なんてことになるのです。

f:id:n_ryota:20150902014418j:plain

でも格闘技の比較的簡単な防御方法を応用すれば、大丈夫。
そこのママさん、パパさん、ぜひ1つお試しを(さらに皆さんの使える技があればぜひコメントを)。

※なお、寝息や子守唄、背中をトントンする、お話をするといった格闘技以外のテクニックについては省略します。 

続きを読む