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

おちゃめくらぶ掲示板

1426御茶目菜子:2012/12/22(土) 23:39:17
今年のプチコン総まとめ
今年も残り1週間少々になり恐らく年末はプチコンに割ける時間はほとんどないと思うので
最後に1行プログラムを2つ作ってみたにょ。

1行プログラム「タイピング」
T=0FOR I=65TO 90ACLS:GPUTCHR 9,9,"BGF",I,4,8T=T+1P=INKEY$()==CHR$(I)I=I-!P:BEEP,,-P?T/30:WAIT 2NEXT
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#07

1行プログラム「スノーボード」
CLS:S=0FOR X=9TO 32S=S+1LOCATE RND(30),23?S:LOCATE X,3?0:X=X-!BUTTON()*2+!!CHKCHR(X,4)*34WAIT 3NEXT
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#08

どちらも今まで使ってきたリスト短縮テクニックを使ったものであり、新規に開拓できた
テクニックはないのだけど一応工夫した点などについて書いておくにょ。

「タイピング」の方はポケコンなどでいくつも作ってきたタイプのゲームなので作るのは
非常に簡単だったため「GPUTCHRで文字を大きく表示させる」というのを盛り込むことに
したにょ。
あとは正しく押せた時にはBEEP音を鳴らしたいというのがあるためそれも1行に盛り込むと
いうことにしたにょ。
特定時のみBEEPを鳴らすというのは簡単に可能にょ。
http://ww5.tiki.ne.jp/~ochame/petitcom/tips/list.htm#beep
GPUTCHRを入れるのも非常に簡単だけど1行に収めるならば引数が多くて省略もできない
というのがネックにょ。
それでも1行には十分収まったもののタイム表示と重ならない位置になるような表示座標に
する関係で残り使用可能文字数の関係で座標には1桁しか使えなかったというのと後は白の
次に輝度が高い黄緑で表示するということに気を付けた程度にょ。

しかし、GPUTCHRを使うと別途GCLSが必要になるという問題があるにょ。(この時点で
残り使用可能文字数は1文字)
LOCATEの省略と表示の桁落ち問題を避けるためにメインルーチン内にCLSを置いていたので
CLS:GCLSとしなくてもACLSとすれば良さそうだけどACLSはそれだけで約1フレームの時間が
かかってしまうという点がネックとなるにょ。(CLSとGCLSは約0.1フレーム)
http://ww5.tiki.ne.jp/~ochame/petitcom/tips/list.htm#cls
仕方ないのでACLSを用いてWAIT 1だったのをWAIT 2にすることで何とかギリギリ1行に
収まったにょ。(これはWAIT 1では常時処理落ち状態になるため画面がちらついてしまう
ためだけど同じ1行プログラムである「アナログテレビ」はループ中にACLSを用いて意図的に
WAITを入れないことで逆にちらつきを表現している)
というわけでこちらは比較的簡単に1行に収まったにょ。

「スノーボード」の方も昔から作り慣れているタイプのゲームだけど当初は1行に全然
収まらなかったにょ。
そのため表示周りを大きく変える必要性があったにょ。
障害物は適当なキャラを使っていてスコアが上がるごとに文字列の掛け算を使って一定ごとに
その量を増やしていた(?"■"*(S/99+1)のような感じ)けれどこれはスコアそのものを
障害物と見なすことで大幅にリストが短縮されたにょ。
?S だけで障害物表示が行えるのだけどスコアの桁数が増えれば画面内に表示される障害物の
量が増えるため当初考えていたようにプレイを進めるごとに難易度を高めることが可能に
なっているにょ。(同じ難易度でずっと続くのは個人的にはあまり好ましく思わない)
そして、当然のことながらスコアの表示も兼ねているため別途表示していたスコア表示も
省略できるので一石二鳥にょ。
障害物だけではなく自キャラにおいても例えば自キャラが「V」ならば ?"V" のようにしなく
てはならず4文字分必要だけど自キャラを「0」にしてしまえば ?0 で済むため2文字で済み
2文字分短縮できるにょ。

そこまで表示を簡略化しても1行には収まらなかったにょ。
そのためさらにリストを短縮すべく右方向への移動をFOR〜NEXTで使用しているカウンタの
インクリメントでまかなうことにしたにょ。(つまり、メインルーチン内で行っているのは
左方向への移動のみ)
これは私のポケコンゲームは高速化の際におなじみのテクニックだけどここでは高速化だけ
ではなくリスト短縮効果も大きいにょ。
こうして、何とか1行に収めることができたにょ。
実は当たり判定を置く位置を変えればこのような変則手段を使わなくても1行に収めることが
できるのだけど個人的にはこちらの方が挙動が好みだったのでこちらを採用したにょ。
ということで、こちらの方は少しだけ1行に収めるのに苦労したにょ。


というわけでこの2つの1行プログラムをもって今年のプチコンプログラムは終了にする
予定にょ。(突発的によほど作りたいものが浮かんだらこの限りではないけど)
そこで今年作ったプチコンプログラムを振り返ってみることにするにょ。
今年作ったプログラムでQRコードを公開したものは下記のようになっているにょ。
大半はサイト内で公開しているけど一部の作品はtwitterのみで公開していたり、この
掲示板でのみ公開しているものがあるためそれもすべて書き連ねてみたにょ。(なぜ
すべて公開しないかというとサイトで公開しているプログラムのクオリティを一定以上に
保つためであり、pixivで例えるとラクガキは投稿しないというのと似たようなもの)

◎1画面プログラム(17作品)

 ・ホワイトデーゲーム(3月14日)
  http://6407.teacup.com/ochame/bbs/3115
 ・自動歌唱ソフトOSP(3月19日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/qr/osp.png
 ・棒歌ロイド OSP2(3月25日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1page.htm#osp
 ・OMP with OSP(3月25日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1page.htm#omp_osp
 ・棒歌ロイドキーボード(1画面版)(4月2日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1page.htm#bkb
 ・CAVE(4月23日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/p007.htm#cave
 ・JUMPING ISLAND(1画面版)(5月20日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1page.htm#jump
 ・簡易方位磁針(5月21日)
  http://6407.teacup.com/ochame/bbs/3253
 ・プチコン100m走mkII(5月27日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/petit_olympic.htm#100m
 ・プチコンハンマー投げ(6月2日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/petit_olympic.htm#hammer
 ・プチコンクレー射撃(6月17日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/petit_olympic.htm#clay
 ・プチコンアーチェリー(7月28日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/petit_olympic.htm#archery
 ・PETIT RUN mkII(9月16日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1page.htm#prun2
 ・PETIT KEYBOARD mkII(10月28日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1page.htm#pkb2
 ・PETIT EDITOR(11月23日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/2page.htm#edit
 ・PETIT EDITOR type B(11月25日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/2page.htm#edit_b
 ・Petit Brainfuck(12月9日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/2page.htm#brainfuck

◎1行プログラム(8作品)

 ・100m走(11月17日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#01
 ・簡易お絵かき(11月25日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#02
 ・アナログデレビ(11月25日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#03
 ・ラベルスタート(11月26日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#04
 ・CHRセーバー(12月15日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#05
 ・CHRローダー(12月15日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#06
 ・タイピング(12月22日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#07
 ・スノーボード(12月22日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/1line.htm#08

◎3行プログラム(1作品)

 ・3行スキーゲーム(10月21日)
  http://twitpic.com/b67nxh

◎1画面超のサイズのプログラム(14作品)

 ・プチコンベンチ(3月18日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/p_bench.htm
 ・プチコンMML with OSP2(3月25日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/osp_mml.htm
 ・棒歌ロイドキーボード(4月8日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/bo_kb.htm
 ・JUMP ACTION GAME(5月1日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/p007_2.htm#jump1
 ・モグラたたき(5月3日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/p007.htm#mole
 ・JUMPING ISLAND(5月6日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/jumping.htm
 ・JUMP ACTION GAME2(5月13日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/p007_2.htm#jump2
 ・リンクスライダー(5月14日)
  http://twitpic.com/9ko7si
 ・ハカセ射撃(6月21日)
  http://twitpic.com/9ym2ck
 ・ハカセジャンプ(6月23日)
  http://twitpic.com/9zk3ak
 ・ダミーちゃん危機一髪(7月6日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/dmmy_chan.htm
 ・JUMPING ISLAND MANIAX(9月30日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/jumping_m.htm
 ・Brainfuckインタープリタ(12月9日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/brainfuck.htm
 ・DMMY-chan was close call(12月19日)
  http://ww5.tiki.ne.jp/~ochame/petitcom/dmmy_chan_eng.htm

◎その他、サンプルプログラム(10作品)

  紹介URL、QRコードは省略


というわけで、今年作ったプチコンプログラムはQRコードを公開分だけで50作品あったにょ。
サンプルとして作った小規模なプログラムを除いても40作品となるにょ。
ぴったりキリが良くなっているのは先日数えてみたのその段階で48作品(サンプルを除いて
38作品)だったためあと2つ作ればキリがいいということを知っていたためにょ。(冒頭で
2作品1行プログラムを公開しているのはそのため)
これを月別に分けてみると次のようになるにょ。

    1画面 1行 3行 1画面超 合計
  1月   0  0  0  0  0作品
  2月   0  0  0  0  0作品
  3月   4  0  0  2  6作品
  4月   2  0  0  1  3作品
  5月   3  0  0  5  8作品
  6月   2  0  0  2  4作品
  7月   1  0  0  1  2作品
  8月   0  0  0  0  0作品
  9月   1  0  0  1  2作品
  10月   1  0  1  0  2作品
  11月   2  4  0  0  6作品
  12月   1  4  0  2  7作品
  合計  17  8  1  14  40作品

今年最初の公開プログラムは単にネタで作ったホワイトデーゲームにょ。
これはmkII購入直前だったり、1月2月とプチコンからしばらく離れていたためブランクが
大きかったので非常にしょぼいゲームになっているにょ。
今だったらナニはGRPで描画してアレはスプライトを使うだろうけどね(謎)
3月にプチコンmkIIを入手したときにはやはり気になっていたのがTALK命令だったので
それを使ったプログラム(歌わせるプログラム)をいろいろと模索したにょ。
その時に役立ったのがOMPにょ。
mkIIではMML演奏機能(BGMPLAY命令のユーザー定義)が標準搭載されているため初代
プチコンで多く見られたようなBEEP命令と独自MMLによる音階演奏は無意味になったのだけど
その積み重ねあったからこそOSPが誕生したにょ。(もっともOMPがポケコンBASICで音階
演奏をしたいという思いがあったからこそ生まれたものであるため実際はそこからの
積み重ねがあったお陰だけど)

そして、ヤマハのボーカロイドキーボードの動画を見てそしてそれをミクミンPさんが
実際にWindowsで再現しているのを見てこれをプチコンで再現しようと思ってできたのが
棒歌ロイドキーボードにょ。
カナ変換はスマホなどでおなじみのフリック入力を元にしているとはいえかなり強引な
処理をしているためあまり良いものではないにょ。
でも、キーボードの処理だけは気に入っているにょ。
このキーボードは10月に作ったPETIT KEYBOARD mkIIで生かされたにょ。
ということで、3月、4月はTALK関連のものばかり作っていたにょ。


しかし、mkIIを購入した3月よりも5月の方が公開本数が多いにょ。
これはGCOPYが便利すぎていろいろ作っていたら本数が増えてしまったためにょ。
最初に「GCOPYを使えばスクロールが超簡単」ということでCAVEを速攻で作ったにょ。
CAVEは2分の1画面だったけど1画面をフルに使ったスクロールするジャンプアクション
ゲームを作ろうと思いそのために疑似乱数ルーチンも作ったにょ。
http://ww5.tiki.ne.jp/~ochame/petitcom/rnd.htm
しかし、肝心の横スクロールジャンプアクションゲームは1画面に納めることを意識
しすぎていたためあまり面白いものにはならない(当初はジャンプ中に自由に移動できる
というのをウリにしていたけどそれだとゲームがすごく単調になってしまいそれを防ぐには
根本的な面から見直す必要があった)ためそれをどのように改良するかでいろいろ考えた
のが横ではなく縦方向にスクロールするという「JUMPING ISLAND」にょ。

当初考えたジャンプアクションゲームは事実上1次元的な動き(ジャンプを含めて2次元)
だったのがJUMPING ISLANDでは2次元的な動き(ジャンプを含めて3次元)になり自由に
ジャンプができても単純化を避けることができるようになったというのは非常に大きいにょ。
それをまとめたのがプチコン講座 第7回「グラフィック面をスクロールをさせよう」にょ。
http://ww5.tiki.ne.jp/~ochame/petitcom/p007.htm

この「JUMPING ISLAND」は当初は1画面プログラムとして考えていたアイデアなんだけど
基本部分だけで約1KBになってしまい1画面化を断念したにょ。
だから、元々シンプルなゲームであり、ごてごて付け足しても面白くはならないと考えた
ため当初はリプレイ再生機能などもオプション扱いになっていたにょ。
それでも、慣れたら簡単すぎるということで大喜利用に難易度を高めた「JUMPING ISLAND
MANIAX」を作ったにょ。
そのJUMPING ISLANDを公開したあとにようやく当初の目的であった1画面版が完成したの
だけどやはり先にフルバージョンを作ってしまうと1画面版は明らかな簡略版という感じに
なるため完全に自己満足でしかなかったにょ。
それにこの1画面版の「JUMPING ISLAND」は1画面に収めるためかなり妥協をしているけど
今見たらリスト短縮できる箇所が多く見つかったのでその妥協した部分の1つくらいは
改善できそうな感じにょ。(作った当時これは最高とおもっても後になってみれば最高でも
何でもないことに気づくというのはそれだけスキルが向上した現れともいえる)

また5月に公開した「リンクスライダー」はGCOPYのみでどこまで作れるかというテストで
作ったゲーム(アニメ「ファイブレイン」を見てこれならすぐにできそうと思ってそれに
決めた)なのだけどどこからやってきたのか私のTwitterでの公開作品の中で最も多い閲覧数
となったにょ。
半年少々経った今となってはTwitpicの閲覧数は703、リツイート数は35に達しているにょ。
まぁこのゲームを作ってみて思ったのはこの手のゲームならば「スプライトを使った方が
簡単にできる」ということにょ(笑)
GCOPYは万能だけど使いやすい場面はある程度限られてくるからね。


6月、7月はやはりロンドンオリンピック前だったので「プチコンオリンピック」シリーズを
作ることにしたにょ。
このオリンピックもののゲームは古くはロサンゼルスオリンピック(1984年)から作って
いるため私にとってはおなじみのものにょ。
これは私がBASICを覚えて間もない頃にボタンの交互押しをより効果的に行う方法を思い
ついたのが発端にょ。
http://ww5.tiki.ne.jp/~ochame/E500/TECH/TECH001.HTM
ベーマガなどではIF文を2つ使ってボタンの交互押しを行っているゲームばかりだったけど
これによって高速かつ短いリストで処理が行えるようになったにょ。(プチコン講座の
第1回でもこれについて書いている)
このような経緯があるため「100m走」のゲームは私の中では定番中の定番なのだけど今回は
私が過去にあまり作ってないタイプのゲーム(プチコンのメリットを生かせるような
ゲーム)も考えて何とか1画面に収めることのできた作品は4作品となったにょ。(他にも
3作品作ったけど1画面には収まらないためお蔵入りに)

また、6月、7月はプチコン公式のプレゼント素材が公開されたためそれを使ったものも
作ったにょ。
第1回目が公開されたその日に作った「ハカセ射撃」はプチコンオリンピックシリーズの
クレイ射撃のキャラを変えただけのゲームだったけど次に作った「ハカセジャンプ」は一応
そのゲームの独自要素(ライフ消費型ジャンプ)を加えてそれなりに楽しめるものになった
のではないかと思われるにょ。

7月公開のダミーちゃん危機一髪はそれまでに公開されたプチコンのオリジナルキャラの
スプライト素材と背景に使えるBGキャラ素材とフォント素材をすべて使ったものを作ろうと
思いついたものにょ。
新しく公開された新キャラのDMMY(ダミー)ちゃんを何とかして活かせないかと思ったけど
コニミルさんが「マリちゃん危機一髪」のプチコン移植の動画を公開してこういうゲームに
しようと即興的に作ったものにょ。
包丁のグラフィックは動画を見て座標は脳内座標に変換してプチコンに直接打っていって
作ったので私が公開しているプログラムの中で最も長いのだけどコーディングはわずか3時間
ということでひたすら開発速度重視になっているにょ。

8月はお休みで9月は「非公式プチコンコンテスト」や公式のコンテストとなる「プチコン
大喜利」用のプログラムに追われたにょ。
これはすでに詳しく書いているので簡略化するけど初代プチコンで作った1画面プログラムの
中で最も自信作でありYouTubeでの公開動画の人気も最も高い「PETIT RUN」をmkIIに合わせて
バージョンアップすることにしたにょ。
そして、(1画面でできる範囲内では)これ以上できないというくらい私の技術のすべてを
つぎ込んで完成したのが「PETIT RUN mkII」にょ。
そして、このPETIT RUN mkIIは11月8日にも書いたようにプチコン大喜利にて「技術賞」を
戴くことができたにょ。
http://twitpic.com/bj8hwx
これは私の中では今年最も大きな出来事になったといえるかもしれないにょ。


そして、いよいよラストとなる10〜12月だけどこれは新作ゲームでいいネタが浮かばな
かったためツールがメインとなっているにょ。
プチコン用のテキストエディタは需要がないせいか意外に作っている人が少ないにょ。
そこで私が知る限り唯一QRコードを公開しているえいださんの簡易テキストエディタを試した
ところ不満があったのでそれならば自分で作るしかないということでできたのが11月に
作った「PETIT EDITOR」にょ。
これを作ってからは1行プログラムも作りやすくなったためそれまではプチコンでは作って
こなかった1行プログラムも作るようになったにょ。
そして、それを使ったものとして今月になってから手を出したのがBrainfuckにょ。
「PETIT EDITOR」に加えて1行プログラム「ラベルスタート」を併用することで非常に
快適にプチコンのみでコーディングと実行が行える環境が整うにょ。

ざっと今年1年を振り返ってみたけど当然ながら上記に記載の40作品のプログラムは
QRコードを公開分だけであり、公開していないものもたくさんあるにょ。

@QRコード非公開作品(=未完成作品)

 ・レイヤー機能付きお絵かきソフト
  https://www.youtube.com/watch?v=9rgXqMtoUVQ
 ・プチコン用マルチタスクOS(もどき)
  https://www.youtube.com/watch?v=_zzCVJQwKsY

                ・・・・など多数

この2作品については仕様上完成させるのが難しいため(というか、単にふと思いついて
一晩で作っただけのものだし)放置状態となっているのだけど1画面プログラムにおいては
いくら普通に動作するレベルであっても1画面に収まった時点で完成となるためそれが
できていないものは未完成ということになるにょ。
また、単に試しで作ってみただけとか面白そうなアイデアがあるからその部分だけひとまず
コーディングしてみただけのようなものなどもたくさんあるにょ。
たとえばマルチタッチの座標検出ルーチンとかスリープ状態の時間をフレーム単位で取得
するルーチンなどもあるけどこれらはそれを使った1画面プログラムができたときに公開
しようと思っているからね。(現在のルーチンはあまりできが良くないので公開に値しない
というのもあるけど)
まぁそんなことを言っていたら他の人に先を越されてしまうかもしれないけど(笑)

というわけで、今年はプチコンに非常に力を入れていたわけだけどそのせいかサイトの
更新回数もサイト立ち上げて14年目で歴代2番目に多い更新回数となったにょ。
1番はサイトを立ち上げて間もなかった2000年なんだけどそれについで多いということにょ。
2001年はポケコンのRAMカードが故障で制作中のプログラムをすべて失う(プチコンでいば
セーブしていた保存領域にギュウギュウ詰めになっていた大量の未公開自作プログラムが
すべて消えてしまったようなもの)という事件があり、ポケコン関係の更新がほとんど
途絶えてしまったのが原因にょ。(そのショックから回復するのに数年かかった)
さすがに来年は今年よりもプチコンの使用頻度は落ちてしまうだろうけどそれでもやっぱり
一番お手軽なプログラミング環境であるためもうしばらくは楽しめそうにょ。(他の手軽な
プログラミング環境であったポケコンは壊れてしまったしね)




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