プチコン4 は、2019 年 5 月 23 日 に発売された、プチコンシリーズの Nintendo Switch 向け最新作です。SmileBASIC の最新バージョン Ver.4 を搭載しています。
3号との互換性は確保されていませんが、文法や仕様レベルでは引き継いでいる点が多く、そのままでは動作しないものの、3号でサーバーにアップロードした作品を持ち込むことができます。
ニンテンドーラボの Toy-con も利用可能で、IR カメラの制御もできます。
Nintendo Switch のニンテンドー eショップでダウンロード販売中です。マイニンテンドーストアでも購入できます。
3000 円(税込) です。作品共有用サーバーに接続できる「サーバー利用券」が 1 枚付属し、購入に使用したニンテンドーアカウントに付与されます。
2019 年 7 月 17 日から販売開始されました。価格はサーバー利用券の料金を差し引いた 2500 円(税込) です。
単品が発売された理由として、サーバー利用券とのセットだとニンテンドー e ショップや任天堂公式サイトのリストに並ばないことがあります。これだけではサーバー利用券がないためアップロードが一切できず、ダウンロードにも制限がありますので、通常は利用券とのセットを購入してください。間違えて単品を購入した場合でも、そのアカウントでサーバー利用券を追加購入すれば、価格を含め利用券セットと同等の内容になります。
USB 接続のキーボードが使えます。Bluetooth 接続のキーボードは使用できません (Switch 本体が対応してません)。
いいえ、市販の USB キーボードも使用できます。ロジクールなどの無線レシーバータイプ (Unifying など) のキーボードもおおむね使用できるようです (動作しないものもあります)。
プチコン用キーボードはキートップに入力できる絵文字が載っているなど、プチコンや Pi STARTER を使用するのに便利な印刷がされているうえに動作が保証されていますが、キーボードの仕様としては一般的な Windows 用キーボードでパソコンでも使用できるものです。便利なものですが、必須ではありません。
USB 接続のマウスが使えます。ただし、無線レシーバータイプのマウス (特にロジクールの Unifying レシーバー) は Switch 本体が認識しないものが多く、有線タイプのマウスの使用が推奨されています。
Switch の USB 端子は Type-C ですので、以下のいずれかで接続できます。
Nintendo Switch 本体の設定で「テレビ出力」→「画面の大きさを調整」で調節できます。
加入する必要はありません。かわりに、プチコン4 独自の「サーバー利用券」を使用します。
なお、Nintendo Switch Online に加入しているとセーブデータお預かりでセーブデータをクラウドにバックアップしておけるメリットがあります。
サーバー利用券はニンテンドーアカウントごとに持つことができる、プチコン4 の作品共有用サーバーに接続する際に利用するチケットです。
サーバー利用券を持っていると、作品をアップロードするためのサーバー上の場所を持つことができます。また、1枚でもサーバー利用券を持っていれば、作品のダウンロードがいくつでもできるようになります。サーバー利用券だけを購入することもでき (500 円(税込) )、複数持っているとアップロードできる総数が追加されます (サーバー利用券 1 枚につき 10 スロット)。
サーバー利用券は、プチコン4 の利用券セットに付属しており、購入したニンテンドーアカウントに 1 枚が付与されます。同じ本体の別アカウントは、プチコン4 を起動して利用することができますが、サーバー利用券は持っていない状態となります。
サーバー利用券を持っていない場合、作品のアップロードはできず、ダウンロードは 8 時間に 1 回に制限されます。
一度購入したサーバー利用券は無期限、回数無制限です。プチコン3号やBIGのゴールド会員権のような期限はありません。そして何回でも使えます。
1 つのスロット (プロジェクト) につき、20 MB まで (プチコン3号や BIG のゴールド会員権と同じ) です。なお、プチコン4 では、DAT ファイルと GRP ファイルは保存時に自動で圧縮され、保存データが小さくなります。
サーバー利用券は、プチコン4 の利用券セットを購入したニンテンドーアカウントに付与されます。同じ本体のほかのアカウントで起動した場合は、サーバー利用券を持っていない状態ですので、そのアカウントでサーバー利用券 (500 円(税込) ) を購入する必要があります。
BASIC とはいえども立派なプログラミング言語の一種です。プログラミング言語の中では比較的簡単な部類ですが、一応簡単な (本当に簡単な) BASIC が大学センター試験の数学の問題として毎年出題されているほどのものです。『メイドイン俺』や『RPG ツクール』みたいに、そうそう簡単に覚えたり作ったりはできません。
が、プログラムの作り方を教えているサイトなどで段階を踏んで覚えていけば、最後には誰でも自由なゲーム・ツールのプログラムが書けるようになるでしょう。
2011 年の初代プチコン発売直後からすでに作品がぽつぽつ公開されていたのは、初期のプチコン購入者の大半が腕に覚えがあるおっさんだったからです。今時のパソコンで言うと、HSP 程度の難易度ではないかと思われます。
プチコン4 にプチコン3号の公開キーを入力して、作品をダウンロードすることができます。ただし、互換性がないので、動作させるにはプチコン4 の仕様に合わせて修正が必要です。また、プチコン4 の公開キーをプチコン3号から利用することはできません。
プチコン4 は、プチコン3号から引き継いでいる部分が多いですが、ハードウェアの仕様の違いによるものや、互換性よりも機能の拡張を優先している部分が多いため、互換性はなく、そのままではまず動きません。ある程度書き換えが必要ですが、作品が使っている機能によっては、わずかな修正で移植することも不可能ではありません。
また、プチコン3号のプログラムをプチコン4用に変換するプチコンバータを使うのも一つの方法です。
なお、プチコンmkII 以前との互換性は3号の時点でほとんど失われていますので、これについては諦めてください。
プチコンmkIIのプログラムを3号用に変換するプチコンmkII at 3号があるので、それをさらにプチコン4用に変換することでもしかしたら動くかもしれません。
プチコン3号形式のGRPファイルは、
- LOADG ”DAT:ファイル名”,読み込みたいページ名
で読み込めます。なお、GRP はプチコン4 の SAVEG 命令で保存しなおすと圧縮がかかるので、3号よりもかなりサイズを小さくできます。
以下のいずれかでできます。
コントローラーの - ボタンや、キーボードの「メニューキー」を押すことで、ソフトキーボードの表示切り替えができます。
ソフトキーボードの右下の小さい○印をタッチするたびに、場所が移動します。
プチコン4 には、ソフトキーボードに代表的な音読みの頭文字を入力して、漢字を探して入力する機能があります。また、サンプルプロジェクトの KNJTABLE (LOAD ”#SAMPLE/KNJTABLE”) に内のコメントにソフトキーボード同様の漢字一覧が書かれていて、コピペで利用できます。
USB キーボードから漢字を入力する機能は標準では搭載されていませんが、サーバーの作品一覧に「RMG IME」という便利な作品があります。これをダウンロードし、設定画面から「RMG_IME.PRG」を「スマイルボタン3」に登録します。すると、USB キーボードの F11 キーで漢字変換ができる画面があらわれ、スムーズに漢字を入力できるようになります。
初期状態では、64 MB までです。本体の保存領域にセーブされます。容量が足りなくなった場合は、設定画面から、256 MB、512 MB の 2 段階に拡張できます。一度拡張すると、前の容量に戻すことはできません。また、どれぐらい保存しているかにかかわらず、現在確保している分の本体容量をつねに使用します。つまり、512 MB まで拡張すると、プチコン 4 のセーブデータは常に本体上に 512 MB + α の大きさで存在することとなります。
できません。Nintendo Switch は、セーブデータは本体への保存のみに限定されています。これは穴をついての本体改造行為をさせないための設計のようです。
このあたりで作品キーのやり取りが行われています。
サーバーの作品一覧には、プロジェクトをアップロードした場合に並びます。ファイルを単独でアップロードした場合は、公開キーが発行されるのみで一覧には並びません。
作品の存在になかなか気付いてもらえない場合、アップロードしたことを知ってもらうには、以下のような方法があります。
現時点では、プロジェクトではなく、プロジェクト内のファイル単体をアップロードすると、サーバーの作品一覧に並ぶことなく公開キーを発行できます。
作品をアップロードしたときに、本体のアカウントに設定されているユーザー名が自動的に作品のユーザー名に設定されます。
問題が無さそうなのに『公開NG』になってしまったら確認した方がよさそうなこと
プチコン4 の COLOR 命令は、線や円の描画と同じように、32 ビットカラーで指定します。旧来の BASIC やプチコン3号 までのように、色を 0~15 の値で指定すると「透明度がゼロの黒か限りなく暗い青」になり文字が見えなくなってしまいます。
COLOR #C_BLUE のように、#C_ で始まる定数の色を使用したり、COLOR RGB(255,255,255) のように、RGB() 関数を使って色を指定してみてください。
BG はテキストスクリーンに統合されました。テキストスクリーンとはまさに文字が表示されている部分ですが、今回は統合により、ゲームの背景やマップ表示にも使えます。
プチコン3号の BG は 4 画面、テキストスクリーンは 1 画面ありましたが、プチコン4 ではテキストスクリーンが 5 画面あります。そのすべてが、プチコン 3 号における BG とテキストスクリーン両方の機能を含有しています。
以下の違いだけで、基本的には BG と同じように使用することができます。
プチコン4 では、テキストスクリーン(実質BG)の文字サイズが16x16 ドットの場合、BGチップの素材の範囲が拡大されました。3号の4倍である、4096枚扱え、画像素材のサイズは 1024x1024 となります。
しかし、デフォルトの BG 素材は3号と同じ配置で 512x512 のサイズで配置されているため、4 の番号の並びとは一致しておらず、そのままでは、チップ番号に &HE800 を足しても 3号と同じチップが表示されません。
上記の説明がよくわからなくても構いません。とりあえず、以下のプログラムを自分のプログラムに組み込んで、ACLS 命令で画面クリアしたあとに実行しておくと、GCOPY 命令を使って標準の画像素材の BG がある部分を4基準に並び変えます。これにより、3号のチップ番号に &HE800 を足すだけで絵が一致するようになります。
- ’ GRP4 の BGの番号の並びをプチコン3号と同じにする
- GTARGET 4
- FOR I=0 TO 31
- GCOPY 1024,I*32+16,1024+511,I*32+31,1024+512,I*16,#G_NORMAL
- IF I>0 THEN GCOPY 1024,I*32,1024+511,I*32+31,1024,I*16,#G_NORMAL
- NEXT
- GTARGET 0
プチコン4 の TOFS 命令は『X座標が増えると右に移動』『Y座標が増えると下に移動』という挙動になっています。これは SPOFS 命令と同じ挙動です。
簡単な対処法は座標の数値にマイナスを付けることです。
グラフィック画面は 4095 番のスプライトになりました。4095 という数字は、#GSPRITE という定数で定義されています。
4095 番のスプライトのほかとの違いは、画面の初期化時に、グラフィック画面として機能するように初期化がされることだけです。それ以外は完全にスプライトとして制御しほうだいで、あらためて設定し直してただのスプライトのひとつに変えてしまうこともできます。
また、同じようなスプライトを作ってグラフィック画面が複数面ある状態を作ることもできます。
したがって、これまでの命令は、以下のようにスプライトを操作して代替できます。
グラフィック画面のスプライトは、画面と同じ大きさで生成されます。そのため、SPOFS でずらしたりすると、画面外の部分は表示されません。これは、SPCHR でスプライトを GRP と同じサイズまで広げることにより解決します。
- SPCHR #GSPRITE,0,0,2048,2048
- ’ GRPの大きさ(2048X2048)は定数で定義されている
- SPCHR #GSPRITE,0,0,#GRPWIDTH,#GRPHEIGHT
プチコン4 の仕様です。プチコン3号と違い、使わなくなったメモリはタイミングを見計らったときか、本当に足りなくなったときに、まとめて一気に解放されます。そのため、FREEMEM() は何をしても減っていく一方に見えますが、なくなりかけたら突然全回復するという動きをします。
スマイルツールでは、デフォルトの画像素材に含まれる全ての絵の情報が登録されていますが、SPSET などで使用できる定義番号としては、1500 番ぐらいまでしか登録されていません。これは、定義番号の初期状態が、前作のプチコン3号と同じ状態になっているのが理由です。
スマイルツールで、画像素材を選択して X ボタンを押すと、SPDEF 命令の引数として使える情報をコピーして、どこかにペーストできます。しかし、1 つずつ行う必要があるため大変です。
スマイルツールで使用している素材の情報は #TOOL/DEFSP1.TXT にあり、どこからでもロードできます。これを利用して自分でひととおり定義してしまうという方法があります。
デフォルト素材の一部を書き換えてまるごと保存すると、大きくなってしまいます。SAVEG 命令に、画像の一部分を保存する機能があります。これを使って、書き換えていない部分を省くことにより、大幅にファイルサイズが小さくなります。
これは音読みの頭文字と漢字の一覧がコメントとして列挙されているファイルです。プログラムとしては動作せずにすぐに終了しますが、これは想定通りです。
なんで負けたか、明日まで考えといてください。ボスのじゃんけんに勝つには、プログラムの中を読んで何か ZURU をしていないか確認する必要がありそうです。そしたら何かか見えてくるはずです。改造はしなくてよいです。