2017まとめ

所感

今年はお家を買いました。去年は入籍でしたし、人生ゲームの駒が進み始めた感じがしています。

そして5月にテレビ番組としてのハッカソンイベント「メイキンクエスト」に参加したのも、良い経験になりました。(動画無料で見れますよ! メ~テレ開局55周年記念番組「メイキン クエスト」-動画[無料]|GYAO!|バラエティ・スポーツ)さらに11月には深センに旅行に行き、世界の広さを感じてきました。

 3Dプリンタを買ったことで工作の幅が広がり、電子工作のみならず、様々なものを作りました。Arduboy向けのゲームもいくつか作りました。

仕事では去年に続きkubernetes周りのことをやってます。kubernetesは活発に開発されており、学んでも学んでも次々に新しい機能や概念が出てくるので日々勉強!という感じです。

英語もぼちぼち勉強しており、そのおかげかArduboyがらみで海外のフォーラムに投稿したりもできています。まぁ英語は継続が大切なのでこれからもやっていきたいところ。

体調不良が定期的に訪れる年でもあり、もう少し体を鍛えるなり、気を付けるなりする必要があると感じました(毎年言ってるな・・)

ハードウェア系の活動は結構できたのですが、もうちょっとWeb系の活動もしたいかな。

ステータス

  • 引っ越してから1年目(今年引っ越した!)
  • 会社に入ってから8年(来年度で9年目)
  • 結婚してから1年ちょっと

今年学んだスキル

月別振り返り

 

 

参考

Hack Day 10th anniv. に参加しました

Hack Day 10th anniv. に参加してきました。

数えると6回目の参加。そして名前の通りHack Dayは10周年!めでたい!

 

Hack Day( http://hackday.jp/ )というのは、土日の24時間(本当に12時〜翌日12時)という時間制約のもと「動く」プロダクトを開発し、その後90秒で発表するというYahoo! JAPANの名物イベントのOpen版です。 

作ったもの

「スマートスピーカー2.0」

f:id:inajob:20171211180336p:plain

 

 

Google Homeや、Amazon Echo。 今流行っているスマートスピーカーですが、これを拡張して、「話しかけてくる」、「ジェスチャーで操作できる」などの機能を追加しました。

f:id:inajob:20171211174639p:plain

これにより従来のスマートスピーカーでは実現できなかったこんなことができるようになります

 

いつものコマンドを自動実行

スマートスピーカーの履歴を分析することで、朝いつもニュースを聞いている、などの情報を取得し、さらにセンサーを用いて人の接近を認識することで、「朝、スマートスピーカーの前に来ると自動的にいつものニュースが再生される。」というものを実現できます。

 

f:id:inajob:20171211175333p:plain

会話の拡張

スマートスピーカの前で何人かで会話をしていると、「スマートスピーカーが会話内容を認識し、沈黙発生時にその内容を加味した話題をふってくれます。」

 

ジェスチャーでの会話キャンセル

それでもスマートスピーカーは意図しない内容を話し始めることがあります。そのような際には、「手を振るジェスチャーをすることで会話をキャンセル」できます。

 

参加メンバー

  • @kasahi 安定の仕切り役 プレイングマネージャ
  • ばりーさん そういえば深センにも一緒に行きました。
  • matsuchiさん 仕事はWebデザイナー
  • @kotauchisunsun 最近はQiitaの記事を頑張って書いてる なんでもやる系エンジニア

当日まで

前回、前々回とこのチームではぎりぎりまでネタが決まらなかった。今回は早めに決めよう!ということで、HackDayの3週間前くらいから、軽く打ち合わせを始めたにもかかわらず、、結局内容が決まったのはHackDay開催の直前となりました。

今流行りの技術である、何かが使いたいな、、ということで「スマートスピーカー」をテーマにしようという流れになってきました。

センサーが必要ということも決まっていたので、HackDay当日までにとりあえず買うだけ買っておきました。

またRaspberryPiを利用するということで、ネットワークの設定や、必要なパッケージのインストールなど、会場のWifiで実行すると時間がかかりそうなものについても準備をしました。

(このあたりHackathonに慣れてきたなという感じです。)

HackDay当日

12:00から開始ということで、割とぎりぎりに会場に到着。各自自宅のGoogleHomeを持ってきたので、机の上はGoogleHomeでいっぱい。

軽い気持ちで「OK Google」というと、すべてのGoogle Homeが反応するという状態で開発をしました。今回技術的にやることはある程度決まっていたのですが、これの便利さがどういうときに発揮されるのか、どういうストーリーだと効果的に伝えられるか、というところが難しく、このあたりは@kasahiさん matsuchiさんが詰めてくれました。

 

エンジニア陣も作業分担

私はセンサーからの値を読み取り、プログラムで値を読み取り必要に応じて中央サーバーにおくるところ

ばりーさんは中央サーバーの作成

@kotauchisunsun さんはGoogleHomeに任意の言葉を話すことができる

https://github.com/noelportugal/google-home-notifier の準備と、Juliusを使った音声認識部分

苦悩の夜

センサーの一つにジェスチャーセンサーを使っていたのですが、これの制御が難しい、、

APDS9960使用光学式ジェスチャーセンサモジュールキット: 組立キット 秋月電子通商 電子部品 ネット通販

あまりむき出しにするのも格好が悪いということで、箱に小さな穴をあけて、そこからセンサーを露出させて動かそうとしていたのですが、そのような状況にするとこのセンサーが全く反応しなくなるようです。

僕ははじめRaspberryPiとの接続部分の接触が悪いのかと思い、そこを調べていたのですが、、、どうも的外れのことをしていたようです、、ハードウェアは切り分けが難しい。

 

音声認識でもオープンソース音声認識エンジン http://julius.osdn.jp/ で、なかなか思ったような認識ができずに苦労していました。

最近Google HomeやSiriは難なく日本語を理解しているように見えますが、オープンソースのライブラリでであのレベルまで作ることはまだ難しいなと感じました。

 また、Google Homeの操作履歴を泥臭くヘッドレスブラウザを使って抜き出す部分を@kasahiさんが作っていました。

HackDay二日目

今回は音声やセンサーなど、発表会場の暗い中で動かすことが不安なプロダクトとなったため、発表は映像で行おうということになったため、2日目はまずビデオ撮影から始めます。

開場の廊下を借りていわゆる「寸劇」の撮影をしました。

その後matsuchiさんが字幕を入れたり調整を始めました。

発表の後にデモもあるということで、エンジニア陣はデモ用に調整などをしていました。

 

で、発表です。

今回はやはり私たちのような「ボイスUI」を使った作品が多く、改めてスマートスピーカーの時代が来ているのだなと感じました。

今回は賞は受賞できません出た、、残念。

しかし、発表の後の展示にもちょくちょくお客さんが見に来てくれて、興味を持ってもらえたようで、方向性はそれほど間違っていなかったかなと認識することができました。

 

f:id:inajob:20171211181501p:plain

ニコニコ生放送でも高評価!

 

仕組み

f:id:inajob:20171211175935p:plain

f:id:inajob:20171211173150p:plain

 RaspberryPiに各種センサー、マイクをつないでいます。

Juliusがマイクからの入力を読み込み音声認識をしています。 

RaspberryPiとGoogleHomeをつなぐには2つの方法を使っています。1つは https://github.com/noelportugal/google-home-notifier 。これはChromecastの仕組みを応用してGoogleHomeに任意の音声ファイルをしゃべらせることのできるプログラムです。

もう一つは上の図で「スピーカー」と書いてあるように、RaspberryPiがGoogleHomeに話しかけます。こうすることでGoogleHomeのもつ便利な機能をセンサーをトリガとして実行することができます。

(早くそういうことができるAPIが開放されてほしい)

 

感想

スマートスピーカーは難しい!と感じました。プログラムから制御できることも少なく、簡単にできることはすでにみんなやってしまっているし、、、

電子工作プロダクトを24時間しばりのあるHackDayでやることも難しい!と感じました。何度か電子工作ネタでこのHackDayに出たことがあるのですが、毎回”これだけしかできなかった・・”という感じになります。

と、反省は尽きないのですが、スマートスピーカー自体は我が家でも使っており、今後もっと便利になってほしいので、今回のプロダクトを通じて多くの方に次世代のスマートスピーカーの可能性について伝えることができていればいいなと思っています。

 

画像に含まれている可能性があるもの:4人、、スマイル

過去のHackDay

(今回の参加者に配られたパーカー 歴代のHackDayのロゴがぎっしり!)

f:id:inajob:20171211175747p:plain

Hack Dayは今回で6回めで、僕は過去5回も参加しました。宣伝的にリンクを置いておきます。

 

Hack  Day 10th anniv. 全作品まとめ

 動画をみながら、全作品のまとめを作成しました。ざっとどんな作品があったか見たい方はどうぞ!時間のある方はぜひ動画もご覧ください!

scrapbox.io

深センに行ってきました

深セン

会社の仲間で、一緒にMakerFairTokyoに出ている人たちと一緒にMakerFairShenzhenに行くことになりました。

メインプロダクトは、このWebページで紹介しているものです。

connect-me-net.tumblr.com

 

僕はこのチームで、回路周りでトラブったときのアドバイザー的な役をしており、MakerFairなどの際には、ブースの端をすこし開けてもらって、自分のプロダクトも展示したりしています。

 

今回はこのチームでMakerFairShenzhenに出ようということで、僕にとっては初めての中国旅行でした。

ほかにも中国に行きたい人たちを募って、総勢7人ほど(現地合流の人や、旅程が微妙に違う人もいましたが)の旅となりました。

準備

飛行機は日程に会うものがそれほどなかったので、すっと決定。往復で3万とちょっと。

ホテルはまとめて予約してもらったので詳細はよく知らない。(ありがとうございます)

MakerFair向けには、英語と、中国語で説明用チラシを作成。

f:id:inajob:20171114144640p:plainf:id:inajob:20171114144710p:plainf:id:inajob:20171114144745p:plain

こんな感じ。

英語中国語を併記して、テキトーにレイアウトしたが、どうにもパチモンのような感じになってしまったような・・

 

持って行ったもの

inajob.hatenablog.jp

 

www.youtube.com

 

inajob.hatenablog.jp

 

MakerFairShenzhen

そんなこんなでMakerFairShenzhen

f:id:inajob:20171114145452p:plain

日本と同じく、メインのプロダクト(ひげにゃん、にゃんぼっと)と、僕のプロダクト(Kumihimo

Maker、RakuChord, DIY Gamebuino)を展示しました。

 

僕のプロダクトは、RakuChord(楽器)、DIY Gamebuino(ゲーム機)は一目で何かわかるものなので、言葉が不自由でもなんとか理解してもらえました。

Kumihimo Makerについては、説明がちょっと難しいのですが、頑張って説明して、相手に伝わったときは相手にも、自分にも謎の一体感が形成されたように感じました。

常時このくらいの客入り。大成功

特に自撮りむけ猫型マスクガジェットである「ひげにゃん」が女性に大人気!皆さん列をなして、ひげにゃんを使って自撮りをしていました。

MakerFairTokyoと比べてもこういうのを好む若い女性客がかなり多かったのが印象深かったです。

 

記念写真。ブース右側が僕の作品コーナーです。

華強北(ファーチャンペイ)

折角深センに来たので、「中国の秋葉原」ともいわれる華強北も見に行きました。

特に事前知識なく「中国の秋葉原」というネーミングからなんか面白いものがあるだろうと思ってました。

華強北 - 深センまとめ Wiki* にある地図がとても参考になりました。

期待通り

  • ビル丸ごと電子部品
  • 怪しい露店でスマフォを売っている

期待と違う

  • Arduinoなどはほとんど売っていない
  • 怪しいガジェットなどはあまりない
  • スマフォアクセサリーといってもスマフォケースなどプラスチック製品が多い

 

f:id:inajob:20171114151101p:plain

攻殻機動隊で怪しい天然オイルを商っているアジアの電子街が出てきましたが、まさにそんな雰囲気なところもありました。

Arduinoは無いの?って店員さんに聞いたら、「オンラインでみんな買うからないよ」と言われた。そういえばこの町ではいわゆるC向けの電子工作グッズはあまり扱っていないようでした。

MakerFairShenzhenではそういうものもたくさんあったので、単に華強北はそういう街ではないだけなのかな?

中国雑感

wechat payが便利

WeChatから使える電子マネー wechat payが非常に便利。

「wechat pay」の画像検索結果

露天ですらもこれが使える。「微信? wei xin?」と伝えると、おもむろにスマートフォンを取り出してきて、決済してくれる。日本人が使うためにはちょっとした工夫が必要なので、中国旅行に行く方は参考に。

日本語版WeChatでWeChat Pay (微信支付)を使う方法【中国の口座不要】 : チケスト社長@ashikagunsoのチラシの裏

中国旅行の新定番! ポケットチェンジでWeChat Payにチャージする:旅人目線のデジタルレポ 中山智 - Engadget 日本版

割り勘もできるので、今回の旅行では大変活躍していました。

乗り捨てレンタル自転車

自転車が歩道に無秩序に並んでいる。これらはレンタル自転車です。自転車についているQRコードを専用アプリで認識させることによりロックを解除でき、テキトーなところで乗り捨てられるというものです。おかげでどこの歩道もこんな感じで自転車があふれてます。

スマートフォンで自転車を映してロックを解除するところが、ハッキングしているみたいでテンションが上がりました

それ以外にも、レンタル傘、レンタルスマフォバッテリーなど、レンタル方式のものがやたらとありました。使うためにはまずデポジットをとり、無事返却したらデポジット分は帰ってくるという方式のようで、電子マネーが普及した中国だからこそできるのだなと感じました。

優しい中国人

MakerFairShenzhenでは僕はつたない英語で説明をしていたのですが、お客さんの中には英語のわからない方もたくさんいらっしゃいました。そんな方にはなんと僕の説明を理解したお客さんが、説明してくれました!これは大変助かりました!

MakerFairShenzhenでは屋台での軽食はすべて電子マネーでの決済でした。僕はその時電子マネーがなくなってしまいおおきな現金しかもっていなかったのですが、それを店員に伝えると店員さんが「だれかーくずせる人いる?」的なことを叫んでくれて、お客さんの中で小銭を持っている人が崩そうとしてくれたりしました。

会場の近くの料理屋で夕食を食べたのですが、その店員さん、ほとんど英語が通じない。我々はつたない英語しかしゃべれない。そんな中でも店員さんはジェスチャーや、「ナンバーワン!」(おすすめ?)などを駆使して我々に接客をしてくれました。

この少ない期間の滞在でもこんなにエピソードがあり、中国人は優しいなと感じました。

 

まとめ

初めての中国!初めての非英語圏!ということで得るものがたくさんありました。

海外旅行をするといつも思うのですが、日本とは違うルールや常識があり、そしてそのうえでバランスが取れている。「おー、こういうのもアリなんだ」という発見がたくさんありました。

MakerFairでは「これ売らないの?」という声を掛けてくれる人もいました。中国なら電子マネーで決済も簡単そうだし、多少荒く作っても許してくれる雰囲気が(良いか悪いかは置いておいて・・)あるので、次来るときは何かを売りに行きたいなと思いました。

 

Google Homeが我が家にやってきた

まずはレンタルから

巷でGoogle Homeが話題になっている、値段もまぁそれほど高くないし、買おうかなぁ、、と思いつつ、いまいち決断できない・・

 

と悩んでいたらTSUTAYAGoogle Homeのレンタルをしているのを発見。

 

tsutaya.tsite.jp

800円で1週間Google Homeを借りられるということで、さっそく借りてみました。

まぁ予想通りのものだったので、その流れで購入。

感想

  • AIアシスタント的なことはできない
  • 声で操作するCUI
  • チャットボットの音声版
  • 電話の自動応答みたいなもの
  • Bluetoothスピーカー
  • Google音声認識を簡単に利用する権利を買った
  • Radikoプレーヤー
  • IFTTTの音声トリガ

我が家での姿

ウサギのパペット人形をかぶせてます。できれば「ねぇうさたん・・」とかで起動させたいところだが、、それはできなそう

f:id:inajob:20171029213430p:plain

 

Todoシステムとの結合

我が家のTodoシステムと連携させてみる。我が家のTodoシステムはREST APIがあるので、Google Homeで特定の文言をトリガにしてTodoを登録できるようにしてみる。

IFTTTを使うと、これがプログラムを書くことなく実現できる。

 

条件はこちら

「ねぇ Google、買い物 牛乳」などというと、このトリガが発火する。

f:id:inajob:20171029212403p:plain

アクションがこちら、TodoシステムのURLに先ほどの例だと「牛乳が無い」という文字列をPOSTする。(TodoシステムはXXXが無いという発言に対応して「XXX」を買い物リストに追加する機能があります。)

f:id:inajob:20171029212237p:plain

これだけ。

 

さて、以前このブログで紹介した「納豆ボタン」は完全にGoogle Homeで置き換えられてしまった。しかも固定の品物ではなく、口にできる言葉すべてを追加できる。

inajob.hatenablog.jp

まとめ

音声認識を活用したプロダクトを、サクッと作りたい方にはGoogle Homeはおすすめです。

特に今回紹介したように、会話から単語を拾って、何かのAPIを呼び出すだけであればプログラミング不要で作ることができます。ぜひやってみてください!

あとGoogle Homeが流行るとこのプラットフォームに乗っかる企業も増えることが予想されるので、この記事を見て「いいな!」と思った人は買ってください。

 

3Dプリンタを使って何が作れるの?

最近は3Dプリンタで何か作れないかな?と試行錯誤しています

主なものは以前記事にしたのですが、その他細かいものについては触れていなかったので、せっかくなので記事にしてみます。

3Dプリンタで何ができるの?という方に見てもらいたいです。

 

以前記事にしたもの

inajob.hatenablog.jp

inajob.hatenablog.jp

 

クランプ

机の端に何かを固定するための器具。

直径1cmのねじであれば3Dプリンタで出力して、そこそこ強度があるなということが分かった。

(のちにクリアグリーンのフィラメントにしたところ、微妙にうまくいかなくなった、このとき使っていた白フィラメントが特別こういう造形に向いていたようだ)

f:id:inajob:20170930192911p:plain

例えばこんな風にして、机の横の空中にペン立てを固定したりしている

f:id:inajob:20170930193340p:plain

テーブルの脚

使わないテレビ台があったのだが、これにタイヤがつけられるとワゴンのように使えるということで、本来はゴミ箱の脚であったタイヤを流用して、テレビ台にタイヤをつけてみた。

f:id:inajob:20170930193454p:plain

今でも便利に活用中

表札

この要領で家の表札を作った。立体感のある名札みたいなものも作れそう。

背景にある謎の網掛けみたいなのがポイントで、これがないと各パーツがばらばらになってしまう。

f:id:inajob:20170930194002p:plain

 

途中で折れたUSBハブを直す

本来くるくると回転するUSBハブだったのですが、回転部分で折れてしまいました。断線しているわけではないので、USBハブとしては使えるのですが、、、 というものを修理

 

ビフォー↓

f:id:inajob:20170930194155p:plain

あふたー↓  回転機能は失われたが、特に使ってなかったので問題ない。

f:id:inajob:20170930194307p:plain

ゴミ箱にティッシュをひっかけるやつ

これはまだ改良が必要そう。とりあえず床に物を置いていると散らかるということで、ティッシュをゴミ箱と一体化する計画。

f:id:inajob:20170930194418p:plain

自作ゲーム機のケース

過去に記事にした自作ゲーム機をケースに入れてみた。

余裕をもって作ったらかなり大きくなってしまった。上下ケースの固定に3Dプリンタで出力した直径1cmのねじを使うようにしてみた。

inajob.hatenablog.jp

f:id:inajob:20170930194547p:plain

自作ミニピアノのケース

上とほぼ同じ要領で作成した。

f:id:inajob:20170930195020p:plain

中身はこんな感じ、秋月C基板くらいのサイズです

f:id:inajob:20170930195132p:plain

まとめ

今年のはじめに3Dプリンタを買って、いろいろ試行錯誤してきましたが、まだまだやりたいことが残っています。とりあえず「自分で作った電子工作のケースを作る」というのができるようになったので、買った目標はある程度果たせたのかなと思っています。

Fabスペース的なところで3Dプリンタを使うというのもありだとは思うのですが、家に3Dプリンタがあるということは、高速プロトタイピングを行う上ではかなり重要なことだと感じました。ハマっているときは、仕事から帰ってきて、3Dプリントを始めて、まずいところを見つけて、設計を直して、翌日帰宅後にまた3Dプリントをしてみて、というサイクルを回してたりします(留守中に動かすのはまだ怖い)

電子回路、ソフトウェア、3Dプリンタ この3つがそこそこ扱えると、思い描いた装置を最後まで自分の手で設計して作ることができるので、なんというか一種の全能感みたいなものが感じられて非常に楽しいです。モノ作りが好きな方、3Dプリンタおすすめですよ!

inajob.hatenablog.jp

 

ちなみに僕は以前から3Dプリンタがほしいなと漠然と思っていたのですが

sftt.jp

この記事を見て3Dプリンタを買おうと決意しました。悩んでる人はこちらも要チェックです。

 

ESP8266で納豆ボタンをつくってみた

これは何?

納豆が無いときにぽちっと押すと「納豆がない!」とLINEに投稿する素敵なガジェットです。

いわゆるAmazonDashボタンのようなものですね。

f:id:inajob:20170918232404p:plain

 

 

なぜ作った?

以前から我が家ではお手製の「Todoアプリボット」を使っていました。

このボットは「~が無い」とか「~買った」というキーワードに反応するボットで、グループチャットに参加させておくことで、自然と買うものリストを管理できるようになるというものです。

 

これはこれで便利なのですが、台所で家事をしているときに、納豆がないな・・ スマートフォンを取り出して「納豆が無い」、、っと  とやるのが億劫になってきたのでワンタッチでこれができるものが必要となってきたのです。

 

アーキテクチャ

f:id:inajob:20170918210008p:plain

仕組み

ESP8266を使っています。

単三電池3本で駆動します。常に動かしているとすぐに電池がなくなってしまうので、「電源ボタン」を用意しています。これを押してからしばらくの間は入力を受け付け、一定時間が経過すると自動的にスリープに入ります。

(本当はこの部分も自動化して、納豆ボタンを押した瞬間に電源が入って、送信後自動的にスリープするようにしたいが、良い方法が思いつかなかった)

また、納豆だけではつまらないので8個のボタンを搭載しています。我が家では「納豆」「牛乳」「たまご」「豆腐」の追加と削除ができるようにしてみました。

我が家に小型のI2C液晶が余っていたのでステータス表示用に取り付けています。

f:id:inajob:20170918210840p:plain

思いつくままに作ったので、中身が結構ぐちゃぐちゃです。

一応メイン基板と、キーボード基板、液晶基板の3枚構成です。

f:id:inajob:20170918232543p:plain

筐体

3Dプリンタと長いネジで作っています。

f:id:inajob:20170918210950p:plain

まだ慣れないけどFusion360モデリングしました。

 

案外でかいです。もっとコンパクトにする余地あり

f:id:inajob:20170918232434p:plain

 

 まとめ

3Dプリンタがあると思いついた形のものが作れて便利だなと思う反面、せっかく自由度が高い3Dプリンタなのに、なんの面白みもない四角い筐体にしてしまった。

ともあれ、しばらく我が家で動かしてみて電池の持ち具合や、使い勝手について検証したいところです。

650円のマイコンでここまで作れちゃうのはとてもリーズナブル。これを見てる方も生活を便利にするガジェットを作ってみませんか?

 

 参考

Wi−Fiモジュール ESP−WROOM−02 DIP化キット: 無線、高周波関連商品 秋月電子通商 電子部品 ネット通販

ミニI2C液晶モジュール(8x2行)[バックライトなし] - SB0802GN - ネット販売

DeepSleepへの移行とボタン押下による復帰

 

8bitなゲーム環境Fantasy Computerをまとめてみる

Fantasy Computerとは

(おそらく)PICO-8PICO-8: FANTASY CONSOLE)というソフトウェアが言い出した概念のようです。Fantasy ComputerやFantasy Consoleとも呼ばれたりするようです。

低解像度、少ない色数の画面で、ゲームの実行のみならず、プログラミングや画像や効果音、BGMの作成までできてしまうという、ミニマルなゲームの統合開発環境(兼実行環境)です。

ゲームはLuaで記述します。ブラウザ上や、PC、RaspberryPi、PocketCHIPなどで作ったゲームを動作させられるようです。

 

f:id:inajob:20170702092903p:plain

f:id:inajob:20170702092951p:plain

開発するためには有料のソフトを購入する必要があるようですが、ブラウザで遊ぶ分には無料のようです。

 

IchigoJamも似たような感じですが、PICO-8はPC上で動作するソフトウェアで、CPUやメモリはマイコンよりは緩いようです。

Cloneたち

Fantasy ComputerであるPICO-8は商用製品で、かつオープンではありません。また統合開発環境という性質上、自分の独自機能を実装した派生形を作りたい人たちも多いようです。

 

ということで、PICO-8以外にもいくつかの類似したソフトウェアがあります。

TIC-80

nesbox.itch.io

 ブラウザでも動作するFantasy Computer。オープンソースで開発されています。Pro版というのが存在するようで、テキストファイルでのSave,Loadやメモリバンクの拡張などができるようになるようです。

Lua、Moonscript,Javascript, Wren, Flannelなどの言語でゲームを記述します。

画面解像度は240x136、16色ぱれっど 256の8x8スプライト、4チャンネルの音源 など

PICO-8のようにテキストエディタや、スプライトエディタ、マップエディタ、サウンドエディタが同梱されています。

FantasyComputerの中ではかなり活発に開発が進められています。

f:id:inajob:20170702093336p:plain

LICO-12

github.com

LÖVEというゲーム開発環境の上に実装されたFantasyConputerのようです。MIT Licence

Luaでゲームを記述します。作ったゲームはAndroidのLIKO-12でも動作するようです。

 

pixelvision8

pixelvision8.itch.io

今のところ製品版のみ?フリー版も近いうちにできるのだとか、、クローズドソースのようです。

Luaでゲームを記述します。

$7.49くらい

 

UnicornConsole

github.com

MITライセンス

400x240の解像度、32bit色、3200個の8x8スプライト、400x60セルのマップをサポート。

Rust, JavaScript, Python, Luaでプログラムを作ることができます。

組み込みの画像、サウンド、コードディタ

様々な環境で動作するように設計されておりSDL2, libretro, web, androidなどで利用できます。

pico-8のカートリッジも読み込めるようです。 (おそらく)

ここ1年くらいは更新されていないのが気になります。

f:id:inajob:20170702093831p:plain

tako80 

Tako 80

ブラウザで動作するFantasyComputer。オープンソースで無料。

ゲームはJavaScriptで記述する。コードエディタやスプライトエディタは同梱されていないので、今まで紹介したものとはちょっと毛色が違う。ゲームライブラリという位置づけのようにみえるので、enchant.jsなどに近いものかな?

2年前から更新されていないのが気になります。

f:id:inajob:20170702095040p:plain

basic8

b8 | BASIC8 - The Fantasy Computer/Console!

 

有償の8bitゲーム開発環境

解像度は160x128、2チャンネル音楽と4つのサウンドエフェクト、16色パレット

BASICで開発できる。

開発環境はリッチなGUIで構築されているのが他のFantasy Computerとの大きな違い

f:id:inajob:20190310112956p:plain

script-8

SCRIPT-8

JavaScriptで動作するFantasyConsole。ブラウザ上で動くコード、グラフィックス、マップ、エディタ

作ったゲームはブラウザ上で動作する。

ダークな淡い感じの固定色の8色パレット、60FPS

f:id:inajob:20190310115349p:plain

lowres-nx

LowRes NX

160x128の解像度、64個の32x32スプライト、6bitの8色パレット、4チャンネルのサウンド

プログラムはBASICで記述する

コード、画像、サウンドエディタが組み込まれている。iOSmacOSWindowsで動作する。公式ページではWebブラウザでもゲームが動いている。

ここからダウンロードできる↓

github.com

f:id:inajob:20190310113723p:plain

pix64

Pix64 by ZappedCow

これはちょっと毛色の違うゲーム開発環境です。

プログラムを書く必要はなく64x64のpngファイルを用意するだけでゲームが開発できます。

秘密は「色」で、色に応じて「敵」や「プレーヤー」「壁」などを表現してるようです。

f:id:inajob:20190310114622p:plain

pyxel

github.com

最近話題のPythonで動くゲーム開発環境。

固定色の16色パレットで、4チャンネルのサウンド出力をサポートしています。

キャラクタエディタやマップエディタ、サウンドエディタが組み込まれています。

全部入りのFantasy Computerというよりは、Pythonのゲームライブラリというほうが正確だと思います。

f:id:inajob:20190310115444p:plain

MakeCode Arcade

MakeCode Arcade

Microsoftが提供しているゲーム開発環境

Blockyを使ったビジュアルプログラミングや、JavaScriptを直接記述することでWebブラウザ上でゲームを作成・公開することができます。

いくつかのハードウェアでも作ったプログラムを動かすことができるようです。

f:id:inajob:20190310120546p:plain

 まとめ

8bitな感じのゲームを8bitな感じの統合開発環境で作るというFantasyConputerと呼ばれる分野のソフトを紹介しました。

ゲームを作ることと、ゲームを遊ぶことが一つのソフトでできるというのはゲームを作りながらプログラミングを学んだ僕にとっても、とても親近感の沸く思想です。

プログラミングに興味がある人は、まずは人の作ったゲームを遊ぶところから始めてみてはいかがでしょうか?

 

参考

良いまとめがありました: GitHub - paladin-t/fantasy: A curated list of available fantasy consoles/computers.

更新

  • 2019/03/10 最新の情報に更新しました