<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>レトロゲーム on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%AC%E3%83%88%E3%83%AD%E3%82%B2%E3%83%BC%E3%83%A0/</link>
		<description>Recent content in レトロゲーム on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Fri, 08 May 2020 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%AC%E3%83%88%E3%83%AD%E3%82%B2%E3%83%BC%E3%83%A0/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>オリジナルZorkのソースコードがMITにより公開される</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2020/05/original-mit-zork-code-found/</link>
				<pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2020/05/original-mit-zork-code-found/</guid>
				<description>&lt;p&gt;往年のテキストアドベンチャーゲーム &lt;a href=&#34;https://github.com/MITDDC/zork&#34;&gt;Zork の1977年のソースコード&lt;/a&gt;が、&lt;a href=&#34;https://archivesspace.mit.edu/repositories/2/archival_objects/347748&#34;&gt;MITにより発見されて&lt;/a&gt;公開されました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://archivesspace.mit.edu/repositories/2/archival_objects/347748&#34;&gt;MIT の説明&lt;/a&gt;によれば、1973年から1990年前半にかけての人工知能研・計算機科学研のバックアップテープから復元したデータが収集されているそうで、今回はその中から1977年のZork のソースコードが見つかったというわけ。&lt;/p&gt;&#xA;&lt;p&gt;コードを見てみるとこんな感じ。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;&amp;lt;GDECL (FF) STRING&amp;gt; &amp;lt;DEFINE ILO (BODY TYPE NM1 NM2 &amp;quot;OPTIONAL&amp;quot; M1 M2) #DECL ((BODY NM1 NM2 M1 M2) STRING (TYPE) FIX) &amp;lt;COND (&amp;lt;==? .TYPE *400000000000*&amp;gt; &amp;lt;COND (&amp;lt;OR &amp;lt;AND &amp;lt;MEMBER &amp;quot;&amp;lt;FLUSH-ME&amp;gt;&amp;quot; .BODY&amp;gt; &amp;lt;NOT &amp;lt;MEMBER ,XUNM ,WINNERS&amp;gt;&amp;gt;&amp;gt; &amp;lt;AND &amp;lt;MEMBER .NM1 ,WINNERS&amp;gt; &amp;lt;MEMBER ,FF .BODY&amp;gt;&amp;gt;&amp;gt; &amp;lt;EVAL &amp;lt;PARSE .BODY&amp;gt;&amp;gt;)&amp;gt;)&amp;gt; &amp;lt;DISMISS T&amp;gt;&amp;gt;  ;&amp;quot;ROOM FUNCTIONS&amp;quot;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;往年のメインフレーム機 PDP-10 上で動くLISP系のMDPという言語だそうです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.vice.com/en_us/article/a3xdk8/long-lost-zork-source-code-uploaded-to-github-but-few-people-understand-it&#34;&gt;2019年の4月にGitHubで公開された「Zorkのソースコード」&lt;/a&gt;と何が違うかですが、この時公開されたコードは、後に Zork を商用化(1979)して販売したインフォコム社が買収の後閉鎖された1980年代終わりに、社内のソースコード管理システムから取り出されたものなのに対し、今回のコードはInfocom 以前の MIT 時代に メインフレーム PDP-10 の上で動いていたものだということ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:PDP-10_1090.jpg&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2020/05/original-mit-zork-code-found/PDP-10_1090_hu_a48329cdd9d409af.webp 480w, https://labs.cybozu.co.jp/blog/akky/2020/05/original-mit-zork-code-found/PDP-10_1090_hu_9dd9c52b9ab85a2.webp 768w, https://labs.cybozu.co.jp/blog/akky/2020/05/original-mit-zork-code-found/PDP-10_1090_hu_cd5c0abe0e8635b3.webp 896w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2020/05/original-mit-zork-code-found/PDP-10_1090.jpg&#34; width=&#34;896&#34; height=&#34;600&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>PDFで作られたブロック崩し</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/</link>
				<pubDate>Tue, 05 Jul 2016 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/</guid>
				<description>&lt;p&gt;pdfファイルといえば様々な環境でなるべく同じに見えるようにレイアウトを固定した文書を配る時のフォーマットだと思いますが、そのpdf形式で作られたブロック崩しゲームが公開されました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rawgit.com/osnr/horrifying-pdf-experiments/master/breakout.pdf&#34;&gt;breakout.pdf&lt;/a&gt; (Chromeブラウザでのみ動作)&lt;/p&gt;&#xA;&lt;p&gt;画面下の青い部分でマウスを動かすと、自機を左右に動かすことができます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/pdf-breakout.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/pdf-breakout_hu_e1a7d7bd9232a306.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/pdf-breakout_hu_e06d1b1830ec5636.webp 768w, https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/pdf-breakout_hu_838443c1852663e6.webp 812w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/07/pdf-breakout/pdf-breakout.png&#34; width=&#34;812&#34; height=&#34;528&#34; alt=&#34;pdf-breakout&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rsnous.com/&#34;&gt;Omar Rizwanさん&lt;/a&gt;による&lt;a href=&#34;https://github.com/osnr/horrifying-pdf-experiments&#34;&gt;ソースコードおよび解説&lt;/a&gt;によると、PDFは仕様上はFlashやら音声やら動画やらJavaScriptやら、いろんなものを内蔵できるようになっているのだそうです。&lt;/p&gt;&#xA;&lt;p&gt;ただ、ほとんどのPDFビューワーでは、そういった本流でない部分の仕様は実装していません。しかし、Chromeブラウザ内蔵のpdfビューワーでは、&lt;a href=&#34;https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf#page=709&#34;&gt;pdfがサポートしているJavaScriptの仕様&lt;/a&gt;のうちのいくつかが実装されているそうです。&lt;a href=&#34;https://mariomalwareanalysis.blogspot.jp/2012/02/how-to-embed-javascript-into-pdf.html&#34;&gt;pdfからJavaScriptを呼び出せるというブログ&lt;/a&gt;を見たRizwanさんは、使えるAPIだけを使って、ブロック崩しゲームを実装してしまった、というわけです。&lt;/p&gt;&#xA;&lt;p&gt;このChrome pdfビューワの実装においても、データベースに接続するとか、接続されたモニターを検出するとか、外部リソースにアクセスするとか、そういったほとんどの機能は「サポートしない」となっていて、pdfの内部で計算をすることはできても、外部とのやりとりをする手段の多くは使えないのだとか。&lt;/p&gt;&#xA;&lt;p&gt;この限定されたAPIから、テキストの背景色を動的に変えることはできないけれど、その枠の大きさと枠のスタイルは変えられる、ということで、ブロックの表示・非表示を制御したそうです。&lt;/p&gt;&#xA;&lt;p&gt;また、マウスの正確な位置を検出する手段はないけれど、PDF作成時に配置したフィールドへのマウスカーソルの出入りは検出できるということで、これを使ってマウスの場所を取得しているそうです。&lt;/p&gt;&#xA;&lt;p&gt;フィールドも後で追加することはできず、PDFに最初から持たせておく必要があるそうで、自機、ブロック、ボール、得点、残機のそれぞれを、大量のフィールドとしてPDF上に配置するスクリプトを書き、それでゲーム画面のPDFを生成させているということ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://plus.google.com/&amp;#43;FrancoisBeaufort/posts/9wwSiWDDKKP&#34;&gt;Chromeブラウザ上のpdfビューワは、もともとGoogleがFoxitから買い取ったpdfビューワーを基にしたものらしい&lt;/a&gt;ということで、Foxitの時代にその顧客がこの小さなJavaScriptセットを使っていたのではないか、とRizwanさんは推測しています。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;http://thenextweb.com/apps/2016/07/05/know-can-play-games-pdf-files/&#34;&gt;TheNextWeb&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hyperkin Smart Boy - ゲームボーイのカートリッジをAndroidに挿す</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/</link>
				<pubDate>Fri, 17 Jun 2016 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/</guid>
				<description>&lt;p&gt;ゲームグッズ販売の Hyperkin がゲームショーE3で展示したのが、こちらの Smart Boy&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.neowin.net/news/hyperkins-smart-boy-brings-a-functional-game-boy-slot-to-your-android-smartphone&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-pokemon_hu_7f27324051f66b95.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-pokemon_hu_879176226d76dbcb.webp 768w, https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-pokemon_hu_8b122cfa729d1ef1.webp 1919w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-pokemon.jpg&#34; width=&#34;1919&#34; height=&#34;1080&#34; alt=&#34;(credit:  Neowin)&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;(credit: Neowin)&lt;/p&gt;&#xA;&lt;p&gt;Android にくっつけて、後ろ側にはゲームボーイのカートリッジが挿せる、というデバイスです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.neowin.net/news/hyperkins-smart-boy-brings-a-functional-game-boy-slot-to-your-android-smartphonehttp://&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-cartridge_hu_e8c75975fa023a30.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-cartridge_hu_9dcb703b21fb2e38.webp 768w, https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-cartridge_hu_19a4f9f4828a8a46.webp 1919w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/06/smart-boy-android-gameboy/smartboy-cartridge.jpg&#34; width=&#34;1919&#34; height=&#34;1080&#34; alt=&#34;(credit:  Neowin)&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;(credit: Neowin)&lt;/p&gt;&#xA;&lt;p&gt;Android 上でエミュレーターを動かせば、今でも遊べないことはないんでしょうが、カートリッジの中のデータを取り出さないといけないので、敷居は高いでしょう。&lt;/p&gt;&#xA;&lt;p&gt;カートリッジをそのまま挿して遊べるなら、昔買ったカートリッジや中古ショップやオークションで買ったものをそのまま使えるわけで、レトロゲームファンには嬉しいデバイスかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;スマートフォンのタッチスクリーンで操作するよりも、本物のような物理ボタンで操作できるという点でも、再現度は高いと思われます。&lt;/p&gt;&#xA;&lt;p&gt;もともとは、&lt;a href=&#34;http://www.hyperkin.com/newsletter/PressRelease/Smartboy%20Press%20Release%204-1-15.pdf&#34;&gt;2015年のエイプリルフールに発表された嘘ニュース&lt;/a&gt;だったらしいのですが、反響が良かったらしく、今回製品化することになったということです。元ネタでは iPhone 6 以降の対応となっていますが、E3の展示では Samsung の Android 機で動いていて、12月の発売でも Android 用になるということです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;http://www.neowin.net/news/hyperkins-smart-boy-brings-a-functional-game-boy-slot-to-your-android-smartphone&#34;&gt;Neowin&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>余らせた外国コインでプレイできる、スウェーデンの空港のレトロゲーム機 Charity Arcade</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/</link>
				<pubDate>Fri, 27 Mar 2015 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/</guid>
				<description>&lt;p&gt;国際空港の出国ゲート後には、使いきれずに余った現地のお金を投げ入れる募金箱がよく置いてありますね。&lt;/p&gt;&#xA;&lt;p&gt;金額が大きければ再両替で円にして持ち帰るのでしょうけど、交換手数料を払ったらなくなってしまうような小額の場合、日本に持ち帰ってもただの使えない金属片ですから、募金箱に投げ入れて帰ってくる人も多いのではないでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity-arcade.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity-arcade_hu_92b11e5c639d33ad.webp 480w, https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity-arcade_hu_c99f7cfd61bd1ff0.webp 768w, https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity-arcade_hu_9f19ffb04102bbd5.webp 847w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity-arcade.png&#34; width=&#34;847&#34; height=&#34;468&#34; alt=&#34;charity-arcade&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;スウェーデン国内の主要10空港の開発・運営をしている国有企業 &lt;a href=&#34;https://www.swedavia.com/about-swedavia/this-is-swedavia/&#34;&gt;Swedavia 社&lt;/a&gt;が、赤十字社と協力して今回ストックホルムの2つの空港内に&lt;a href=&#34;https://www.swedavia.com/about-swedavia/news/play-retro-games-for-red-cross-at-stockholm-arlanda-and-goteborg-landvetter/&#34;&gt;設置した&lt;/a&gt;のは、&lt;strong&gt;どんなコインでも&lt;/strong&gt;遊べるレトロゲーム機。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity_arcade2.jpg&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity_arcade2_hu_21feae4f8de61a30.webp 480w, https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity_arcade2_hu_36621a5ad59157f.webp 768w, https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity_arcade2_hu_61d99d30b91cc44a.webp 1024w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2015/03/donate-foreign-coins-and-play-retro-game/charity_arcade2.jpg&#34; width=&#34;1024&#34; height=&#34;375&#34; alt=&#34;charity_arcade2&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;左からミズ・パックマン(1981)、ギャラガ(1981)、スペースインベーダー(1978)の3台。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/9eIRP68PQvo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;僕自身は、クレジットカードを併用して免税店でお菓子等を買うことで現地コインは使い切るようにしているのですが、こんなゲーム機があって出発までの時間があれば、遊んで寄付するのもいいかもしれませんね。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;http://www.neatorama.com/2015/03/18/Play-Arcade-Games-for-Charity-at-the-Swedish-Airport/&#34;&gt;Play Arcade Games for Charity at the Swedish Airport - Neatorama&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;ストックホルムに行く用事がないあなたは&#34;&gt;ストックホルムに行く用事がないあなたは&lt;/h3&gt;&#xA;&lt;p&gt;日本国内では海外のコインをどう処分するかというと、&lt;a href=&#34;http://www.unicef.or.jp/cooperate/coop_coin.html&#34;&gt;ユニセフによる外国コインの寄付プログラム&lt;/a&gt;が有名なようです。発払いの郵送以外にも、主要空港・飛行機内・リムジンバス乗り場・参加企業の一部支店や支所(三井住友銀行・JTBグループ・日本航空・毎日新聞社)などで持ち込みもできるのだとか。&lt;/p&gt;&#xA;&lt;p&gt;日本のお金でなければ、燃えないゴミに出すこともできるのでしょうけど、本来のお金として役立ててくれるのであれば、これらの場所に持っていって寄付するのもいいのではないでしょうか。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
