レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
おちゃめくらぶ掲示板
-
プチコン3号は本当に初心者向けの開発環境なのか?
TGSでもスマイルブームのブースで展示されていたプチコン3号は多くのニュースサイトで
話題になっているにょ。
【TGS 2014】BASICでお気軽プログラミング、未来のクリエイターを育てる『プチコン3号』
http://www.inside-games.jp/article/2014/09/21/80777.html
なかなか出ない“プチコン3号”を見てきた――東京ゲームショウ2014
http://www.itmedia.co.jp/pcuser/articles/1409/20/news018.html
初代プレステ並みのゲームをBASICで作れる『プチコン3号』 【東京ゲームショウ 2014】
http://trendy.nikkeibp.co.jp/article/pickup/20140919/1060222/
3DSでゲームを作れる『プチコン3号 SmileBASIC』が今秋より配信。
大幅な機能強化に加え立体視など3DSならではの機能にも対応
http://dengekionline.com/elem/000/000/927/927108/
あえて説明するまでもないけどプチコン(プチコンmkIIを含む)はニンテンドーDSiや3DS
単体でゲームを始めとする様々なソフトが作れるBASIC言語による開発環境のことにょ。
これはコンシューマゲームだと古くはファミコン用のファミリーベーシック、サターン用の
通称「サターンBASIC」、PS2用の「BASIC STUDIO」などが存在しておりプチコンそのものが
特別な存在というわけではないにょ。
しかし、携帯ゲーム機用のセルフ開発環境では初のものにょ。
さて、開発環境としてははずせないのが「セルフ開発」と「クロス開発」にょ。
クロス開発では携帯ゲーム機用としてはワンダースワン用の「ワンダーウィッチ」が
すでに存在しているにょ。
セルフ開発というのは基本的に動作させる端末上で開発可能なものを示し、クロス開発と
いうのは別のシステム(異なるOSやCPUなど)で開発可能なものを示すにょ。
クロス開発のメリットはスペック面で有利なPCやワークステーションなどが使用できる
ことだし、セルフ開発はその端末さえあれば開発できるというのがメリットにょ。
どちらが有利かというと動作させる端末スペック、動作させるソフトの規模などによって
変わってくるけど個人的にはセルフ開発の方がお手軽に感じるにょ。
開発環境とは何を示すかというと昨今では多くの人がエディタ、デバッガ、コンパイラ、
ライブラリなどを含んだ「統合開発環境」(IDE)をイメージするのではないかと思うにょ。
しかし、8bitマシン全盛時にはパソコン(当時は「マイコン」という呼び名がポピュラー
だった)を買ったらデフォルトで付いてきたBASICも立派な開発環境にょ。
BASICの良い点、悪い点を書いていったらキリがないので簡潔に書くと初心者向けに作られた
高級言語であるため変数も定義せずに使えたりというお手軽さが多くの面で存在するにょ。
しかし、これは逆に言えば行き当たりばったりでも作れるということで大規模なプログラム
にはBASICは向かないということも言えるにょ。
BASICはほとんどのものがインタープリタ型であるため「BASICは遅い」というイメージが
できてしまったにょ。
とはいえ、インタープリタ型には作って即実行というお手軽さがあるにょ。
あと当時の8bitパソコンで高性能なスクリーンエディタを搭載するのは無理でシンプルな
ラインエディタを拡張したものがほとんどであったけどこれは行番号を中心に動作させている
という点においては理に適っているけどそれが行番号に縛られた言語というイメージを
作り出してしまったにょ。(BASICは行番号単位で管理されているという決まりがあるわけ
ではないけど現実的には行番号で管理されているものが大半となっている)
BASICといえばマイクロソフト系BASICがメジャーになりすぎたのでそれが「BASICとはこういう
ものである」というイメージを作り出したのだけど実際はFull BASICのようにC言語のような
関数定義やローカル変数が使用なものもあるにょ。(これはローカル仕様なものが多いBASICの
中で唯一JISなどできちんと規格化されたものになっている)
PS2用のBASIC STUDIOは基本的にこのFull BASICに準拠しているもののなぜか行番号で管理
しているという点がネックに感じたにょ。
つまり、BASIC+インタープリタ型+セルフ開発というのは「お手軽さ」という観点だけで
見ると最高といえるにょ。
インタープリタ型で問題となる速度面はプチコンではかつての8bitパソコンと比べると
数10倍〜100倍の速度であり当時はマシン語をフル活用しなくては作れなかったような
ゲームがBASICのみで作れるようになっているにょ。
それではプチコンを使った開発がすべての人にとっておすすめできる方法かといえば当然
ながらそういうわけではないにょ。
近年多くの人が使用している開発環境は大きく分けて下記の2つではないかと思われるにょ。
(1)PCによるセルフ開発(端的にいえばWindows PC上でWindows PC用のソフトを作る)
(2)PCによるスマホ用アプリの開発(クロス開発)
(1)これは最近ではなく昔から普通に行われているけどやはり一般的なPC用ソフトを高性能な
ワークステーションで開発なんてことをやらないのはコストの問題があるだけではなく
単純にそのメリットが少ないからにょ。
上記のように「セルフ開発」と「クロス開発」にはそれぞれメリットがあるけど本来ならば
セルフ開発で行うのがお手軽なところをクロス開発で行うということはそれなりのメリットが
あるからにょ。
(2)スマホが普及する前はPDA用アプリやケータイアプリでもこれと同じ状況だったにょ。
本来ならばセルフ開発の方がお手軽なのにクロス開発を行うのはスマホの小さな画面と
タッチパネルでは快適な開発ができないためにょ。
それ以前に公式に用意されている統合開発環境がiOS用ならばMacでしか動作しないにょ。
Objective-Cを使ったXcodeはAppstoreで配布するならば必須だけどそうでないならば
Javascriptなどを使った開発も可能でありそれならばPCを使ったクロス開発に拘る必要も
ないにょ。
これを見ると単純にソフトウェア開発をしたいという人はセルフ開発しか選択肢がない
「プチコン」に拘る必要はないにょ。
プチコンは800円(秋発売予定のプチコン3号は1000円)というのは今までに発売された
コンシューマゲーム向けに開発環境の中ではダントツで安価(比較的安価だったPS2用の
BASIC STUDIOでさえ9800円だった)とはいえ、PC用のセルフ開発環境では無料のものが
たくさんあるにょ。
したがって、価格だけで選ぶならばプチコンに絶対的な優位があるわけではないにょ。
しかし、開発環境が無料で入手できてもPCそのものが無料ではないため単純に「価格だけ」
といってもどこまでが無料といっていいのかが変わってくるにょ。
あくまで「無料」というのをプチコンに対するメリットにするならば「自由に使える」
「自分専用のPCがある」ということが絶対的な条件となるにょ。
現在はPCの世帯普及率は極めて高いけどこれを「自由に使える自分専用のPCを持っている
小学生」というのを条件にするとかなり普及率は下がるのではないかと思われるにょ。
自宅にPCがあるといっても家族共用だったり、自分のPCがあってもUAC(ユーザーアカウント
制御)によって自由にソフトウェアをインストールできないようにされている場合が大半
ではないかと思われるにょ。
その点、プチコンならば小学生の間ではPC以上の普及率であると推測される3DSで動作する
わけだし仮に本体を持って無くても15000円〜2万円程度で新品の3DS本体が入手可能にょ。
eShopで購入可能なアプリ(DSiウェアや3DSアプリなど)はすべて任天堂によるチェック
済みなので悪意のあるプログラムが動作する心配もなくセキュリティ面は万全にょ。
プチコンで動作するプログラムはすべてプチコンという閉じた環境で動作しているため
どんなプログラムを作ろうと本体が壊れる心配はないにょ。(唯一考えられるとしたら
液晶を激しく点滅させて寿命を縮めるくらいだけどこれでもよほど長時間実行しないと
悪影響はないため問題になることはほぼあり得ない)
それならば3DSでJavascriptなどを使った開発を行うという方法もあるけど3DSで動作する
テキストエディタはないため結局はPCが必要だし、3DSの機能をほとんど使えないという
のが問題になるにょ。(3DSはDSiよりはJavascriptの動作速度は速くなったとはいえ
それでも今となってはかなり遅い部類なのでハードウェアのBGやスプライト機能を一切
使わずゲームを作るのはかなり無理がある)
さらに言えばプチコンは携帯機で動作するというのが今までに無かったメリットがあるにょ。
これはスマホアプリならばそれと同じ土俵に立てるにょ。
とはいえ、上記のように開発のためにはPCが必須になってしまうという問題があるにょ。
もちろん、正式な流通経路でのアプリの配信を行うならばPCが必須になるけどこれが
とりあえずセルフ開発できる環境が欲しいというだけならばスマホ用に作られたBASIC
などを利用するという方法があるにょ。
例えばiOS用ならば「X-BASIC」などがあるにょ。
http://www.asahi-net.or.jp/~yy8a-imi/ipad/xb/usage.html
このX-BASICは少し前までは8月末くらいで配信を終了予定だったけど年間登録料金が
捻出できるくらい売れているみたいなのでもう1年配信期間を延長したにょ。
しかし、バージョンアップによってiOS7.1以降が必須になるためiPhone 3GSまでの古い
iPhoneや第4世代までのiPod touchを使っている人は使用できなくなるためこのアプリを
使いたいけど旧機種しか持ってないという人は早めにダウンロードしておくのが良いかも
しれないにょ。
https://itunes.apple.com/jp/app/x-basic-for-ios/id578147696
もちろんこのX-BASIC以外にもたくさんのセルフ開発環境があるためとりあえずスマホ
単体で何か作ってみたいという人はそれを使ってみるのがいいにょ。
ただし、このようなセルフ開発環境でゲームを作る場合には基本的にボタン(ゲーム用に
使えるボタン)もキーボードも持たないためタッチのみで完結するUIが求められてくるにょ。
これはタッチ専用で考えたゲームならば問題となることは少ないけど従来タイプのゲーム
(コンシューマゲーム用のゲームやアーケードゲームやオールドPC用ゲームの移植やそれを
参考にしたゲーム)であれば問題が発生する場面が多いにょ。
スマホ用のドラクエでさえユーザーからのクレームがあれだけ多く寄せられたことを
考えるとこれは決して簡単なものではないにょ。
ゲームに最適化されたボタンの有無はゲームを作る場合には超えるのが極めて困難な
壁となって立ちはだかるということにょ。
そういう面ではプチコンはコンシューマゲーム機で動作するためそのような問題はなく
ゲーム作りに適していると言えるにょ。
しかも、プリセットでゲームで使えるデータ(スプライトキャラデータ、BGキャラデータ、
サウンドデータ)が豊富に揃っているためドット絵や音楽を作るのが苦手という人であっても
ゲーム作りが簡単に可能になっているにょ。
それにプチコンmkIIならばQRコードで作ったアプリが簡単に公開可能だからね。(3DSや
DSi単体でQRコードが作れないのが唯一のネックだけどプチコン3号ではQRコードではなく
直接公式サーバ上で公開することで100%単体運用が可能になっている)
PCのセルフ開発、PCによるスマホアプリ開発の際に問題になるのは自由に使えるPCの有無
だけではなく動作する側の環境にあるといえるにょ。
PCやスマホのスペックなんて機種によって桁違いの性能差があるにょ。
そのため自分のマシンで普通に遊べるゲームを作っても他のマシンではまともに遊べると
いう保証はできないにょ。
これは画面上に動作fpsを表示しておいて「常時60fpsで動作する環境でプレイしてください」
とドキュメントに書き記すのが最も簡単にょ。
しかし、それではプレイする側は実際にプレイするまでは正常に動作するかは分からない
という問題があるにょ。(オプション設定で描画オブジェクト数や描画品質を選択可能に
して「常時60fpsで動作する環境をユーザーに選択してもらう」という方法もある)
マシンスペック不足によってfpsが固定ではなく変動してしまうゲームを正常に動作させる
ためには前のフレームを終了してからの経過時間をm秒単位で取得してそれによってキャラの
移動量を調節することで60fps固定ではなく15fpsになったり20fpsになったりした場合でも
正常な動作が可能になるにょ。
あとゲームの中では重い処理である描画部分を数回に1回のみ行う「フレームスキップ」を
行うことで内部処理は60fpsを維持するという方法もあるにょ。
とはいえ、あまり遅いと当たり判定が正常に動作しない恐れがあるし、描画フレームが10fps
を切るくらい遅くなってしまうとゲーム性そのものが変わってしまうこともあるにょ。
自分で作って自分でプレイするだけならばこんなことを考える必要はないけど一般公開する
場合には「遊ばせてやる」ではなく「遊んでもらう」という気持ちを持つ必要があるため
プレイする側の環境をある程度考慮しておかなければならないというわけにょ。(そこまで
考えずとりあえず公開してみたという場合もあるだろうけど)
プチコンなどのコンシューマゲーム上で動く開発環境であればコンシューマゲームそのものが
環境が固定であるためプレイする人の環境を考える必要はないにょ。(3DSと3DS LLで画面の
大きさが異なったり、ボタンの位置や大きさが若干異なるという程度の差があるくらい)
プレイ環境を考えたゲーム制作は初心者にとってはハードルが高くなってしまうため初心者
だからこそプチコンのようなものはオススメできるにょ。
あと中上級者ならば最適化を行う際に環境が固定の方が効果が目に見えて分かるという
メリットがあるにょ。
仮に最適化で2倍の高速化ができても2倍速いマシンで動作させればチャラになってしまう
ため最適化による高速化は最先端のマシンでも30fpsに到達しないような重いゲームでない
限りはあまりメリットはないにょ。(そういう意味ではポケコンBASICでは普通に作れば
2〜5fps程度しか出ないため高速化を行えばゲームそのものが変わってくるためすごく
大きなメリットがあった)
それに1画面プログラムなども環境が固定(同じ画面解像度で同じエディタをみんなが使う)
だからこそ意味があるものにょ。
BASICそのものにはそれほど大きなメリットはないけど少しでも初心者向きにしたいという
のであればやはり最初から初心者向けに作られたBASICに分があるにょ。
そして、BASICはほとんどのものがインタープリタ型であり、実行形式ではなくソースコードが
そのまま見れるようになっているというのは初心者にとっては非常に大きなメリットにょ。
良くできているコードをいかにたくさん見て理解するかが中上級者にステップアップする
際には必要不可欠になるからね。
入門書やリファレンスマニュアルを見ただけでは上達には限界があるし、自分のみの力で
何とかするにも限界があるにょ。
昔はベーマガのような読者投稿を受け付けている雑誌においてその掲載プログラムを読む
ことでスキルアップをしていったにょ。(私もかつては投稿プログラムを見たり改造したり
しながらスキルアップをしていきそのうち「いかに高速化改造できるか」というような感じに
なっていった)
プチコンならば公開されているプログラムすべてにおいてそのコード(プログラムリスト)を
見ることが可能になっているためこれは初心者にとっては非常に大きなメリットといえるにょ。
これもネットの普及の賜にょ。
というわけでプチコンのメリットは下記のようになるにょ。
・基本的にPCは不要でDSi(3DS)のみで開発が可能(PCが必要なのはQRコード公開時のみ)
・初の携帯ゲーム機用のセルフ開発環境なのでいつでもどこでもプログラミング可能
・コンシューマゲーム機用の開発環境としては他に例のないくらい安価
・BASICであるため初心者にも容易に理解できマシンスペックの向上によって
インタープリタ型のBASICでありながら十分な速度を得られる
・環境が固定だからプレイする側の環境を意識する必要はなく初心者でも作れる
・また環境が固定だからこそ最適化の重要性が高まる
・スプライトなどはハードウェアの機能を使うことができるため速度面で有利
・(コンシューマゲーム機だからあたり前だけど)十字ボタンやABボタンなどゲームの
プレイに向いている
・作ったプログラムを簡単に公開が可能(※mkII)
・すべての公開プログラムのリスト(ソースコード)を見ることが可能
これらのメリットがあまりないと感じればプチコンに拘る必要は全くないし、プチコンを
持っている人しか動作しないものよりもすべてのPCやスマホで動作する方が魅力に感じる
ならばそれでいいにょ。
さまざまな環境で動作可能な初心者向けの開発環境といえば最近はUnityの人気が高くなって
いるにょ。
確かにUnityは3Dゲーム(ポリゴンゲーム)も簡単に作れるのがメリットとはいえ2Dゲームの
作りやすさから言えばプチコンの方が圧倒的に上にょ。(というか、プチコンではポリゴン
表示をするだけでも結構大変で私が作った最速レベルのポリゴン表示プログラムでさえ
250〜300ポリゴン/秒くらいの速度しか出ない)
そうなると2Dゲームを作りたい初心者にはプチコンはかなりオススメできる環境なのは
間違いないと言えそうにょ。
初心者がBASICを最初に覚えると変なクセが付くからといって否定する人も中にはいるけど
そもそも「プログラミングの楽しさ(ゲーム作りの楽しさ)」を理解する前に「面倒臭さ」や
「難しさ」が先行してしまうと変なクセ以前にせっかく興味をもっても自分にはできないと
あきらめてしまう場合が多いのではないかと思われるにょ。
絵であっても音楽であってもゲームであっても「自分で考えたものを作る(具現化する)」
というのは基本的に楽しいことにょ。
したがって、可愛い女の子(萌え絵)を描きたいと思っている人に「絵を描くならばまず
最初にデッサンを学ぶべき」と言うのと同じく最初に何をどうするのかを自分の中の物差し
だけで判断するのはナンセンスといえるにょ。
まずは「完成させること」が必要不可欠で、そして「継続させること」が上達には必要に
なってくるにょ。
そのための手段は何でもいいにょ。
その人がC++に興味があってこれで作りたいというならば無理にBASICの方が初心者に向いて
いるからといって勧める必要はないけどどれがいいのか分からないという人にとっては
プチコンは数ある開発環境の中の1つにすぎないけどオススメできるというだけのことにょ。
もちろんこれはプチコンのみをずっとやれと言っているのではなくプチコンでプログラミング
(ゲーム作り)の楽しさを覚えてから他の開発環境に移行しても何ら問題はないというだけの
ことにょ。
では、プチコン3号はどうなのかというとTGSで公開されてどんどん新情報が出てきている
もののmkIIまでの方が初心者向けというイメージがあるにょ。
これはできることが増えれば増えるほど初心者が混乱するというのもあるけど絶対的な
情報量の多さでは発売後2年半(初代からだと3年半)経っているmkIIが圧倒的に多いわけ
だからね。
とはいえ、簡単に立体視ができるというだけでも楽しいし、モーションセンサーや
ジャイロセンサーも使ったゲームが作れるというのはゲーム作りの幅が広がるにょ。
標準では漢字フォントは用意されてないけどDIALOG命令を使えば3DS内蔵フォントが使える
みたいなのでUnicodeデータをCHR$で表示すれば漢字表示も可能になるにょ。
スペックアップもうれしいけど上下格差が広がる一方になってしまわないかが危惧される
点にょ。(そういう意味ではプチコンmkIIは非常にバランスがいい)
mkIIでさえスペックを100%発揮できればファミコンどころかメガドラレベルのゲームは
作れるわけだし、プチコン3号ならばプレステレベルの2Dゲームやスーファミを凌駕して
GBAレベルのゲームも作れるみたいだしね。
プチコンの場合は上記のようにすべてのプログラムリストを見ることは可能だけど
公開されるのが公式サーバのみとなっているためリストのみPCの大画面(もしくはPCで
プリントアウトした状態)で見るというのは難しいにょ。
何とかプログラムリストだけでも簡単に公開できる方法が用意されるのならばサイト上や
自作プチコン本での様々な解説や講座を作ることが可能だけどそうで無かったらすべて
PC上で打ち直しになるにょ。
そうなるとQRコードを読ませるよりも簡単に公開プログラムの利用が可能になるプチコン
3号では単にロードランナー(プログラムのLOADとRUNをするだけの人)の増加が起きる
だけになりそうにょ。
そのロードランナーから作る側にいかに持ってくるのが重要だけど公式サーバに集中管理と
なるとユーザーの手による対策は難しそうにょ。
人というのはたくさん人が集まっているところにさらに多くの人が集まる傾向があるにょ。
純粋な個人サイトではプチコン関係の情報量が最大であると思われる私の「おちゃめくらぶ」
でさえその存在を知らない人や書いている内容をよく知らない(サイト名や私の名前だけ
知っている)人も結構いるからね。
そうなると公式サイトに人が集中するであろうプチコン3号ではさらに厳しい状況になるにょ。
プチコン公式サイトで初心者講座、中級者向け講座からTipsなどすべてを賄うのは難しい
と思うけどそのためには良質な個人サイトへのリンク集を作るだけでもそれなりの効果は
あると思うにょ。(これはユーザーが自己申請してスマブが承認したもののみリンク集に
掲載するという形にすればトラブルが発生する可能性は減少する)
|
|
|
掲示板管理者へ連絡
無料レンタル掲示板