ラベル 夏休み の投稿を表示しています。 すべての投稿を表示
ラベル 夏休み の投稿を表示しています。 すべての投稿を表示

2022年8月28日日曜日

【夏休み 小学生 自由研究】 プログラミングして、ゲーム機を作ろう!03 Fireタブレットは安くて便利!

 


 

  さてみなさんこんにちは。

 

 夏休みの自由研究で「ゲーム機をつくろう!」というとりくみをやった小5の息子ですが、最終的にハードウエアは

 

 amazon Fire7

 

に落ち着きました。

 

 もちろん、前回説明したとおり、「PCでも動く」「iPhone でも動く」「タブレットでも動く」などなど、動かそうと思えばなんでも動くのですが、Fire タブレットに決めた理由はいくつかあります。

 

◆ 中古品が安い! Fire7であれば2000円くらいであるので、ゲーム機ハードとしては安価に入手できる。

 

◆ 学校で展示したりすることを考えて、「スタンドアロン」で動作させたい。つまり、ゲームソフトは内蔵しておきたい。

 

◆ 7インチタブレットなので、「ニンテンドースイッチ」ぽく外装をいじることができる。

 

◆ タッチパネル動作を実装したので、スマホかタブレットで動かしたい!

 

 

 という感じ。

 

 とにかく中古のアンドロイド端末では、Fire関連が一番安く入手できます。フリマアプリでもオークションでも、2000円前後で程度がいい個体がゲットできます。

 

 最安値だと 1200円~1300円送料込み・メルカリ なんてのもけっこうな頻度で出ます。

 

 1000円以下もないわけではありませんが、やはり不具合などがある場合が多いので、相場は2000円といったところでしょう。

 

 それでも、Make Code Aarcade 関連のハードが6000円~10000円することを考えれば、かなり安価に実行環境を揃えられると思います。

 

==========

 

<1 Fireタブレットのバージョンを考慮しよう>

  amazonのFireはかなりバラエティに富んだバージョン編成で、混乱しますのでざっくりまとめておきます。

 

◆ Fire HD10  → 第11世代 ・第9世代・第7世代


 現行は第11世代でFireタブレットのフラッグシップです。画面が大きいことと、性能が高いことは良いのですがその分値段も高く、中古の第7世代でも送料別で4000円くらいします。

 なので、除外。


◆ Fire HD8  → 第10世代・第8世代・第7世代・第6世代・第5世代


  中古価格は3000円~くらいです。学童用としてはHD8でもいいと思います。第5世代から内部で動いているのはAndroid5.1なので、HTMLベースでの動作が可能です。

  (要TurboWarpでの変換作業)

 第10世代はAndroid9/第8世代はAndoroid7.1です。


 

◆ Fire HDX8 → 第4世代

 

  未確認ですが、Android5.1なので、動くと思います。

 

◆  Fire 7  → 第12世代 ×

 

 最新モデルですが、最新すぎてAndroid化させられないとの話。除外します。

 

◆ Fire 7 → 第9世代・第7世代・第5世代

 

  第5世代と第7世代がAndroid5.1です。HTMLでの動作が可能。

  第9世代は Android7.1です。アプリ版スクラッチ本体が動きます。

 

 

==========


 今回、冒頭の写真に写っているのは Fire7 第5世代 です。これらの中では古いほうで、かつ安く入手できるモデルです。

 

 fireタブレットをAndroid化して、GooglePlayのストアを入れる方法、なんてのがネットには転がっていますが、実はAndroid化しなくても

 

『Chromeを入れて、HTML化したスクラッチの作品を動かす』

 

だけであれば、 比較的簡単です。

 

 めんどうなことをしなくても、Chrome63以降のAPKファイルをダウンロードしてインストールすれば、それで動きます。

 

 Fire標準のSilkではスクラッチHTMLが動かない場合がありますので、ここはChromeを入れておきましょう。

 

  TurboWarpを使うと、HTMLファイルは「ダウンロード」フォルダに入ります。

 

 あとはChromeブラウザでそのファイルを読み込んで動かす、という形になります。

 

 

 

 

2022年8月27日土曜日

【夏休み 小学生 自由研究】 プログラミングして、ゲーム機を作ろう!02 ハードの選定


 

 さてみなさんこんにちは。 


 前回から引き続いて、「夏休みの自由研究でゲームを作る」というネタをやったうちの息子ですが、学校でもなじみがある


 スクラッチ

https://scratch.mit.edu/

 

 

を使って開発したい!ということで、ご自由に作っていただきました。父はプログラムの作成についてはノータッチです。

 

 ソフトウエア設計は息子におまかせでしたが、ハードウエアとのすり合わせはいろいろと制約もあるので、お手伝いをしました。

 

 その細かなTipsを残しておきます。

 

 

<1 スクラッチをスマホやタブレットで動かす>

   スクラッチを動かす、スクラッチが動くとは2つの意味があります。

 

まず、「スクラッチ開発環境が動き、そのハードウエアの上でスクラッチでプログラムが組める」、という意味。

そして、 「開発はそのハード上ではできないけれど、作品は動作する」という意味です。


 スクラッチの公式見解では、基本はブラウザ上で動作しますから、


デスクトップ

Chrome (バージョン63以上)

Edge (バージョン15以上)

Firefox (バージョン57以上)

Safari (バージョン11以上)

Internet Explorerはサポートされていません。

 

ということになります。 これで、いわゆる通常のパソコン、PCやiPad上で開発ができる、ということになるでしょう。(キーボード必須)

 

 なおかつ、

 

OS:

Windows 10 バージョン1709以上

MacOS 10.13以上

ChromeOS 

Android 6.0以上 (タブレットのみ)

 

とあるので、これらのハードでも「開発」ができます。 


 うちの子の場合は、学校でChromeBookを使っているので、それに似たPCでのブラウザ環境で製作しました。


結局 「Linux mint」のノートパソコンと「iPad 第7世代+キーボード」を併用しながら作っていたようです。



=========


 今度は「動かす」場合です。これも考え方がいろいろあって、


◆ ネットに繋がっていて、ネット上の作品を動かす場合

と

◆ ネットから切り離れていて、オフラインで作品を動かす場合

 

の2つがあるでしょう。

 

 

 

<2 スクラッチをPC上で動かす>

 ゲームを作りました!という作品づくりにおいて、結局「PC」上で動かす場合は、あまり制約がありません。

  作品をスクラッチのサイトに公開しておいて、それをもって作品提出、とするのであれば、けっこう簡単に課題終了です。

 

 というのも、スクラッチのプログラミングは基本的にはキーボードがあり、そのキーボードを叩いてコントローラとするので、いわゆるふつうのパソコンで動かす場合は、簡単なのです。

 

 

 

<3 スクラッチをスマホやタブレットで動かす>

  基本動作がキーボード必須ということは、タブレットなどで動かす場合は

 

◆ タッチパネルを使う

か

◆ 外部コントローラを使う

 

かの選択が生まれます。

 

 タッチパネルを使う場合は、プログラム内のマウスの動き(位置)とボタン押下を判定して、それをタッチにみたてる仕組みを書き込みます。

 

(これは作例がいろいろ載っているので、ググってみてください)

 

 今回うちの子は、画面上に上・右・左ボタンを表示させて、そこのタップを入力としているようです。

 

※注意※ 

  設計ベースがマウスなので、「マルチタッチ」が効きません。これはスクラッチの仕様と思われます。

 なので、右ボタンを押し続けながらジャンプ!とかができないことになります。瞬時に右と上を切り替えながら押す必要があります。難易度高め。

 

  外部コントローラを使う場合はMicrobitが使えるので、マイクロビットが使える状態にしてプログラムを組んでやれば、無線コントローラになります。

 

 ニンテンドースイッチっぽいことができる、というわけです。

 

マイクロビットとの接続法

 https://scratch.mit.edu/microbit

 



<4 ネットのある・なしで動作法が異なる>


 できた作品を「Wifi環境があるおうちとか、学校で楽しんだり披露したりする」のであれば、

 

◆ スマホ タブレット iPhone iPad (ブラウザ経由)

 

などで動かすことができます。 いわゆる、スクラッチのサーバー上にある作品を、そのままブラウザで動かすという方法なので、シンプルです。

 Wifiにさえ繋がっていれば、スマホでもタブレットでもiPhoneでもiPadでも動かせます。


 しかし、提出する学校がWifi環境になく、また持ち込んだハードをWifiに繋げないなどの制約がある場合は、「ハードの内部に、ファイルとして作品を持っておく、記録しておく」必要があります。

 いわゆるオフライン動作、スタンドアロン動作をさせる、ということです。

 

 この場合は

 

◆ アンドロイドのスマホ・タブレット  WindosMobileの最終版スマホ(HTML経由)

 

でしか動かせません。

 

 どういうことかというとiOSでは、内部ファイルとして作品を保存し、持って置けないので、エラーが出るのです。実際にファイルとして保存しても、動きません。

 アンドロイドと、最終版Windows10Mobileのものでは動作確認しました。 もう、WindowsMobileは終了しているので、古いスマホがある場合は、ゲーム機として使えます。


 スクラッチの実行ファイルは、TurboWarp というスクラッチのファンである有志のサイトで変換できます。

 

【スクラッチで作品づくり】→【公開】→【ターボワープサイトで変換】→【HTMLファイルをダウンロード】


という流れです。


ターボワープ

https://turbowarp.org/

 

 


<5 古いスマホやタブレットでも動く>

 おうちにある古いスマホやタブレットを使う場合、考え方は以下のとおりです。


◆ iPhone系 → ネット環境があれば動く。ブラウザSafari11以上(iOS11)

◆ Android系 → アプリ版スクラッチを動作させるにはAndroid6以上

◆ Android系 → HTML化すればAndroid5以上(Chrome63以上が動くから)

◆ Windows10Mobile → OSが最終版であれば動く可能性大(1703・1709)


※Android4以下は動かないです。



=========


最終的にできた作品は

 

丹波篠山巡り

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

 

です。スクラッチのサイトにあります。

 

 

2022年8月26日金曜日

【夏休み 小学生 自由研究】 プログラミングして、ゲーム機を作ろう!01 自作ゲーム機まとめ


 


 

 さてみなさんこんにちは。

 

 大人のお盆休みはとっくに終わり、いよいようちの小学生の子供たちの夏休みも残すところ数日です。

 

 コロナ禍なので、海やら山やらと飛び回るわけにもいかず、どちらかというとインドアで過ごしたうちのj家族ですが、今年は小学5年生の息子が

 

 プログラミング ゲーム機づくり

 

に挑戦しました。 その備忘録です。

 

 小学生の子供たちにとって、特に男の子なんかには「ゲームを作る」というのは夢の工作ですが、 古くはMSXでBASICを走らせたりしたものです。(古いわ)

 

 わたくし左大文字は昭和49年生まれなので、かろうじてMSXを知っていますが、昔はカセットテープにゲームを保存したり、そりゃあもう、アナログなんだかデジタルなんだか。

 

 

 しかし、昨今はゲーム機づくりの環境も、「めちゃんこ整って」います。整いすぎて、何をどうしていいかわからないくらい!!

 

 ラズベリーパイ(Raspberry Pi)を使ったものなどは、 性能が高いので、アーケードゲームを移植して動かせたりします。

 

 

Game HAT

 

GPi case

 

 ↑これらのように、けっこういろんな会社からゲームコンソールが出ていますが、どちらかというとプログラミングして自分の好きなゲームを作るというよりは、「すでにある名作ゲームを自作機で動かす」という用途が主になるでしょう。

 

 

==========

 

 さて、8ビット系のレトロゲームのクローンをプログラムしたり、あるいはすでにあるコードを修正してみたりする場合は、比較的動作が複雑でない「Arduino」系のゲーム機を自作するのがいいかもしれません。

 

 

Arduino 系自作ゲーム機 総まとめ

https://kotaro-yoshiie.blogspot.com/2021/11/arudino-tinyjoypadarduboy.html


 こちらは、電子工作寄りです。コンピュータとしては基礎的ながら、ハンダ付けなどの作業が主になり、小学生では難易度が高いかもしれません。

 その代わり、ハードウエア設計の自由度が高いと思います。
 


========


 小学生向きなのは、いわゆる「プログラムを書く」「コードを書く」という作業のない、ビジュアルブロックでプログラムを組んでゆくシリーズでしょう。

 

マイクロソフト ゲームコードアーケード

https://arcade.makecode.com/ 



 このシリーズは開発環境が「Make Code Arcade」で、実際に走らせるハードは数社から発売されています。


↑ 写真のものは「Meowbit」というハード。このほかにも「Brainpad Arcade」とか「GameGo」といった互換機ハードがいろいろあります。

 

========

 

 ハードとソフトのシームレスな融合という意味では、マイクロソフトのシリーズを使うのがベターかもしれませんが、小学校レベルのプログラミング現場ではやっぱり

 


 「スクラッチ」

 https://scratch.mit.edu/

 

が人気です。基本的にはPC上で動作させるのですが、作例が山ほどあり、かつ学校現場でもスクラッチであれば取り組んでいるところがたくさんあるので、とっつきやすいと思います。

 

 

 そこで、今回のうちの子の「ゲーム機づくり」は

 

◆ 開発環境はスクラッチで

◆ 動作環境はスマホまたはタブレットで

 

という形にしました。他のプログラミング環境では、ハードを別に買ってこないといけないのですが、おおむねハードの値段が6000円~10000円します。

 

それに対して、スマホやタブレットで動かせるのであれば、本来のハードの価格は高いですが、すでにおうちで使われなくなったものがあったり、家にある通常のスマホなどで実行ができるので、

 

「とりあえずは、よけいなお金をかけなくて済む」

 

というメリットがあります。 ニンテンドースイッチが19800円から出ているのに、10000円も払ってレトロゲーム機を作るというのも、コスト的にどうかな?という部分もあるでしょう。


(まあ、ハード作りは体験なので、体験を買うと思えば高くないのかもしれませんが)

 

 



 というわけで、タブレット対応の「タッチパネルで動かせる」ゲームを開発した経緯を引き続きまとめてゆきます!