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

おちゃめくらぶ掲示板

35御茶目菜子:2009/11/11(水) 02:25:36
おちゃめくらぶ開設10周年!!
本日おちゃめくらぶのサイトが開設満10周年を迎えたにょ。
というわけで、以前から告知していたように私のBASICの高速化テクニックをまとめた
ものを書いたにょ。
http://ww5.tiki.ne.jp/~ochame/E500/TECH/basic1.htm
ベースとなったのはPJ最終号(96年5月号)に私が書いたものなのだけどページ数の
問題で十分書きたいことが書けなかったり、誤植が多かったりで不満が多かったため
書きたいことを全部書いた本を作ろうという案もあったにょ。
しかし、本を作ろうと思ったのはいいけどIF文について書き終わったところで挫折して
しまったにょ。(IF文だけでA4用紙12ページ分になってしまったため)
当初は30ページくらいのコピー本にしようかと思っていたけどこの分だと100ページ
くらいになってしまいそうということで、ページ数の関係からオフセット印刷を考えて
いたもののオフセットだと最低でも50冊は作らないといけないけどそれだけの需要が
あるとは思えないというので忙しさを理由に事実上その計画は凍結・・・。
本を作っても読みたいと思う人は少ないかもしれないけどWebならばで多くの人に読んで
もらえそうということで本はやめてWeb上での公開に切り替えることにしたにょ。
Webではハイパーリンクで繋げられるためテクニック関連は徐々に公開していけばいい
からと思い安心していたらここで問題が・・・。
長年RAMカードにためていたプログラムをすべて失ってしまったにょ。(バックアップを
とってなかったので数年間ため込んだ未発表の自作ゲームはすべて消失)
これによって意気消沈し、ポケコンへの情熱も失われてしまいしばらくポケコンでの
プログラミングからは離れることになったにょ。

このままではいけないと思い10周年を迎える今年こそは!と思い再びポケコンコーナーの
更新を始めたにょ。
今回の内容は上記のようにPJ最終号で書いたものを再構築して一から書き始めたにょ。
今回の目標は2つにょ。
1つ目は今までワンポイントテクニックなどで書いてきた高速化関係のテクニックをすべて
繋げること、2つ目はサンプルとして用意した「VS」の最高速バージョン「VSスーパー
ターボ」で使用しているテクニックをすべて網羅することにょ。

1つ目に関しては今までワンポイントテクニックなどで書いていたテクニックは特定の
状態に対応した「点の状態」でそれを分野ごとにまとめなおし、テクニック同士を繋げる
ことで「線の状態」にすることができるにょ。
それぞれのテクニックは可能なかぎり自サイト内でハイパーリンクを張って繋げている
とはいえ、珠玉混合のテクニックであるため自分にとってどれが有用かは全部に目を
通して理解しないと分からないからね。
今回はそれをまとめなおすことでどのような場合にはどれが有用なのかというのが
わかりやすくなっていると思うにょ。
2つ目に関してはページ数の都合上PJ誌上ではかなり省略しており限界まで高速化したら
こうなるという例を出して終わってしまったからね。
しかし、それではどんなテクニックをどのように使うことによってその高速化が実現
できているのか分からないのでそういうことがないように最低限「VSスーパーターボ」で
使用しているテクニックに関してはすべて記すことにしたにょ。

時間的にも十分なものがなかったために内容面ではやや不満があるものの最低限書きたい
内容はすべて書くことができたにょ。
その代わりテキストサイズは大きくなってしまったにょ。
タグ込みで全部で60KBくらいだからね。
私は太字や赤字を多用しているとはいえ、タグはすべてテキストエディタによる手打ちで
インデントやコメントなど余分なものは一切入れてないためにプレーンテキストと
比べると20〜30%アップくらいになるということを考えるとプレーンテキスト状態だと
50KB弱の内容となるにょ。
A4用紙1枚が約2KBなので25ページ分となるにょ。
これでも事前に主要なテクニックを書いていたからこの量で収まったわけだからもしも
現状のポケコンコンテンツの内容をすべてを1冊の本に収めようとしていたら100ページ
くらいの本になってしまっていたにょ。

問題は上記のように今となっては本当に需要があるのかどうかにょ。
本だったら本当に興味のある人しか手を取ってくれないけどWebならばその敷居が低い
反面、作り手側はその反応を見ることはできないために需要があったかどうかさえも
分からないからね。(唯一の参考がヒット数だけ)
PJがあった当時でさえ、BASICの高速化なんて意味がないという人もいた(PJ CLUBでの
討議が熱かったけど今となっては月刊誌でのレスなんてすごく気が遠くなってしまう)
くらいだから今となっては「無意味」「無関心」という人が大半でもやむを得ないにょ。
確かに速くしようといくら頑張っても平均3倍程度ではマシン語と比べて見返りが
低すぎるからね。
解き方がたくさんあるゲームで最善の解き方(レースゲームでいえば0.01秒を競う
ようなタイムアタック)をするような感じで限界を目指せば目指すほどかけた時間に
似合う見返りは少なくなって当然にょ。
だから見返りよりもタイムアタック行為そのものが楽しめるくらいの人でないと厳しい
かもしれないにょ。
だからこそ「BASICの高速化」は万人向けではないにょ(笑)

ちなみに"A"というキャラをテンキーを使って上下左右に動かすプログラムは普通に
作ればこんな感じになるにょ。
10 CLS :CLEAR
20 K=VAL INKEY$
30 V=(K=6)*(X<39)-(K=4)*(X>0)
40 W=(K=2)*(Y<3)-(K=8)*(Y>0)
50 LOCATE X,Y:PRINT " "
60 X=X+V:Y=Y+W
70 LOCATE X,Y:PRINT "A"
80 GOTO 20
これを高速化改造すれば4倍速くなるにょ。
プログラムリストに無駄が多いためかなり長くなってしまったけどその高速化の効果は
この動画を見れば一目瞭然にょ。(両者を実際に動作させてみた3.2MBの動画)
http://www.42ch.net/UploaderSmall/source/1257045573.MP4
前半は高速化改造をする前(上記のプログラム)でBEEPが鳴って後半からは高速化改造が
されたものにょ。
全く高速化には興味ない、ポケコンが手元にないという人でもこれならばその違いが
分かると思うにょ。

様々な出来事があったけどとりあえずこれで10年という一区切りがついたにょ。
開設当時から10年、100万ヒットを目標にしていたからね。
100万ヒットまではまだ先は長い(ピーク時は1日300ヒット以上していたから10年で100万
ヒットは無茶な数値でなかったけど私の怠慢とポケコンの衰退のせいか)けれどこれは
まぁあせらずじっくりと考えることにするにょ。
今年は10周年ということもあり原点に返りポケコンコーナーの更新に力を入れてきたけど
来年はどうなることやら・・・。
1つの目標に到達してしまったからね。
とはいえ、まだテクニックのネタは多数あるし、工事中の部分が多い(特にソフト
コーナーに関してはほとんど工事中)から更新のネタ自体は困らないとはいえ、
「10周年」というモチベーションアップ要素が無くなってからそれを維持できるか
どうかはここを読んでいる皆さんにかかっているにょ。
実際、5年前の5周年記念から今年の5月までの4年半、ポケコンコーナーを更新して
なかったわけだしね。




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