Hatena::ブログ(Diary)

個人ページ

2016-08-24

[]日経ソフトウエア2016年10月号

雑誌「日経ソフトウェア2016年10月号」で記事を書かせて頂きました。

f:id:nicotakuya:20160824211533p:image

プチコン3号の記事。今回はエアホッケーです。

連載は今回で最終回です。1年間も続けさせて頂きました。

プログラムはここからダウンロードできます。

https://sites.google.com/site/yugenkaisyanico/petitcom3gou-program

f:id:nicotakuya:20160824211527j:image

ラズパイの連載はスクラッチを取り上げました。

超音波センサーをつないでます。

最初、何も気にしないで超音波センサーの5V出力をつないでしまって、慌てて対策しました。

スクラッチはWeDoのモーターをそのまま制御できたり、拡張性に優れています。

この時点ではまだラズパイ2を使用しています。

次回からラズパイ3に切り替えます。

2016-08-03

[]プチコン3号用ゲーム「PAC CHASE」

f:id:nicotakuya:20160803144239p:image

プチコン3号のローカル通信を使ってパックマンで鬼ごっこをするゲームを作ってみました。

「PAC CHASE(パックチェイス)」と名付けました。

このページで公開中です。

https://sites.google.com/site/yugenkaisyanico/petitcom3gou-program

2人〜4人のプレイヤーで遊びます。1人だけでは遊べません。

人数分の3DS本体が必要です。

すべての3DSに「プチコン3号」を入れておきます。

さらにプチコン3号SmileBASIC「カタログIP」コラボ」の「パックマン(100円)」を購入しておく必要があります。

こうして堂々とパックマン二次創作ができるのは夢のような話です。

f:id:nicotakuya:20160803144238p:image

▲プレイヤーの1人がモンスターの役割になります。モンスターがパックマンに触れると、立場が入れ替わります。

最後にモンスターだったプレイヤーが負けになります。

まだ実験段階なので、ゲームとしてはあまり面白くありません。

f:id:nicotakuya:20160803144240p:image

▲実行後の最初に表示される画面です。

ローカル通信では1台が親機(ホスト)になり、残りが子機(クライアント)になります。

f:id:nicotakuya:20160803144237p:image

通信が切断されるとこのような画面が表示されます。

2016-07-23

[]日経ソフトウェア2016年9月号

f:id:nicotakuya:20160723194910j:image

▲仕事の報告です。

雑誌「日経ソフトウェア2016年9月号」で記事を3件ほど書かせていただきました。

一つは特集の中の迷路作りとポーカープログラムについての記事。言語はJavascriptです。

f:id:nicotakuya:20160723193956p:image

プチコンの連載は11回目です。

どこかで見たような疑似3Dのシューティングです。

こういうのが200行以内で作れるのがプチコンのすごいところです。

ここからダウンロードできます。

https://sites.google.com/site/yugenkaisyanico/petitcom3gou-program

、、、

f:id:nicotakuya:20160723193955p:image

ラズパイの連載は8回目です。

スクラッチの紹介をしました。

作ったゲームはここで共有中です。

https://scratch.mit.edu/projects/115584179/

2016-07-13

[]「作って楽しい!ラズパイプログラミング

f:id:nicotakuya:20160714005754j:image

7月14日に「作って楽しい!ラズパイプログラミング」というムック本が発売されました。

http://www.amazon.co.jp/dp/4822237796

以前、「日経ソフトウェア」に書かせて頂いた特集記事(ラズパイ3)と連載記事(ラズパイ2とB+)を一冊にまとめたものです。

全180ページです。

2016-07-09

[]「スプライト画像変換サービス for プチコン3号」

f:id:nicotakuya:20160627214229j:image

▲「スマイルベーシックマガジン」のおまけの「スプライト画像変換サービス」を使ってみました。

f:id:nicotakuya:20160709183634p:image

▲まず、元となる画像を用意します。画像のサイズは512x512ピクセル。カラーは24ビットか32ビットに対応しています。

自分の場合はゲーム「ZEROTANK」の素材を作ることにします。

素材作りが大変です。ドット絵を描く作業量が尋常ではありません。まさか今になってドット絵を描くことになるとは、、、。

あと、使いやすいスプライトエディタがありません。グラフィックエディタだと細かいところで不都合が出てしまいます。

しかたないので、HSPスプライトエディタを自作しながら、素材を作りました。透明色を視認できる機能と、16ピクセル単位で作業エリアを区切れる機能が重要です。途中で欲が出て、色変換とか90度回転とか機能を足しました。

別の問題として、スプライトの画像を変更するとなると、SPDEFの割り振りが全部やり直しになってしまいます。

ここですごい作業量が発生してしまうので、サイズは16x16、32x32、64x64、128x128ピクセルの4パターンだけに限定しました。これで、数学的にテンプレートの定義番号を割り出すことにします。

f:id:nicotakuya:20160709183632p:image

▲素材がいつまで経っても完成しませんが、変換サービスを使ってみたいので、見切り発車してみます。

専用Webページのフォームから画像ファイルと利用コードを入力します。

どういうわけか、BMP画像を読み込ませたら、「'max_allowed_packet' bytes」というエラーが出て失敗しました。

同じ画像をPNGに変換してから読ませたら成功しました。

数時間ほど後、メールで公開キーが届きました。

f:id:nicotakuya:20160709184530j:image

▲本体でダウンロードして、変換完了です。変換後は15ビットカラー(5ビットx3色)になります。

ここで、落とし穴があったのですが、黒色が透明色になっていません。RGB0,0,0は単なる黒色になってます。

自分が勝手に勘違いしてただけなんですけど。

f:id:nicotakuya:20160709184525j:image

▲こんな感じで、黒を透明に変換すれば解決です。

でも、ここでも落とし穴があります。自分場合は24ビットカラーから15ビットカラーにしましたので、個々で256段階のうち1〜7の色は0側に寄せられてしまいます。それで透明色じゃなかった微妙な色が透明色になってしまいました。これは24ビットのエディット時点で注意しておかないといけません。

、、、

完成しました。

f:id:nicotakuya:20160624110547p:image

▲変更前(before)。プリセットの画像データ。

↓↓↓

f:id:nicotakuya:20160709183637p:image

▲変換後(after)。自作の画像データに差し替えたのがこちらです。

f:id:nicotakuya:20160709183636p:image

▲絵が未完成ですみません。

やっぱり、ドット絵を描くのは大変です。何か作業量を減らす方法があったらいいんですが。

雑誌に付属する利用コードは5回分なので、残り4回。最小限のフィードバックで完成させないといけません。

f:id:nicotakuya:20160709200847p:image

▲あと、オペレータの女の子はペンタブレットで描きました。ペンタブレットを使うのは1年ぶりくらいですね。

最新版のZEROTANKはこっちからダウンロードできます。

https://sites.google.com/site/yugenkaisyanico/petitcom3gou-program

(7/19追記)

転送サービスを3回ほど使って、ひとまずバージョン1.0が完成しました。

f:id:nicotakuya:20160719161824p:image

f:id:nicotakuya:20160719161825p:image

f:id:nicotakuya:20160719161823p:image

f:id:nicotakuya:20160719161822p:image

D