したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

2202御茶目菜子:2014/09/14(日) 23:48:09
プチコン3号の公式サイトオープン
プチコン3号の公式サイトがついにオープンしたにょ。
http://smileboom.com/special/ptcm3/
発売日は相変わらず今秋発売で具体的な日付の方は決まってないけど価格は1000円(予定)と
発表されたにょ。プチコン3号は正式名称は「プチコン3号 SMILE BASIC」と決まったわけ
だけどここでは従来通り「プチコン3号」と略して呼ぶことにする)
フルスクラッチで3DSに特化させているし、従来は不要だったサーバ管理費用も必要になって
くるということを考えると価格1000円というのはとても利益が出せるような価格ではなく
出血大サービスの価格といえるにょ。
まぁメインターゲットがプログラミングに興味がある小中学生だから1000円以下にしたいと
いう思いはあっただろうけど本来であれば2000円、3000円であっても不思議はないにょ。
blutoothチップを搭載したカートリッジで販売してフルプライス(5800円程度)でも買うと
いう人も恐らく居るのではないかと思うにょ。(blutooth内蔵ならばポケモンタイピングの
キーボードを含めて市販品のblutooth対応キーボードが使える)

さて、プチコン3号がプチコンmkIIと比べて変わっている部分は変わっている部分は多いけど
大きく分けると下記の(1)〜(4)の4つになるにょ。

 (1)3DSのハードウェアの機能への対応
  ・立体視への対応
  ・スライドパッドの対応
  ・拡張スライドパッド(拡張スライドパッド相当の機能を有するNew 3DSを含む)への対応
  ・モーションセンサー、ジャイロセンサーへの対応
  ・表示文字数は50文字x30行(mkIIでは32文字x24行)
 (2)編集機能の強化
  ・行番号は999999まで(mkIIでは9999まで)
  ・行の折り返し対応(1行の文字数制限は無し)
  ・マルチプログラム対応(SMILEボタンでワンタッチで任意のプログラムを実行可能)
  ・プログラムの保存にはフォルダが使用可能
 (3)プログラム実行機能の強化
  ・GRP、スプライト、BGの強化、コンソールはunicode対応
  ・数値変数の型は倍精度浮動小数点、整数型が選べる(mkIIは固定小数点のみ)
  ・文字列変数は最で大約21億文字(mkIIは256文字)※メモリの上限まで可能
  ・配列は4次元(要素数は約21億)まで可能、シフト演算子、構造化命令を搭載
 (4)プログラム公開機能の変化
  ・公式サーバに簡単にアップロードして公開が可能
  ・QRコードやローカル通信によるファイルのやりとりは廃止

(1)やはり、3DSといえば裸眼立体視だけどプチコン3号以外で立体視を行うためにはそれなりの
知識が必要になってくるにょ。

 ◎立体視の原理
 http://ochameclub.web.fc2.com/petitcom/lecture.htm#stereo

mkIIで交差法や平行法による立体視を行うためにはこれらのことを理解しておく必要がある
けれどプチコン3号ではZ座標を指定すればそれが奥行きになるため自動的に右目用の画像と
左目用の画像を生成してくれるため難しいことは何もないにょ。
立体視は疑似3Dゲームと相性がいいためプチコン3号では疑似3Dのゲームが増えていくのでは
ないかと思われるにょ。

スライドパッドは3DSには標準装備だけどmkIIではDSiモードで動作しているためスライド
パッドは十字キーと同じような扱いになっているにょ。
しかし、プチコン3号は3DSのネイティブ対応であるためスライドパットと十字ボタンは
別物として扱うことが可能になっているにょ。
あとオプションの拡張スライドパッドとそれに付いているZR/ZLボタンにも対応しているにょ。
また先日発表されたNew 3DSにはCスティックとZR/ZLボタンが付いているけどこれは拡張
スライドパッド扱いの機能であるためこちらもプチコン3号で使用が可能になっているにょ。
プチコン3号は「New3DS対応」とプチコン公式アカウントのツイートがあるけどこれは単に
Cスティックに対応しているという意味なのかNew3DSの強化されたCPUをフルに使えるのかは
現時点でははっきり分からないにょ。
https://twitter.com/PetitComputer/status/509967322316959744

mkIIではアナログ的な操作(直感的な操作)をしようと思ったらタッチパネルを使用する
しかなかったけどタッチパネルは基本的に片手にペンを持って操作する必要があるため
使用できるボタンが片手のみになってしまうし、ボタンと併用するアクションゲームとの
相性はあまり良いとはいえないにょ。
ほぼタッチのみで完結するような操作のものであれば問題ないけど今度はマルチタッチに
対応していないという問題が出てくるにょ。
マルチタッチには対応してないけど擬似的なマルチタッチ検出はできなくはないにょ。

 ◎マルチタッチ検出ルーチン
 http://ochameclub.web.fc2.com/petitcom/multi_touch.htm

しかし、ジャイロセンサーを使えば本体がどの方向にどれだけ傾いているかを検知可能に
なるためタッチを使わなくても直感的な操作が可能になるにょ。
例えば画面に表示しているボールを傾けることで操作するというのも本体を傾けて動かす
というそれっぽいことを行うことができるわけにょ。
ただし、本体を傾けるとそれに追従して頭を動かさない限り立体視ではぶれが発生して
しまうためジャイロと立体視はあまり相性が良くないにょ。(New 3DSならば顔の動きに
立体視が追従するためこの問題が緩和されている)
モーションセンサーを使えば本体をどちら方向に動かしているのかを検知できるにょ。
これを使えば振ってプレイするようなゲームが作れるにょ。
先ほどの本体を傾けることでボールを操作するゲームであれば本体を上下に動かすことで
ボールをジャンプさせて障害物を飛び越えるというような操作も可能になってくるにょ。

(2)従来は編集可能な上限が9999行(1行は最大100文字)だったにょ。
しかし、メモリが1MBありそれをプログラムでほぼすべて使おうとしたら9999行をすべて
100文字ぴったりで埋め尽くす必要があるにょ。(実際にはリソースの分のメモリが
必要になるから1MBすべてをプログラムで使うのはできないと思うけど)
そのためメモリの上限に達する前に9999行の上限に達してしまっていたにょ。
実際に9999行の上限までのプログラムを作った人も数名いるにょ。
プチコン3号の使用可能メモリがどれくらいかは分からないけどニンドリ6月号の画面写真を
見る限りは8MBと推測されるにょ。
そうなると999999行書けるならば行数にはかなり余裕があるにょ。

あと上記のようにmkIIでは1行あたり100文字(改行コード込み)が上限だったにょ。
かつての8bitマシンの多くが1行に255文字程度書けていたのと比べるとプチコンの1行
プログラムはかなり文字数制限がキツかったにょ。

 ◎プチコン 1行プログラム
 http://ochameclub.web.fc2.com/petitcom/1line.htm

しかし、プチコン3号ではその使用文字数制限が無くなり1行に無制限に書けるように
なったにょ。(もちろんメモリの範囲内)
そんなに1行が長いプログラムを書くことはないと思うけど少し複雑な条件判定を行ったり
長い変数名を使ったりしたらすぐに100文字に達するためラベルジャンプを多用する必要が
ありどうしてもスパゲティになりやすかったにょ。

コードの読みやすさは画面にはみ出ない方がいいのだけどmkIIは横29文字でエディタに
折り返しが無かったためどうしても画面に隠れてしまう部分が多くなってしまうにょ。
工夫して擬似的に2行に書く(はみ出た部分を次の行のコメントに書く)などを行い読み
やすくしている人もいるけどプチコン3号ではエディタに折り返し機能が付くためわざわざ
そんなことをしなくても済むようになるにょ。

1画面プログラムを作る際にはmkIIは行の折り返しがないためはみ出ないようにするためには
1行はできるだけ29文字ぴったりでコードを書く必要があったにょ。

 ◎プチコン 1画面プログラム
 http://ochameclub.web.fc2.com/petitcom/1page.htm
 ◎プチコン 1画面プログラムのススメ
 http://ochameclub.web.fc2.com/CLUB/1gamen_no_susume/index.htm

「1行を29文字以下に抑える」ということと「24行以下に抑える」という2つの要素が1画面
プログラムには必要不可欠なのだけどそのため最大696文字(29文字x24行)という制限が
見た目以上に大きく感じてしまっていたのではないかと思われるにょ。(最大696文字と
いってもほとんどの人が500文字程度で24行に達してしまうし、長い判定では29文字に収まら
ないため論理式などを使い複数行に分割する知識も必要)
この制限は慣れたらパズルで遊んでいるみたいで楽しく感じるのだけど多くの人にとっては
これが1画面プログラムを作る際の足かせになっていると思われるにょ。
しかし、プチコン3号では編集画面が46文字x30行になり最大文字数が増えたのと同時に
折り返し機能が付いたので長い判定も普通に記述することが可能になるにょ。
「エディタの折り返しはない方が読みやすい」という人のために折り返しはON/OFFが設定
可能になっているにょ。

mkIIでは例えば自作ゲームを作っている最中にスプライトのキャラを作りたいと思った
時には一旦作りかけのプログラムをセーブしてEXEC "CHRED"とする必要があったにょ。
しかし、プチコン3号では任意のプログラムをSMILEボタンで一発起動が可能になっているにょ。
また編集可能なプログラムも1本だったのが最大4本同時まで可能になっているので他の
プログラムで作ったリストを別のプログラムで使い回す時などはコピペで簡単に済むように
なっているにょ。(コピペしなくても他の人はこういう場合にどのようにしているのかを
参考にしつつ自分のプログラムを作るということも容易にできる)

ファイルの保存機能はmkIIではフォルダが扱えなかったにょ。
QRコードに対応して手軽に公開できるようになったのはいいけどファイル名が他人が
作ったものとバッティングしてしまうという問題が起きてしまっていたにょ。
そのためユーザー識別コードを設定してファイル名がバッティングしないようにするように
喚起しているにょ。

 ◎プチコンmkII ファイル名のユーザー識別コード
 http://ochameclub.web.fc2.com/petitcom/usercode.htm

プチコン3号は「プロジェクト」と称してフォルダを作成する機能があるにょ。
http://game.watch.impress.co.jp/img/gmw/docs/666/746/html/p04.jpg.html
フォルダは1階層(フォルダの中にフォルダは作れない)だし、フォルダがいくつ作れるの
かは分からないけどmkIIと比べてファイル名のバッティングはかなり緩和されそうな
感じにょ。
3DSアプリであるためSDカードに保存ができることを期待していた人も多いだろうけど
社長のツイートを見るとそれはできないみたいにょ。
https://twitter.com/notohoho/status/509989465847107585
つまり、保存ができるのは本体フラッシュメモリだけになるということにょ。

DSiでは256MBのフラッシュメモリが搭載されており、そのうち128MBがDSiウェア用に開放
されていたけどmkIIはDSiウェアの上限に近いブロック数となっていてセーブ用の保存領域は
数MBしかなかったにょ。
そのためGRPを保存しまくったらすぐに保存領域が一杯になるにょ。(私は1000作品以上を
保存しているためPRGだけで一杯の状態)
3DSでは2GBのフラッシュメモリを内蔵しておりそのうち512MBをシステム用として使って
いるため残りは1.5GBとなるにょ。
プチコン3号用にどれだけ開放されるのかは分からないけどmkIIよりは桁違いに多くなる
だろうけど1作品あたりのサイズが大きくなるのは確実なのでやはりすぐに保存領域が一杯に
なることが懸念されるにょ。
とはいえ、公式サーバで一元管理されて公開となるため一杯になったら消して必要ならば
再ダウンロードするという方法を用いるのがベターにょ。(自宅に無線LANによるネット
環境が無かったらかなり辛くなる)
mkIIだと保存領域を確保するために一旦SDカードに移したらまたPCを使ってQRコード化して
それを読み取るという作業を行う必要があるため「消してまた入れ直す」というのはそれほど
簡単ではないにょ。(初代だと手入力しか再入力の手段が無かったけどローカル通信で
ファイルを交換しまくった人でないと保存領域が一杯になることはなかったためあまり
保存領域問題が表に出ることはなかった)
なお従来はPRG、CHR、GRPなどの様々なリソースに分かれていたのだけどプチコン3号では
プログラムはTXT、その他のバイナリファイルはすべてDATに統一されたにょ。


(3)プチコン3号ではGRP0〜5の6面まで使えるようになっているにょ。
mkIIは初代の2面から4面に増えてダブルバッファリングも可能になり、データ保存用などに
活用したりでGRPの出番は非常に多く4面まで増えても「4面だと足りない」という事態に
なっていたにょ。
ただし、3DSの場合は上画面は400x240、下画面は320x240で解像度が異なるためGRPの大きさは
どのくらいになるのかというのは現時点では分かってないにょ。(上下合わせて6面ならば
必然的に400x240もしくはそれよりも大きな解像度になるけど)

BGはこの動画を見てのように拡大、縮小、回転機能付きにょ。
https://www.youtube.com/watch?v=Fa3edkiTa0w
パースが付いた2軸、3軸回転が可能ならばスーファミのF-ZEROやマリオカートのような
ゲームは簡単に作れるけど立体視との兼ね合いがある(BGやGRPは面単位で1つのZ設定
となる)ためそれは難しいかもしれないにょ。
もっともプチコン3号はmkIIよりも大幅に高速(実際にどの程度になるかは分からないけど
当初の目標はmkIIの10倍速だった)であるため本体の機能に頼らなくても自前で回転処理を
行ってもそれなりに高速なものができそうにょ。

 ◎プチコン用2軸回転プログラム
 http://ochameclub.web.fc2.com/petitcom/2rotate.htm

あとGRPも面単位のZ設定であるため立体視との兼ね合いでポリゴン命令はないにょ。
立体視無しで良いならば自前でポリゴンプログラムを作ってそれで表示するという方法も
あるにょ。

 ◎プチコン用 ポリゴン表示プログラム
 http://ochameclub.web.fc2.com/petitcom/polygon.htm

私が作ったプログラムがmkIIで最大250〜300ポリゴン/秒であるため仮にプチコン3号が
mkIIの10倍速ならばスーファミのスターフォックスレベルのポリゴンゲームであれば
何とか処理が間に合いそうな感じにょ。(フレームレートは15〜30fpsに落とすか、
ポリゴン数を減らさないと厳しそうだけど)

スプライトは大幅に機能が拡張されているにょ。
512x512pixelのデータのうち自由な大きさに切り取ってそれに対して拡大、縮小、回転を
行うことが可能にょ。
拡大縮小もmkIIとは異なり縦横倍率を変えることができるためキャラを縦長や横長に
変化させることも可能にょ。
スプライトは最大512個管理できるようになっているにょ。
http://game.watch.impress.co.jp/img/gmw/docs/666/746/html/p08.jpg.html
これだけあれば弾幕シューティングも余裕で作れるにょ。(私は弾幕シューティングは好き
ではないから作るつもりはないけど)
mkIIでは最大100個(回転可能なのは32個)ということで色数ではスーファミに負けてない
けどスーファミレベルのゲームを作るのは相当無理をしなくてはならなかったけどプチコン
3号ならばスーファミやGBAクラスの2Dゲームは作れそうな感じにょ。

コンソールは50文字x30文字の表示が可能になったけど表示可能なキャラ数は大幅に増えて
いるにょ。
mkIIはCHR$では256種だけだったのだけどプチコン3号ではUnicodeに対応しているためにょ。
UTF-16に対応しているので理論上は16bit種(65536)の文字を表示可能にょ。
そうなると漢字にも対応してそうだけどコンソール文字は8x8ドットであるため漢字には
対応してなさそうにょ。(標準では英数字と記号とひらがな、カタカナくらい?)
文字定義命令はあるだろうからそれを使ってフリーの美咲フォントを使えばPRINT命令で
漢字が表示可能になるにょ。
1文字ずつCHR$で表示する必要があるけど従来ならば漢字はGRPで表示するしかなくかなり
表示は重かったのを考えるとそれよりは軽くてお手軽にょ。

またDSiや3DSは上下2画面なのでそれをつなげて1枚の画面のようにしたゲームを作ると
いう場合にはmkIIでは自前で座標を計算して処理する必要があったにょ。

 ◎プチコン講座 第4回 タッチパネルを使おう
 http://ochameclub.web.fc2.com/petitcom/p004.htm

これは難しいことではなく単純に上画面用、下画面用と分けて表示を行えば良かった
だけとはいえ、GRPならまだしもスプライトの場合は下画面用のスプライトと上画面用の
スプライトが異なるため片方のをあらかじめコピーしておく必要があった上に上画面と
下画面では表示できるスプライトのバンク数が異なるため少ない下画面の方に合わせて
作る必要があったにょ。(上画面と下画面の仕様の違いは上記のプチコン講座第4回に
まとめているのでそれを参照)
それがプチコン3号ではXSCREEN4で一発で解決できるにょ。

基本的にZ座標の設定はGRPとBGが面単位、コンソールとスプライトがオブジェクト単位
となっていて立体視はこのZ座標を元に表示することになるけどZ座標の設定は疑似3D
ゲームだけではなく表示優先順位を付けたいゲーム全般に有用になってくるにょ。
mkIIではGRPとスプライトの優先順位はスプライトの方が上だけどスプライトはSPSET、
GRPはGRPRIOで変更可能にょ。
しかし、BGは変更ができず自分が思ったような優先順位で表示できないという人も
多くいるのではないかと思われるにょ。
それがプチコン3号ではZ座標の設定が優先順位に直結するため非常に分かりやすく
なっているにょ。
つまり、Z座標が小さいほど「プレイヤーから見て近くにある」ということになるため
コンソールゲームを作ってもその重ね合わせの段階で条件判断をせずに手前にある
もののZ座標を小さくするだけで簡単に重ね合わせ処理ができるにょ。

プチコンmkIIまでは扱える数値は32bit固定小数点のみだったにょ。
それが、プチコン3号ではデフォは倍精度浮動小数点(C言語ではdouble相当)となり、
32bit整数型(C言語ではint相当)も扱えるようになっているにょ。
デフォがfloatではなくdoubleなのはfloatは有効桁数が少ないためだと思われるにょ。
32bit固定小数点の場合は整数部19bit、小数部12bitなので最大31bitの有効桁数が
あるにょ。
しかし、floatでは仮数部は23bitしかないにょ。(指数部に8bit必要になるため)
したがって、mkIIでは変数の型を変えないようにするためホビー用途をメインと考えて
32bit固定小数点で固定することに決めたのではないかと思われるにょ。(確かに
上限が525288未満という固定小数点が万能かと言われたらそんなことはないけど)
doubleならば仮数部は52bitなのでmkIIよりも格段に高精度の演算が可能になるにょ。
ただし、doubleは演算速度の面で不利になるにょ。
そういう時はint(整数型)を使用すれば問題ないにょ。(--2147483648〜+2147483647の
整数を扱うことが可能になる)
ちなみにmkIIで上限が524287では辛いという場合には私が作った32bit整数演算変換
ルーチンを使えば擬似的に-2147483647〜+2147483647の数値が計算可能になるにょ。
(これは12bitの小数部を整数に置き換えて考えることで実現しているため仕組みは
非常に簡単で変換ルーチンの大半は例外処理を行うためのもの)

 32bit整数演算変換ルーチン
 http://ochameclub.web.fc2.com/petitcom/tips/routine.htm#int
 プチコンで32bit整数演算を行う方法
 http://6407.teacup.com/ochame/bbs/3694

文字列変数はmkIIでは最大256文字しか入れることができなかったにょ。
普通の使用で困ることはないけどエディタなどを作っていたら全然足らないからね。
しかし、プチコン3号ではこれが2^31(約20億)文字まで可能になったにょ。
といっても、実際はその前にメモリの方の制限があるためOverflowになりそうにょ。
配列変数もmkIIの2次元から4次元まで対応へと変わっただけではなく要素数も2^31まで
対応(mkIIは2^18=262144)となったにょ。

あとは、mkIIで不便に感じていた構造化命令が追加されたためプログラムの可読性を
高めることが容易になるにょ。
例えばIF文ではEND IF(ブロックIF)を使って複数行にIF文を分けて書くことが可能に
なるし、REPEAT〜UNTILやWHILE〜WENDを使って特定条件を満たす範囲内での繰り返し
処理を行うことができるにょ。
これをmkIIで行うためにはラベルジャンプを使うかFOR〜NEXTを駆使するしか無かった
ということを考えるとかなり楽になるにょ。

 ◎FOR〜NEXT
 http://ochameclub.web.fc2.com/petitcom/tips/list.htm#for

あとシフト演算も可能になったにょ。
これはC言語と同じく<<と>>で行うにょ。
シフト演算子が無くても1/2倍にしたり2倍にしたりすればいいだけとはいえ整数化したり
Overflowにならないかチェックする必要があるにょ。
お手軽で速いことがシフト演算子を搭載するメリットといえるにょ。

(4)プチコン3号では公式サーバ上でのみ自作公開する仕組みになっているにょ。
これはプチコン3号のメニューで簡単に簡単に設定が可能にょ。
http://game.watch.impress.co.jp/img/gmw/docs/666/746/html/p06.jpg.html
どのような公開設定ができるのかは分からないけどアップロード自体はこれを見る限りは
簡単にできそうにょ。
mkIIでは公開するためにはQRコードを作る必要があり、そのためにはSDカードを抜いて
PCで読み取らせてQRコード変換ツールを使ってQRコード化する必要があったにょ。
基本的にはPCが必須となっていたにょ。
しかし、プチコン3号では3DS単体で自在に公開が可能になるにょ。

公開が楽になるのは良いことだけどQRコード機能とローカル通信でのファイルのやりとりの
機能(SENDFILE)は無くなったにょ。
それに関しては長くなるのでこちらを読んで欲しいにょ。

 ◎プチコン3号の発売延期の本当の理由
 http://6407.teacup.com/ochame/bbs/4621


プチコン3号がmkIIと比べてどのように変わったのかについて現在分かってることを書いて
いったのだけど1000円という価格は非常に格安(1000円のプリペイドカードを買っても
端数が出ないのがいい)だし、携帯ゲーム機で作れるという点に魅力を感じた人はぜひ
これを機会にチャレンジしてみると良いかもしれないにょ。
懸念材料としてはmkIIと比べてできることが増えた分だけ複雑化していて初心者に難しそう
というイメージができてしまわないかということにょ。
そのためプチコン3号が発売されたら早急に公式の初心者講座を作ったり、ガイドブックの
発売を期待したいにょ。
私もまたプチコン3号用の講座を作るつもりだけどプログラムを公式サーバで一元管理と
いう形になる以上はサイト上にユーザーを呼び寄せるのはかなり難しくなりそうにょ。

あとサーバの維持費も馬鹿にならないためいつかはプチコン3号の公式サーバのサービスは
終了することになるけどそうなるとプチコン3号は公開する手段を完全に失うにょ。
(リストの画面写真に撮影して公開というのも可能だけど1画面プログラム以外は現実的
ではない)
そういう時のためにプチコン3号ではなくmkIIを購入するというのもありだと思うにょ。
mkIIはしばらく併売になるのでDSiウェアのサービスが終了するまでは販売が続けられる
のではないかと思われるにょ。(あと3年とか5年とかで無くなることは恐らくないと
思うけど)
プチコン3号とプチコンmkIIは上手く棲み分けすることができると思うのでプチコンに興味が
ありまだmkIIを買ってない人はまずはmkIIで試してみてそのあとプチコン3号を買うという
のもありだと思うにょ。(最初はバグが多いだろうけど仕様かバグかの切り分けは初心者には
難しいため初心者がプチコン3号を買うならばマイナーバージョンアップをした3.1以降を
買うのがベター)
mkIIならばすでに多くのプログラムが公開されているし販売からの年数も長く情報も多い
ため初心者にはむしろオススメできるにょ。




掲示板管理者へ連絡 無料レンタル掲示板