Skip to content

9leap夏休みチャレンジ 2nd Heat 結果発表!

9日間で勝敗が決する9leap夏休みチャレンジ、2nd heatの受賞作が決定いたしましたので、お知らせします。今回のテーマは「ホラー」ということで、どのように恐怖感を演出するか、それぞれの個性が表れた作品が並びました!

1st heatに引き続き、豪華な審査陣は以下の方々。今回も特に評価が高い作品を選んでいただき、コメントを頂きましたので、こちらもあわせて紹介します。

  • 飯田和敏(ゲームデザイナー / 有限会社バウロズ取締役社長)
    「100%を達成してもまだ『GTAV』に耽溺している僕を解放するゲームを作ってください!」
  • 遠藤諭(角川アスキー総合研究所取締役兼主席研究員)
    「世界を制するのはキミのアイデアとコードだ!!」
  • 清水 亮(株式会社ユビキタスエンターテインメント代表取締役社長 兼 CEO)
    「この夏、プログラミングする楽しさを存分に味わって下さい」

【インパクト賞】

インパクト賞は実写を使った意外性が光ったこの作品です!!どうして暗いところに並べられたPCはこんなにも不気味なのでしょうか。。?!

ナイトエスケープ proken_bさん

「実写を活用した脱出ゲームという切り口が新鮮!」(清水亮審査員)

「こんなふうに身近な空間をどんどんゲームにしていったらいいんじゃないですかね? そういうキットを作ったら楽しそう。」(遠藤諭審査員)

【テクニック賞】

テクニック賞は凝ったゲーム性で技を見せつけたこの作品。simiraaaaさんは1st heatのインパクト賞に引き続きの連続受賞です!

レイガリ simiraaaaさん

「疑似3Dの効果的な使い方に驚いた。残念なのはゲームとしてできることが多すぎて迷ってしまうこと」(清水亮審査員)

【優秀賞】

そして2nd Heat優秀賞はこちら!「ホラー」というテーマに沿ったユニークな演出は飛び抜けていたと思います!

館の肝試しsetsugekka2さん

「ベクタースキャンな部屋のグラフィックス、ベタな幽霊という演出。怖くなったらってなんでしょう?」(遠藤諭審査員)

「マジ怖い」(清水亮審査員)

「廊下がラインによってなめらかに描かれている。運の2択を繰り返す駆け引きがないゲームだが「運試し」とはそういものだし、視点が上下することにより一人称視点を徹底している。2択も含め、すべてがミニマムな表現で徹底しているのが効果をあげている!」(飯田和敏審査員)

優秀賞のsetsugekka2さんには賞品としてパーソナル3Dプリンタ ダヴィンチ da Vinci 1.0が、インパクト賞、テクニック賞をそれぞれ受賞されたproken_bさん、simiraaaaさんには5000円相当の図書カードが贈呈されます。
みなさまおめでとうございます!

9leap夏休みチャレンジもいよいよ後半戦に入りました。次の3rd Heatの投稿作品では一体、「宇宙」というテーマをどのような切り口で切ってくるのでしょうか?楽しみです!
ただいま投稿受付中のFinal Heatの締め切りは8月31日まで。
みなさまのご応募お待ちしております!!

9leap夏休みチャレンジの応募方法や詳しい概要はUEI公式ホームページから!!

このエントリーをはてなブックマークに追加
はてなブックマーク - 9leap夏休みチャレンジ 2nd Heat 結果発表!
Post to Google Buzz
Share on GREE

ライバルに差をつけろ!!MOONBlockで作ったコンテンツの9leapへの投稿の仕方のおさらい

どうも、こんにちは。ニコニコ生放送「電脳空間カウボーイズZZ」MOONBlockの解説などをやっているゴトー博士でございます。

先日発表された9leap夏休みコンテストの1st Heat受賞作の中には、なんとMOONBlockで制作された作品がありました。

A to Zoo〜Operation;DARWIN〜 rhetorica_gさん

MOONBlockはブロックを組み合わせるだけでプログラミングの基礎が学べるビジュアル言語。
初心者用と侮る事なかれ、このようにenchant.jsを利用したものに劣らないゲームを制作することも可能です。
(※この作品については改めて別エントリにて紹介する予定です)

というわけで今回はMOONBlockで作ったゲームの9leapへの投稿の仕方のおさらいと、さらにライバルと差をつけるTipsを紹介します。
これを覚えてしまえば、MOONBlockを使った作品で9leapコンテストに参加することができちゃいます!

【基本編〜投稿方法のおさらい〜】

まず投稿方法の基本をおさらいしましょう(※こちらのエントリでも紹介しております)
MOONBlockは1つのウェブページの中で開発と実行が完結しているので、これを通常のenchant.jsで作ったゲームと同じように、ローカルで動かせるように形を変える必要があります。

方法は意外と簡単。
MOONBlock用のテンプレート(ゲームで使う画像やenchant.js等のライブラリがまとまったフォルダ)が用意されているので、そこにMOONBrockで作られたソースコードをコピペするだけでOKです。

——

■MOONBlcokで作ったプログラムを9leap.netにアップする手順

1. 以下のURLから「minimun_template_v2.zip」をダウンロードし解凍する
minimum_template_v2

2. 展開したフォルダから「main.js」をテキストエディタ等で開く

3. MOONBlock で「ソースコード」ボタンを押して出力される
コードを「main.js」にはりつける(中身を全部入れ替える)
※この場合は「セーブデータ」ではなく「ソースコード」を使用してください

4. main.jsファイルを保存する時にUTF-8で保存する

5. 改めてフォルダごとZIPで圧縮する
分かりやすくフォルダの名前を変えておくといいぞ

6. http://9leap.net/ に接続し、Twitter IDでログインする

7. 上部メニューにある「投稿・編集画面」をクリックし、新規投稿を行う

8. 投稿が反映された事を確認し、URLを教える

——

なんだ簡単そうじゃないですか!

【上級編〜ゲームを正しく終了させるために〜】

しかしこのまま投稿するとゲーム終了時のスコア結果の表示がうまく動かないようです。
スコア結果というのはランキングを出したり、Twitterで友達に自慢するための9leapのキモともいえる部分。なんとしてもうまく動かしたい!
正常に動かすためには以下の2つの仕込みが必要となります。

——

■index.htmlの書き換え

1,テンプレート(minimam_templateという名前のフォルダ)の中にあるindex.htmlをテキストエディタ等で開く

2,index.html11行目の
<script type=”text/javascript” src=”lib/soubun.nineleap.enchant.js”></script>

<script type=”text/javascript” src=”lib/nineleap.enchant.js”></script>
に書き換える。

■「ゲームオーバー」ブロックと「ゲームクリア」ブロックの書き換え

1,「ゲームオーバー」ブロックを使いたい部分に「実行」ブロックをはめる

2,「実行」ブロックの空欄に
enchant.Core.instance.end(window.enchant.puppet.Theatre.instance.score,window.enchant.puppet.Theatre.instance.score+”点”);
と入れる。

——

これでゲーム終了時のスコアや結果を表示させるAPIがうまく動かせるようになります。

以上、MOONBlockで作ったゲームの9leapへの投稿の仕方のおさらいでした。
優秀作品にはMacBook Airなど豪華賞品が贈られる9leap夏休みコンテストは現在絶賛開催中です。
プログラミング初心者の方やenchant.jsに慣れてない方も是非MOONBlockを使ってコンテストに挑戦してみてはいかがでしょう。
みなさまの投稿を心よりお待ちしております。

9leap夏休みチャレンジの応募方法や詳しい概要はUEI公式ホームページから。

このエントリーをはてなブックマークに追加
はてなブックマーク - ライバルに差をつけろ!!MOONBlockで作ったコンテンツの9leapへの投稿の仕方のおさらい
Post to Google Buzz
Share on GREE

9leap夏休みチャレンジ 1st Heat 結果発表!

9日間で勝敗が決する9leap夏休みチャレンジ、「生き物」をテーマに争われた1st Heatの審査が終了しました!受賞作が決定いたしましたので、お知らせします。

豪華な審査陣は以下の通り。今回も特に評価が高い作品を選んでいただき、ひとつずつにコメントを頂きましたので、こちらもあわせて紹介します。

  • 飯田和敏(ゲームデザイナー / 有限会社バウロズ取締役社長)
    「100%を達成してもまだ『GTAV』に耽溺している僕を解放するゲームを作ってください!」
  • 遠藤諭(角川アスキー総合研究所取締役兼主席研究員)
    「世界を制するのはキミのアイデアとコードだ!!」
  • 清水 亮(株式会社ユビキタスエンターテインメント代表取締役社長 兼 CEO)
    「この夏、プログラミングする楽しさを存分に味わって下さい」

【インパクト賞】

まずはインパクト賞からの発表です。受賞作は硬派な世界観と難易度にインパクトがあったこの作品に決定!!

土竜叩き・極 ~土竜達からの挑戦状~ simiraaaaさん

「憎めない感じが良い」(遠藤諭審査員)

【テクニック賞】

続いてテクニック賞は名前もゲーム性もあの名作の影響を感じるこの作品です。

アメーバの休日 kamakiri_ysさん

「カタチを作っていくのも楽しいし、それが微動する様は愛らしい。思わずありまーす!と叫んだ。」(飯田和敏審査員)

【MOONBlock賞】

そして今回、急遽新設されたMOONBlock賞、なんとこれはMOONBlockで作られた作品になります。

A to Zoo〜Operation;DARWIN〜 rhetorica_gさん

「MOONBlockで作られたとは思えない秀逸な作品。つい何度もプレイしてしまう」(清水亮審査委員)

【優秀賞】

そして1st Heatを制した優秀賞は完成度がピカイチだったこの作品です!

ばたばたフライ! gndcubeさん

「丁寧につくられたゲーム。長く遊べるところが良い」(清水亮審査委員)

優秀賞のgndcubeさんには賞品として天体望遠鏡 SKY WALKER NEW SW-III PCが、インパクト賞、テクニック賞をそれぞれ受賞されたsimiraaaaさん、kamakiri_ysさんには5000円相当の図書カード、MOONBlock賞を受賞された rhetorica_gさんには1000円相当の図書カードが贈呈されます。
みなさまおめでとうございます!

いかがだったでしょうか。まだ9leap夏休みチャレンジは始まったばかり。
本日8/1からテーマ「宇宙」の3rd Heatが始まります。我こそはという方の凄いゲーム、楽しみにお待ちしております!

9leap夏休みチャレンジの応募方法や詳しい概要はUEI公式ホームページから!!

そして次の2nd Heat テーマ「ホラー」を制するのは誰だ!?
結果発表は本サイトにて来週公開予定です。お見逃しなく。

このエントリーをはてなブックマークに追加
はてなブックマーク - 9leap夏休みチャレンジ 1st Heat 結果発表!
Post to Google Buzz
Share on GREE

学生集まれ!夏休みはプログラミング三昧!MacBookAirを勝ち取れ! 9leap 夏休みチャレンジ!

logo
プログラマーのみんな、お待たせ! 久しぶりに9leap 9Days Challengeがやってきた!

9日間で勝敗が決する9leap 夏休み Challengeの開催が決定した!

しかも今回は夏休み中に三回連続で開催されるからチャンスは何回でもある短期決戦だ。

1st Heatでは「生き物」がテーマで、2nd Heatでは「ホラー」、3rd Heatでは「宇宙」がテーマで、総合優勝を決めるFinal Heatで優勝すると、最新のMacBook Airと、enchantMOON S-IIの限定スケルトンバージョンが貰えるのだ!

今回も9Days Challengeの賞品も豪華だぞ!

41Y9njfctEL._SY450_61RP5o0-aML._SL1500_41g+akjpaYL._SX425_

液晶ディスプレイ付きのデジタル顕微鏡から、3Dプリンター、そしてPCとUSB接続できるデジタルアイピース付きの天体望遠鏡(しかも赤道儀付き!)まで、むしろ人にあげるより俺が欲しいというレベルの賞品をずらりと用意した。

もちろん総合優勝者には10万円相当のMacBookAir(11インチか13インチのどちらか好きな方)をプレゼントする!

 

それだけじゃなく、優勝すれば、他では決して手に入らない、enchantMOONの限定スケルトンバージョンも付いて来る!

enchantMOONスケルトンバージョン

enchantMOONスケルトンバージョン ペンホルダー一体型

このenchantMOONスケルトンバージョンは高性能3Dプリンターによってアクリル出力した特別限定版で、出力だけで2万円近いコストが掛かっている豪華なもの。しかも、ペンホルダーが付いているため、ストラップ無しでもペンを持ち運べるほか、軽量化にも貢献しているまさに特別バージョンなのだ。

スクリーンショット 2014-07-04 15.42.51

アクリルボディでももちろん自立する。基盤とともに開発者のスタッフロールが透けて見えるつくり

 

しかも審査員は伝説的ゲームデザイナー、飯田和敏さん、角川アスキー総研遠藤諭さんを迎えた。

最終審査の模様はニコニコ生放送で実況中継する予定だ。

 

この夏、君の青春をプログラミングに賭けてみないか!?

応募を待ってるぜ!

詳しくはUEI公式ホームページで!

このエントリーをはてなブックマークに追加
はてなブックマーク - 学生集まれ!夏休みはプログラミング三昧!MacBookAirを勝ち取れ! 9leap 夏休みチャレンジ!
Post to Google Buzz
Share on GREE

MOONBlockで作ったコンテンツの9leapへの投稿の仕方

やぁみんな、今日もプログラミングしてるかな?

 ブロックを組み合わせるだけでプログラミングの基礎が学べることで人気の
「MOONBlock」(ムーンブロック)。
 HTML5準拠のブラウザだけで使える事から、全国の小中高校の授業でも取り入
れられているらしいぞ。

スクリーンショット(2014-06-12 17.27.52)


http://moonblock.jp/



(Amazonリンク)

 ただ、MOONBlockではブラウザのキャッシュにプログラミングしたソースコー
ドが格納されているため、別のマシンからは作ったコンテンツを見られないのが
玉にキズ。
 MOONBlockの「セーブデータ」ボタンを使い、ゲームデータを人に送るって
いう手もあるけど、もっと沢山の人に自作のコンテンツを見せびらかしたい事
もあるよね。
 
スクリーンショット(2014-06-12 17.27.52)-2


 そんなときのために、MOONBlockで作ったコンテンツを9leapに投稿するテク
ニックを紹介するぞ。

——

■実行手順

1. 以下のURLから「minimun_template_v2.zip」をダウンロードし解凍する
minimum_template_v2

2. 展開したフォルダから「main.js」をテキストエディタ等で開く

3. MOONBlock で「ソースコード」ボタンを押して出力される
コードを「main.js」にはりつける(中身を全部入れ替える)
※この場合は「セーブデータ」ではなく「ソースコード」を使用してください

4. main.jsファイルを保存する時にUTF-8で保存する

5. 改めてフォルダごとZIPで圧縮する
分かりやすくフォルダの名前を変えておくといいぞ

6. http://9leap.net/ に接続し、Twitter IDでログインする

7. 上部メニューにある「投稿・編集画面」をクリックし、新規投稿を行う

7. 投稿が反映された事を確認し、URLを教える

——

 どうかな? カンタンだろう?
 9leapへの投稿の仕方はこちらを見てほしい。
 wise9 › 9leapにゲームを投稿する方法をおさらいしよう!

 実は、2014年7月下旬に茨城県で行われる全国総文祭いばらき大会では
コンピュータープログラミング部門が新設されるんだけど、
その事前コンテストは9leapの特別バージョン「9leapいばらき総文2014」
で審査が行われていて、半数以上の投稿作品はMOONBlockを使って作られている
んだ。

 
スクリーンショット(2014-06-12 17.34.01)


http://soubun.9leap.net/


 自分が作ったプログラムを人に見てもらって感想をもらうのは、
プログラミング上達の一番の方法とも言われているんだ。
 MOONBlockで力作ができたら、ぜひ試してみてくれよな。

このエントリーをはてなブックマークに追加
はてなブックマーク - MOONBlockで作ったコンテンツの9leapへの投稿の仕方
Post to Google Buzz
Share on GREE

enchantMOON S-IIでちょっとJavaScriptプログラミングしてみよう

 enchantMOON S-IIがダウンロード提供開始されたので、なにかいろいろやってみようと思う人も多いはず。
 そこでちょっとだけテクニックを紹介します。

 開発者向けのドキュメントはこのへんとかにあります。

 MOON.jsというAPIに今回追加された様々な新機能のうち、getHistoriesを使って、ハイパーリンクの履歴を背景画面に描画するサンプルプログラムを書いてみました。

 実行するとこんな感じになります。

note

 ソースはこんな感じです。

importJS(["lib/MOON.js"], function() {  
    var sticker = Sticker.create();  
    sticker.ontap = function() {
    	//履歴を取得
        var hist = MOON.getHistories();


	//canvasを作る
        var y, x, 
            page = MOON.getCurrentPage(),
            backing = MOON.getPaperJSON(page.backing),
            canvas = document.createElement('canvas'),
            width = canvas.width = backing.width,
            height = canvas.height = backing.height,
            ctx = canvas.getContext('2d');
	
	//文字列を描画
        ctx.strokeStyle = '#555555';
        ctx.font="32px";
        ctx.fillText("history",0,32,5*32);

	//過去9回分のハイパーリンク履歴を表示        
        y=48;x=32;
        cnt=0;
        for(i=hist.length-1;i>hist.length-10;i--){
        	
        	ctx.drawImage(MOON.getPageThumbnail(hist[i].from),x,y);
        	x+=216;
        	cnt++;
        	if(cnt>=3){
        		x=32;y+=288;
        		cnt=0;
        	}
        }
        
        //canvasをページの背景に
 		MOON.setPageImage(canvas);
        MOON.finish(); 
    };  
    sticker.onattach = function() {  
        MOON.finish();  
    };  
    sticker.ondetach = function() {  
        MOON.finish();  
    };  
    sticker.register();  
});

 実際のコードはここにあるので参考にしてください。

 以前のバージョンでは画像の保存に恐ろしく時間がかかっていたのですが、S-IIでは非常に高速に画像のアップデートができるようになっています。

 これまであまり活用されてこなかった背景画面への書込みを利用すると、もっと面白い使い方ができそうですね。

このエントリーをはてなブックマークに追加
はてなブックマーク - enchantMOON S-IIでちょっとJavaScriptプログラミングしてみよう
Post to Google Buzz
Share on GREE

30分で試せる分散並列プログラミング Linda (PC遠隔操作編)

 さあというわけで、インストール&起動に成功したら、実際にLindaを使ってチャットもどきを作ってみよう。

 といっても、これも橋本商会のページにあるサンプルをほんの少しだけコピペするだけだ。

 しかしこれほど簡単にチャットが実装できるのは面白いを通り越して本当に驚きだぞ。

<!DOCTYPE html>
<html>
    <meta charset='utf-8'>
    <title>Linda test</title>
    <script src="jquery.min.js" type="text/javascript"></script>
    <script src="linda.min.js" type="text/javascript"></script>
<script>
var io = new RocketIO().connect("http://localhost:5000"); //ローカルホストに接続
var linda = new Linda(io);
var ts = new linda.TupleSpace("test"); //とりあえずtestというスペースを作った

io.on("connect", function(){
    ts.watch(["chat"], function(tuple){ //chatを監視するコールバックを設定
      $("#result").prepend(
        $("<p>").text(tuple[1]) //chatタプルがきたら、表示する
      );
    });
});

$(function(){
  $("#send").click(function(){ //send(送信)ボタンが押された時の処理
    var m = $("#message").val(); //message(メッセージ)の内容を取得
	ts.write(["chat", m]); //chatタプルを発射
  });
});

</script>
</head>

<body>
<BR>
<input type="text" id="message" value="hello" size="30">
<input type="button" id="send" value="send">
<div id="result">
</div>
</body>

 たったこれだけで、チャットが作れてしまう。
 実際の動作する様子は以下のGIFアニメの通りだ。

 やばい。マジで簡単だった。これは。

 当然、タプルでは好きな文字列が送れるのでJSONデータなんかも好きなだけ送ることが出来る。

 リモートのPCを操作する危険なチャットを敢えて作ってみよう。

 chatタプルを受信したときの処理に以下のように追加した

    ts.watch(["chat"], function(tuple){ //chatを監視するコールバックを設定
      $("#result").prepend(
        $("<p>").text(tuple[1]) //chatタプルがきたら、表示する
        eval(tuple[1]);  //[危険]うけとったメッセージをとりあえず実行してみる
      );
    });

 これはやばい。
 広い意味ではPC遠隔操作ができちゃう。
 まあ厳密には、動作中の画面を取得したりできないので無理だけど、プログラムを送り込んで実行することができちゃうというのは普通にやばい気がする。

 しかもこれのヤバいところは、もうちょっと頑張っちゃうとトロイの木馬なんか使わなくても、このURLを踏ませるだけで相手のPCをある程度は遠隔操作できちゃうことだ。

 まあでもLinda-baseが稼働してるサーバーは、たぶんいまのところ世界に増井研を含めていくつかしかないはずだから、すぐ足がつくと思うが。

 そういう意味ではLindaは非常にシンプルかつ強力だが、悪意ある情報や偽情報からシステムを保護するのが難しいという弱点がある。まあそれはLindaを使うアプリケーションが個別に実装しろということかな。SSL使うとか?わからないけど。そうなるとLinda-base自体も改造する必要がありそうだけど。

 でも面白いのは、Lindaは並列プログラミング言語といいながら、普通の直列(?)プログラミング言語から簡単に使えてしまうことだ。

 特にJavaScriptで簡単に使えてしまうというのはとても嬉しい。
 

 ネットゲームからなにから、色々と応用範囲が広そうなのも嬉しい。
 とにかくとても気軽に並列プログラミングの練習ができるのでLinda-rocketioで遊ぶのは凄くお勧めだ。

 nodeJSを使うよりもずっと簡単に並列プログラミングができちゃうぞ。

 これで作る場合、サーバーもクライアントもブラウザーで動かすというところがnodeJSと違うところだ。新しいような気がする。

 つまり途中にLinda-baseというサーバーを挟んではいるが、Linda-baseはあくまで並列処理のための橋渡ししかしないので実際の高度な処理はクライアント側で実装することができる。

 もちろんLinda自体がHTTPさえ通ればなんでもアリの仕様なので、増井研でやってるみたいに温度計や接近センサをArduinoで接続してHTTPにその状況を垂れ流して、全世界プログラミングを楽しむこともできちゃうわけだ。

 なるほど、こいつは面白いや

このエントリーをはてなブックマークに追加
はてなブックマーク - 30分で試せる分散並列プログラミング Linda (PC遠隔操作編)
Post to Google Buzz
Share on GREE

30分で試せる分散並列プログラミング Linda (起動編)

 慶應SFCの増井俊之教授が、「いやー、全世界プログラミングの実装はとりあえずLindaっての使ってるんですがこれが超絶簡単なんですよー」

 というので、マジですかそれは、と思い、ストックホルムのホテルでちょっと試してみましたよ。

 基本的には橋本商会のページがわかりやすいんですけど、そもそもLindaがどんな感じで実行されるのかぜんぜん実感がもてなかったので、とりあえずローカルで動かしたい、というニーズは満たされず、自分でやってみました。

 まず、Lindaとは何かというと、並列プログラミング言語だそうなのですが、もうこの時点で半数の人は置いてけぼりになる感じがします。

 まあ確かに厳密な定義はそうなのですが、僕のイメージではLindaはプログラミング言語といよりはむしろRESTとかに近い。つまり「プログラムとプログラムの間でデータを美味い具合にやりとりするための仕組み」です。

 もともとLindaは1980年代にイェール大学で生まれたそうですが、最近までいろいろな言語の上に実装されながらもイマイチ活用されてきませんでした。

 それがRubyで実装され、さらにはJavaScriptから簡単に呼び出せるようになったということで、増井先生によれば「HTTPさえ話せればなんでもできる簡単で嬉しい分散環境なのだ」ということだったので、やってみようかなと思いました。

 橋本商店のページでは、Herokuや橋本商店さんのサーバーを使うようになっていたんですけど、飛行機の中で遊んだりすることを考えるとローカルにサーバーを立てたい。しかしその方法がよくわからん、どういうことなんだ、ということで一通り混乱したため、一応みんなが試せるようにメモを残しておきます。

 まず、LindaのRuby/JS実装で遊ぶには、linda-baseという、サーバー環境が必要です。

 とりあえずこれを落っことしてきましょう。
 →https://github.com/shokai/linda-base

 また、こいつをインストールするのにbrewというパッケージマネージャが必要なので、これも落としてきましょう。
 →http://brew.sh

 brewをインストールするのは凄く簡単で、Macのコンソールから

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

 と打ち込むだけです。
 途中、スーパーユーザーパスワードを要求されるので画面の指示に従って下さい。

 その後、linda-baseのインストールの項目にある通りに、brewしてgemしてbundleすること。bundleするときはコンソールからlinda-baseのディレクトリーにいかないとダメですよ

 これで、memcachedを実行してbundleを実行すると、Linda-baseサーバーが立ち上がります。やったぜ

 しかしサーバーが立ち上がっただけではLindaを使えないので使う側もインストールする必要があります。

 それがLinda-rocketioで、Sinatraのrocketio上にLindaを実装したものだそうです。
 まあ正直、実装手段とか名前に書かなくても説明文に書いてくれればいいのに、要するにLindaをRubyやJavaScriptから楽しく使うためのツールですよ。

 これのインストールは実に簡単で、

$ gem install sinatra-rocketio-linda

 とやるだけです。

 これをやっておくと、とりあえず

$ linda-rocketio write -tuple ‘["say","hello"]‘ -base http://example.com -space test

 でLindaサーバに’["say","hello"]‘というタプルを送ることが出来、また別の端末から

$ linda-rocketio read -tuple ‘["say","hello"]‘ -base http://example.com -space test

 とやると、そのタプルを受け取ることができます。やったぜ!

 実際にLinda-baseサーバを起動して、Lindaのタプルを送ったり受け取ったりの模様をGyazoGIFでアニメにしたのでご確認ください。

 さあ次回はJSから触ってみたいぞ!

このエントリーをはてなブックマークに追加
はてなブックマーク - 30分で試せる分散並列プログラミング Linda (起動編)
Post to Google Buzz
Share on GREE

MacOS7からPlaySationまで!JavaScriptのエミュレータが凄い

 JavaScriptで書かれていてブラウザで動くというMacOSのエミュレータがあるというので見てみました。

 凄い。本当に動いています。
 ただのSafariでMacOSが動いてるというのは凄く感動します

 それから、PCエミュレータもあったのでDOSを動かしてみると

 こちらも完璧
 DOSで動く懐かしのゲームWolfenstein3Dも遊べちゃいます

 さらにWindows3.0までエミュレートできてしまいます

 凄いなー
 と思ったらファミコンのJavaScriptエミュレータもありました。

 JSNES

 そもそも一昔前まで、ゲームプログラムやOSのようなシステムプログラム、もちろんエミュレータのようなものも、マシン語やマシン語にコンパイルする言語で書く必要があったのです。当時の非力なハードウェアでは、高級言語をそう簡単に解釈したり、高速に実行したりということは絶望的に難しかったのですね。

 しかし今や、JavaScriptは内部的にマシン語にコンパイルされて実行されるJIT(Just In Time)コンパイラが当たり前のように搭載されています。
 だから高級言語でありながら実行速度はネイティブ言語並みに高速に実行することができるようになっているのです。

 それにしても、これだけのものが作れるというのは非常に驚きますね。

 もしかしてPlayStationエミュレータもあるんじゃないか・・・と思ったら、ありました

 PlayStationの場合は、WebGLを使って3D描画を高速化していますが、よく考えると初代PlayStationはオーダリングテーブルを利用したZソートしかやらないので、頑張ればWebGLなしでも実装できたのではないかと思います。GTE(ジオメトリトランスファーエンジン)の実装のためにWebGLが必要なのかもしれないけど、GTEはCPUが頑張ればソフトウェアだけで代替可能な範囲なのでスピードを我慢すれば動くかも。

 しかし凄い時代になりましたね。ほんとに

このエントリーをはてなブックマークに追加
はてなブックマーク - MacOS7からPlaySationまで!JavaScriptのエミュレータが凄い
Post to Google Buzz
Share on GREE

動画を手軽にキャプチャ&共有できる「Gyazo GIF」が面白い!

スクリーンショット 2013-10-18 11.45.26

Gyazoというサービスを知っているかな?

Gyazoは、携帯電話の予測変換やiOSの入力エンジンを開発したことでお馴染みの慶應SFC増井俊之教授が開発した、「今見てる画面の一部を瞬間的に共有できる」サービスで、あまりにも便利なことでMacユーザの必携アイテムとも言われている。

Gyazoが凄いのは、使用するのに一切のユーザー登録などの面倒な手続きが要らないこと。

Gyazo.comからダウンロードして、そのソフトを起動するだけで、いきなり画面の一部を切り取るためのUIが出現し、切り取りと同時にインターネットにアップロード、クリップポードに自動的に生成されたURLがコピーされ、それをTwitterやFacebookに貼り付けることが出来るのだ。

そのGyazoが、なんとアニメーションに対応した。しかもGIFアニメーションである。
その名もGyazo GIF。

これを開発したのは、京都にあるNota Inc

つまり、ムービーの一部や自分の操作した画面などを動きをそのまま、Gyazo GIFで保存&共有できてしまうのである。

たとえば、Gyazoの使い方をこんなふうに切り出したり・・・

Web上のアニメーションを切り出したり・・・

ムービーの一部を切り出したり

特にenchantMOONのストロークデータを書き順で表示するesmasuiさんのスクリプトは白黒というのもあってファイルサイズも小さいのでGIFアニメと相性がいいみたい。

Gyazoはユーザー登録するとさらに便利に使えるようにパワーアップしているので、ユーザー登録して使うのがおすすめです。特にヒストリー機能は便利。

工夫次第で色々使えるんじゃないかと思います。

特に、Youtubeみたいなのと違ってアップロードする手間がなかったり、エンコードする手間がなくていいのが魅力で、張り付けるといきなりアニメーションするというのもいいなーと思います。

おススメです

このエントリーをはてなブックマークに追加
はてなブックマーク - 動画を手軽にキャプチャ&共有できる「Gyazo GIF」が面白い!
Post to Google Buzz
Share on GREE