X



【コムサイト PC88 COMSIGHT TecnoSoft A】
■ このスレッドは過去ログ倉庫に格納されています
0001NAME OVER垢版2012/03/02(金) 23:27:14.66ID:???
機種 PC88SR X1Turbo
発売元 テクノソフト ttp://www.tecnosoft.com/
画像 ttp://refugee2005.sakura.ne.jp/library/1987/COM01.gif

タンクの動きをプログラミングして戦わせるシミュレーションゲーム
コムサイトをまったり語りましょう(関連ゲームもOK)
熱いバトルも大歓迎です

BPLソース貼りの場所としても活用ください
0002NAME OVER垢版2012/03/02(金) 23:30:52.21ID:???
88スレで挙がったプログラム対戦タイプゲーム
元祖はアップルの**というゲームらしい(CoreWars?)

R.C. ロボットコンストラクション(X68)
ttp://www.electricsheep.co.jp/rc.shtml
マリオネットハンドラー(DC)
ttp://www.ni.bekkoame.ne.jp/jet_ryo/robo/game/marionettehandler.htm
地球防衛軍(PC98)
ttp://randy3.hp.infoseek.co.jp/retro/doc/farside.shtml
カルネージハート(PS2)
ttp://www.artdink.co.jp/japanese/title/chez/
MULTIPLY29
ttp://hp.vector.co.jp/authors/VA012411/chapter-10.html#MULTIPLY29
GUN-TACTYX
ttp://gameprog.it/hosted/guntactyx/

関連 ヘルツォーク
ttp://yasai.2ch.net/game/kako/979/979398739.html
0003NAME OVER垢版2012/03/02(金) 23:37:48.54ID:???
コムサイトはタンクの行動プログラムをBPLと呼ばれる言語で組み、
自動で対戦させるゲーム。

フィールドの広さは16x16ブロック(1ブロック=1マス分)
1ブロックは更に細かい座標であるセクターに分けられる。(1ブロック8セクター)
移動などはブロック単位、ミサイル攻撃の座標指定などはセクター単位で行われる。
 
ダメージが100になるか、エネルギーを使い果たすか、プログラムが終了したら負け。
 
初期エネルギーは30000
攻撃方法はBeamとMissileの2種類
0004NAME OVER垢版2012/03/02(金) 23:44:57.02ID:???
タンクは外見とシールド形状の異なる8種類。
攻撃が命中するとまずシールドがダメージを受け、
シールドが無くなるとダメージが蓄積していく。
シールドは時間経過で自動回復するが、エネルギー消費が激しくなる。

ビームは真正面に攻撃を行う。
ミサイルは指定座標に攻撃できるが、攻撃範囲は前方45度未満の範囲に限られる。
0005NAME OVER垢版2012/03/02(金) 23:59:59.66ID:???
BATTLE PROGRAMMING LANGUAGE(BPL)

BASIC風の言語で行番号の後に命令文を書く。

使用可能な変数:A〜Z、A0〜W9
(A〜Wまで後ろに0〜9を付け配列変数として扱える)
XYZはインデックスレジスタとして使用可能
(『X=0:A(X)=1』と『A0=1』は同じ動作をする)

命令毎に動作クロックが設定されており、
命令を実行する毎にゲーム内時間が経過していく。

命令の後ろに実行値を指定するタイプの命令は、
数値が0の場合、クロックを消費しない。
またIF文などはクロックを消費するが、
論理演算をするだけではクロックは消費されない。

そのため高速で無駄なく動作するプログラムにするには、
論理演算を組み合わせ、動作させたいときは必要な数値、
動作させたくない場合は0になるように組んでいくことになる。
0006NAME OVER垢版2012/03/03(土) 00:14:21.39ID:???
SEARCH <数値、変数>
サーチ命令。 命令の後ろに索敵する範囲をセクター単位で指定する。
指定範囲は1〜64 指定範囲を超えると(-1や65など)
イリーガルファンクションコールエラーになる。

※フィールドは15x15なので『SEARCH 64』(8マス)の場合、
必ず敵か壁を見つけることができる。

サーチした情報は以下のレジスタに格納される。(セクター単位)
@X :X座標
@Y :Y座標
@R :自タンクと敵タンクとの距離
@D :敵タンクの向き

敵を見つけた場合は敵、敵が見つからなかった場合は壁の座標が格納される。
敵も壁も見つからなかった場合は0
タンクの方向は0〜63。自タンクと敵タンクが同じ方向(↑)を向いているときは0。
←16、↓32、→48。 旋回中はその間の数値となる。

指定数値毎に16エネルギー消費する。
0007NAME OVER垢版2012/03/03(土) 00:21:51.62ID:???
敵タンクをサーチできた場合、以下のレジスタの内容も更新される
@EE :敵タンクの残エネルギー 30000〜0
@ES :敵タンクの現在のシールド値 0〜100
@ED :敵タンクの受けているダメージ量 0〜100
 
参照できるのはサーチで確認した直後の数値なので注意が必要。
 
またサーチに関係なく自タンクの情報は常に確認できる。
@ME :自タンクのエネルギー
@MS :自タンクのシールド
@MD :自タンクのダメージ

@Rレジスタは敵を索敵出来たかどうかの判断基準に使うことができる。
(敵を見つけられなかったとき、@R=0)
0009NAME OVER垢版2012/03/03(土) 02:15:51.09ID:???
BEAM <数値、変数> 1クロック※
使用エネルギー量を指定する。
真正面にビームを発射し、敵タンクに命中した場合ダメージを与える。

使用エネルギー量が多くなれば与えるダメージも増す。
バグなのか仕様なのかは不明だが、
特定の値の場合ダメージが大きいことが確認されている。

※BEAMコマンドに限らず値を変数で指定した場合、
 変数の内容が0の場合、何もせず消費クロックも0になる。
0011NAME OVER垢版2012/03/03(土) 02:33:16.30ID:???
MISSILE <X座標>,<Y座標>,<使用エネルギー> 1クロック
値は数値でも変数でも指定可能。

攻撃範囲は前方45度以内。
範囲外の場合、ミサイルは発射されない。
また、座標として指定可能な数値は0〜64までで、
エネルギーは0〜30000まで指定可能。
指定範囲を超えた場合エラーとなる。

指定座標に対し、ミサイルで攻撃する。
ミサイルは着弾までに時間がかかり、飛翔速度は1クロックに2セクター進む。
(タンクの移動速度の2倍)

敵タンクが自タンクの1マス前(0,8)にいる場合、
その前後3セクターまで命中する。
(X座標-3〜+3、Y座標5〜11)

BEAMは特定数値のみだが、MISSILEは一定値以上のエネルギーを
消費することで、一撃で敵タンクを撃破可能である。
0012NAME OVER垢版2012/03/03(土) 02:37:39.50ID:???
TURN <数値、変数> 16クロック
正の値のときは右、負の値のときは左に旋回する。
0の時は旋回せず、クロックも消費しない。
 
旋回が完了するまで、次の命令は実行されない。
非常に隙が大きい行動なので、相手攻撃範囲での旋回は避けた方が懸命。
0013NAME OVER垢版2012/03/03(土) 02:42:00.72ID:???
MOVE<数値、変数> 8クロック
正の値の時は前進、負の値のときは後退する。
指定可能な数値は-15〜15まで。
指定数値分のブロックを移動する。
0の場合、移動は行われず、クロックも消費しない。
 
移動中のタンクは、1クロックに1セクター進む。
一旦移動を開始したら、移動終了するまで次の命令は実行されない。
 
壁や敵タンクに衝突した場合、ダメージを負うので注意が必要。
0015NAME OVER垢版2012/03/03(土) 02:50:54.67ID:???
移動に関しては専用命令も存在する。
FORWARD 前進
BACK 後退
RIGHT 右90度旋回
LEFT 左90度旋回
数値の指定などはなく、命令単体で機能する。
必ず指定行動を行い、クロックも消費される。
 
ただし、これらの命令に関しては強いタンクを作ろうとする場合、
全く使用されないと思われる。

同様にIF THEN ELSE、GOSUB RETURNなどの制御命令も使用可能ではあるが、
意図的に使用を避けられることになる。(それだけで無駄にクロックを消費するため)
IF文などを使わずに処理を分岐させる方法についても後ほど解説したいと思う。
 

GOTO <行番号> 1クロック
指定した行番号へ飛ぶ。

プログラムループを作るため、プログラム末尾に
GOTOが1回使用されるだけの形を目指すことになるのではないかと思われる。
0017NAME OVER垢版2012/03/03(土) 03:01:04.97ID:???
PRINT <"文字列"、変数> 1クロック
文字を表示する。 デバッグ時に便利。

バトル中には全く役に立たない命令なので、確認後は
消してしまうか、コメントアウトする。

使用例:
10 PRINT "X="X,"Y="Y  など
自タンクが思ったように動作しない場合、変数の値を表示させることで
問題のある部分を探すのに役立つ。


TROFF
トレースオフ。
プログラム実行中、リスト表示が流れないようにする。
PRINTで表示した内容が読み取り安くなる。
基本的にデバッグ時以外には不要なコマンド。
(PRINTと共に使い、戦闘中にAAやメッセージを表示させたり……してどうする)
0018NAME OVER垢版2012/03/03(土) 03:08:36.76ID:???
プログラムの中に含まれない命令

LIST
プログラムリストを表示する。
  LIST <行番号>-<行番号> :指定行を表示
  LIST -<行番号>  :行番号までを表示
  LIST <行番号>-  :行番号から表示

RUN
仮想モードでプログラムを実行する。
仮想モード実行中はスペースキーで1クロック毎の動作をコマ送りで確認できる。
実行中もESCでポーズをかけ、F1のメニュー操作から
敵タンクのダミーの位置を変更したりできる。

RENUM
行番号を整理する。
行番号を振りなおしたいときに。


ちなみにプログラムは4096バイト(半角文字4096文字分)以内で組む必要がある。
しかしながら、行番号はその制限に含まれない。
行番号を1刻みで小さくしても容量を稼ぐことはできない。
0019NAME OVER垢版2012/03/03(土) 03:15:17.61ID:???
算術演算子 +-/* はもちろん使用可能。

ABS(<数値、変数、式>) :絶対値(正負関係なく、正の値にする)
SGN(<数値、変数、式>) :符号(正ならば1、負ならば-1、0なら0を返す)

例:
X=ABS(5-8)
Xの値は-3ではなく、3になる。

X=SGN(@R)
@Rの値が0ならば0、それ以外は1になる。
(@Rは負の値をとらない為)
0021NAME OVER垢版2012/03/03(土) 03:35:03.29ID:???
論理式
『()』カッコでくくった中の比較演算子が正しい場合-1、正しくない場合0になります。

使用例:
10 X=(@Y>=3)
@Yが3以上のとき、Xは-1。
@Yが3未満のとき、Xは0になります。

比較演算子やAND、OR、NOTといった論理演算子については、検索すれば
色々な解説が見つかると思うのでひとまずは簡単に説明を終えます。

使用例:
10 X=3
20 X=((X+2)AND 3)
Xの値は1になる。(2進数で5は1001、3は0011、論理積は0001になる)
0022NAME OVER垢版2012/03/03(土) 03:38:31.62ID:???
変数で扱える数値の限界は、最小値は -32768、最大値は 32767です。(short型)
0023NAME OVER垢版2012/03/03(土) 03:38:51.14ID:???
49 :NAME OVER:2007/02/13(火) 20:59:38 ID:???
図解 @X@Yの値(自は上を向いている)
 圏内の時 相対的な敵座標

  囗囗囗囗囗壁
  囗敵囗囗囗壁
  囗囗囗囗囗壁
  囗囗囗囗囗壁
  囗囗囗自囗壁
  壁壁壁壁壁壁

  @X=-16 @Y=24

 圏外の時 近い側の壁までの距離(つまり絶対座標がわかる)

  壁壁壁壁壁壁      囗囗囗囗囗壁
  壁囗囗囗囗囗      囗囗囗囗囗壁
  壁囗囗囗囗囗      囗囗囗囗囗壁
  壁囗囗囗囗囗      囗囗自囗囗壁
  壁囗囗自囗囗      囗囗囗囗囗壁
  壁囗囗囗囗囗      壁壁壁壁壁壁

  @X=-24 @Y=32     @X=24 @Y=-16

 敵の向きと@Dの関係
  囗囗囗囗囗囗囗囗囗
  囗_0囗16囗32囗48囗
  囗↑囗←囗↓囗→囗
  囗囗囗囗囗囗囗囗囗
  囗囗囗囗自囗囗囗囗
0025NAME OVER垢版2012/03/03(土) 03:53:12.45ID:???
サンプルプログラム
10 SEARCH 64
20 Q=-(@R=0):R=-(Q=0)
30 S1=ABS(@X):S2=ABS(@Y)
40 S3=SGN(@X):S4=SGN(@Y)
50 B=(S1=0)*(S4>0)*R
60 BEAM B
70 X=-(S2>S1)*@X-(S2<=S1)*(S2-1)*S3
80 Y=S2
90 M=100*((S2-S1)>-8)*(S4>0)*R
100 MISSILE X,Y,M
110 T=-S3*(S1>@Y)*R+S3*(S4>0)*Q
120 TURN T
130 V=-(@Y>16)*R-(T=0)*Q
140 MOVE V
150 GOTO 10
0026NAME OVER垢版2012/03/03(土) 09:45:41.83ID:???
サンプルプログラム解説 その1

10 SEARCH 64
最大範囲でサーチします。 敵か壁のどちらかは発見できます。

20 Q=-(@R=0):R=-(Q=0)
敵が見つかった場合と、見つからなかった場合で行動を変化させる為に使います。
@R=0のときはサーチ範囲に敵はいなかったので、探してうろつくことにします。

30 S1=ABS(@X):S2=ABS(@Y)
40 S3=SGN(@X):S4=SGN(@Y)
サーチ結果で得たX座標とY座標の絶対値と符号を用意します。

50 B=(S1=0)*(S4>0)*R
60 BEAM B
ビーム攻撃をします。 
(S1=0) ←サーチ対象がが真正面か真後ろの時には-1
(S4>0) ←サーチ対象が前方だった場合には-1
R ←サーチ範囲に敵がいた場合1、いないときは0になります。

全てを満たした場合、前方にビーム攻撃を行います。
つまり、サーチの結果、真正面に敵タンクを発見したらビームを発射します。
どれか一つでも満たさない場合は0になり何もしません。
(この場合、使用エネルギーはたったの1なので、威力の期待はできません)
0027NAME OVER垢版2012/03/03(土) 09:51:15.63ID:???
サンプルプログラム解説 その2

70 X=-(S2>S1)*@X-(S2<=S1)*(S2-1)*S3
80 Y=S2
90 M=100*((S2-S1)>-8)*(S4>0)*R
100 MISSILE X,Y,M
ミサイル攻撃します。
-(S2>S1)*@X Y座標の方が大きい場合、45度に納まるのでX座標はそのままです
-(S2<=S1)*(S2-1)*S3 前方45度に収まらないとき、X座標の指定をY座標-1にします。
Y座標は正の値で指定しておきます。
サーチした対象が前方にあり、前方45度よりもやや広い程度の
範囲内で敵タンクを確認していれば攻撃します。

110 T=-S3*(S1>@Y)*R+S3*(S4>0)*Q
120 TURN T
確認したY座標よりもX座標の絶対値が大きいとき敵方向に旋回します。
敵を見つけていなくて前方に壁があるとき、側面の壁のない方を向きます。

130 V=-(@Y>16)*R-(T=0)*Q
140 MOVE V
敵がいて確認したY座標が16よりも大きい場合、前進します。
敵がいなかった場合、旋回しなかった時に前進します。

150 GOTO 10
10行目まで戻って繰り返し処理を行います。

このように論理式の組み合わせで、自分が行動させたい時には必要な数値、
行動させたくない条件で0になるように掛け算や足し算で組み合わせていきます。
0028NAME OVER垢版2012/03/04(日) 00:43:50.14ID:???
自分のタンクを作る方針をどう決めればいいのか?
勝つためにどうするか、勝利条件について考えてみる。

エネルギーが切れたら負け
  @無駄なエネルギーは使わない
    シールド強度を下げ、燃費を良くする。
    無駄撃ちで消耗しない。
    敵との距離に合わせサーチ範囲を限定し、消費を抑える。
  A相手にエネルギーを使わせる
   ミサイルを命中させ、エネルギー消費を増大させる。

ダメージが100になったら負け
  @敵の攻撃を喰らわない工夫
    一箇所に長く留まらない
    攻撃範囲から逃げる
  A先に倒す
    命中させる工夫
    必中の条件なら一気にトドメをさす。
  B壁にぶつからない
    移動制御の工夫

プログラムが終了したり、エラーになったら負け
   ⇒エラー原因になる部分は修正する

これが全てではないかもしれませんが、自分はこんな風に考えてます。
0029NAME OVER垢版2012/03/04(日) 00:48:49.71ID:???
敵タンクの旋回終了までのクロックと旋回後の方向確認
※Tecno-Softが用意してくれたサブルーチンの2番煎じ。
※SEARCHコマンド直後に使ってください。
※A,B,C,D0-D2 レジスタを使用します。
※d2に旋回終了までのクロック、Cに旋回終了後の向きが入ります
※動作保障はしません。使う時は自己責任でお願いします(^^;

100 D0=@D ;敵の向き
110 A=(@D/16*16) ;0〜15=0、16〜31=16、32〜47=32、48〜63=48
120 A=-(A<>D0)*64 ;敵が旋回中(旋回中のハンパな角度)だったら索敵範囲指定
130 SEARCH A ;再サーチ(旋回してないなら再サーチしない)
140 D1=@D ;再サーチ後の敵の向き
150 A=(@D/16*16)
160 A=(A<>D1) ;旋回終了しているかどうか
160 B=(D0-D1)*A ;旋回方向計算
170 A=D1-(15*(B>0)) ;旋回方向に合わせて補正。
;半時計回りなら+15。
;余りを切捨てるので時計回りはそのままでOK。
180 C=-(A/16*16)*(A<64) ;旋回終了後の方向。補正後64を超えたら0に。
190 D2=(C*B)-(D1*B) ;旋回終了までのクロック数計算(回転終了なら0)
0030NAME OVER垢版2012/03/04(日) 03:30:43.95ID:???
とりあえず説明については以上です。
長々と失礼いたしました。

解らないことなどあれば、気軽に質問してください。
わかる範囲でお答えします。

コムサイト関連の雑談も歓迎です。
0031NAME OVER垢版2012/03/04(日) 08:51:10.33ID:???
12 :NAME OVER:2006/12/09(土) 22:54:22 ID:???
88スレから情報引継ぎ

当時テクノソフトがBBSを開いていて専用通信ソフトがあった
対戦コンテストが開かれた
1 MOVE 15:TURN 1:GOTO 1 の逃げるだけマシンは結構勝つ
1定の値の奇数ビームは破壊力大の裏技があった
0032NAME OVER垢版2012/03/04(日) 09:04:57.03ID:???
>>31の1行タンクは15マス進み、右に旋回するだけですが、
案外厄介な相手です。
 
サーチすら行わないため、敵を探して攻撃するタイプのタンクは
エネルギー消費の差で負けてしまう可能性があるのです。
 
最初から用意されているタンクに対する勝率もなかなか良く、
敵からの攻撃があるまで動かないGargoileに対して相性が悪いくらいです。
(正面を塞がれてそのまま撃破されるパターンも相手がMinkyのときに確認)
 
余談ですが、自分のタンクは最速で逃げ回るタンクの対抗策として
偏差射撃を行って命中数を稼いでいるので勝てます。
実はその分だけ普通のタンクに対しては無駄な攻撃行動を取っているので、
敵のタイプを判断して無駄撃ちを減らせないか模索中だったりします。
0033NAME OVER垢版2012/03/04(日) 09:19:46.95ID:???
このエネルギー負けという条件が、コムサイトを面白くしていると思います。
(個人的にはエラー発生で自爆というところも大好きです)


今まで解説してきた論理式を組み合わせるプログラムは、
極限の1クロックが致命的になる状況を避け、相手よりも
手数を出すことで有利なることを目的としたテクニックです。
ですが、必須ではありません。
遠距離ではその分だけ余計にエネルギーを
消費してしまいがちという欠点もあります。

ただでさえ敷居の高いゲームですので、IF文で1クロック消費しても
それが致命的な遅れに繋がらなければ良いと思います。

具体的には敵との距離が近く攻撃を受ける可能性がある状況を
優先して処理し、次の行動になるよう不要な処理を飛ばしたり、
旋回で長く留まった後はすぐにその場を離れるよう移動もセットで
組み込むなどすると良いかもしれません。
(IF文などで判断するタイミングを旋回後に入れないようにする)
0034NAME OVER垢版2012/03/04(日) 10:29:48.42ID:???
>>2
お疲れ様ですw
Apple2の元祖ゲームはMuse SoftwareのRobot Warだと思います

因みにMuse Software社は恐らく現在全盛ののfps系ゲームの元祖である
キャッスルウルフェンシュタインを開発した会社でもあります
0037NAME OVER垢版2012/03/04(日) 14:22:30.71ID:???
CoreWarsもテクニカルで面白いですよね
まるでウイルスを作っているようで
0038NAME OVER垢版2012/03/04(日) 15:27:41.97ID:???
横から失礼
>>25のサンプルプログラムを算術演算から論理演算に置き換えてみた

10 SEARCH 64
20 Q=@R=0:R=NOT Q
30 S1=ABS(@X):S2=ABS(@Y)
40 S3=SGN(@X):S4=SGN(@Y)
50 B=1 AND R AND S1=0 AND S4>0
60 BEAM B
70 X=@X AND S2>S1 OR S3*(S2-1)AND S2<=S1
80 Y=S2
90 M=100 AND R AND S2+8>S1 AND S4>0
100 MISSILE X,Y,M
110 T=S3 AND S1>@Y AND R OR -S3 AND S4>0 AND Q
120 TURN T
130 V=1 AND(@Y>16 AND R OR T=0 AND Q)
140 MOVE V
150 GOTO 10

人によってはこのほうが理解しやすいかもしれない
ちなみに元のソースより9バイト余分に消費します

ポイントは、
数式 AND 論理式 AND 論理式 AND …
という形で、論理式が真なら数式の値、偽なら0になります

メモリ残量が気になるほどになってくれば、
元のソースのように算術式を利用することになるでしょう
0039NAME OVER垢版2012/03/04(日) 16:39:36.50ID:???
>>38
これは盲点でした。
確かにその方が理解しやすそうですね。

自分も最初はANDやORを使って記述していたものが、
いつしか算術演算子で記述する方が楽で
それがすっかり定着してしまっていたようです。
0040NAME OVER垢版2012/03/05(月) 12:18:55.48ID:???
あの当時の小さいメモリでデバッグモードもあったんだよね。
しかも戦闘時はマルチスレッド(2ソース)の実行で3D表示。なかなか凄い。
0041NAME OVER垢版2012/03/05(月) 18:34:51.42ID:???
前スレから引き出し。
レーザーは1クロックで全部、ミサイルはタンク速x2、一升移動は8、回転は16クロックだったと思う。

相手当たり判定は中心から+3まで
ビームは1クロック消費で即相手に当たる 距離は関係ない
1クロックエネルギー消費量=DL(デェフェンスレベル)+2
シールドは1クロック1回復
1クロックシールド回復エネルギー消費量=DL*3+37
壁や敵にぶつかったときのシールドダメージ=(16-DL)*2+34

CIRC 円状均等
MASH 前後楕円状
SIEVA 前方扇状
AGLEX 前後左右突出
VOA 斜め四方突出
HOGS 前後突出
ZAR 左右突出
WEITZ 後方扇状

20年の謎は解き放たれた
ファイル
PandoraBox
Secrecy
SubRoutine
PASSWORD:""

1 PandoraBox "" なし
Good ____
2 Secrecy "luck"
Next hint パンドラ ノ ハコ ニ サイゴ ニ ノコサレタ モノ
3 SubRoutine "hope"
0042NAME OVER垢版2012/03/05(月) 18:49:01.35ID:???
ttp://ja.wikipedia.org/wiki/COMSIGHT
X68000と書いてあるのは間違いかと。

ttp://www.suruga-ya.jp/pics/boxart_m/126000766m.jpg
駿河屋でのパケ。
0043NAME OVER垢版2012/03/05(月) 19:43:28.02ID:???
サンプルプログラム(IF文使用型)

10 SEARCH 64
20 IF @R=0 THEN GOSUB 90
30 IF @Y>=ABS(@X) THEN GOTO 50
40 TURN @X:GOTO 10
50 IF @Y>0 THEN MISSILE @X,@Y,100 ELSE TURN @X:GOTO 100
60 IF @X=0 THEN BEAM 573:GOTO 100
70 IF @Y>=16 THEN FORWARD
80 GOTO 10
90 '
100 IF @Y>0 TURN -@X ELSE MOVE 1
110 SEARCH 64
120 IF @R=0 THEN goto 100
130 RETURN
0044NAME OVER垢版2012/03/05(月) 19:54:11.88ID:???
サンプルプログラム(IF文使用型)解説

10行目 サーチ
20行目 敵タンクがいなければ、90行からの索敵ルーチンを実行
30行目 X座標よりもY座標の方が大きければ50行目へ
40行目 攻撃できないので敵方向へ旋回して10行目へ戻る
50行目 ミサイル攻撃
60行目 ビーム攻撃
70行目 敵が遠ければ接近
80行目 ループ先頭に戻る
90行目
100行目 前方に壁確認⇒壁のない側へ旋回、壁が無ければ前進
110行目 サーチ
120行目 敵がいなければ100行目から繰り返す
130行目 敵がいたので処理を終えて戻る

ちなみにすっきりしている割に無駄な部分は残っていますし、
COMのタンクに勝つためには工夫が必要です。
あくまで最低限の動作をさせるための参考として。
0045NAME OVER垢版2012/03/06(火) 19:11:29.24ID:???
★状況判断の基準を考えやすくするコツ
方眼紙に自タンクの△を書いて、前後左右1ブロック分の幅で線を引く。
自タンクを中心に斜め45度のラインを引く。
前方2〜4ブロックの辺り、この辺りまでバリバリ攻撃したいと思うところで横に線を引く。
 
線で区切った場所に敵がどういう向きでいたら
どんな風に自分のタンクが動いて欲しいかを考える。
 
そうすると、どういった条件の時にどんな風に動く命令を書けばいいか
どんな命令が欠けているのかが解りやすい。
0046NAME OVER垢版2012/03/06(火) 19:39:06.39ID:???
1クロックエネルギー消費量=(DL*2)+4 っぽい
DL 01で消費6、DLが1上がるごとに2上昇していき、DL 16で消費36。
0047NAME OVER垢版2012/03/06(火) 19:50:16.04ID:???
失礼。 PRINTのクロック計算に入れてなかった。
DL+2で正しかったわ。
0048NAME OVER垢版2012/03/07(水) 19:01:37.99ID:???
昔遊んでいた頃、対戦相手が欲しくなって、
「自分のタンクに勝ったら5千円!」と賞金を出したことがあった。
 
それでも対戦者は現れなかった。
そんなゲーム。
0049NAME OVER垢版2012/03/07(水) 19:04:00.21ID:???
『COMSIGHT大会の上位10名のタンクデータ』ってヤツを
昔のゲーム誌(LogInだったかな)で広告を見た覚えがあるんだけど、
あれって本当に販売されたの?
 
知ってる人いたら教えて欲しいです。
0050NAME OVER垢版2012/03/07(水) 19:18:35.52ID:???
販売されたかどうかは知らないけどモノは存在するよ
少なくとも上位10位に入った人には送られたはず
0051NAME OVER垢版2012/03/07(水) 21:02:38.53ID:???
>>50
うーん、大会参加できなかったのが悔やまれるなぁ。
どんなタンクだったのか気になる。
というか、対戦させてみたかったな。
0052NAME OVER垢版2012/03/09(金) 17:57:51.31ID:???
敵の行動パターンを分析、それに対応して戦い方を変えるタンクとか作ってみたい。
面倒なので投げたけど。
0054NAME OVER垢版2012/03/09(金) 19:57:06.50ID:???
シールドが変な形しているタンクを生かす方法とか考えてみたい。

昔考えたのは、後ろを敵に向けてBackで突撃するタンクとか。
敵の脇をすり抜けるのが狙いだけど、真後ろに入られると致命的なので、
その対策が思いつかなくて結局ボツになっちゃった。
0055NAME OVER垢版2012/03/11(日) 22:23:31.59ID:???
改めて対戦させてみると、TecnoSoftが用意した
8種のタンクは個性的で良いな。
0056NAME OVER垢版2012/03/17(土) 10:11:38.33ID:???
数ヵ月後だか数年後だか解らないけど、
もっと多くの同好の士がこのスレを見つけてくれるといいなぁ
0058NAME OVER垢版2012/03/17(土) 10:46:26.32ID:???
昔コムサイトを遊んでいて好きだった人はまだいると思うけど、
そういう人が20年以上経った今でもアンテナ張ってはいないと思うんだよね。
とあるブログの記事に対して、3年後にレス付いたりしているし。
0059NAME OVER垢版2012/03/23(金) 20:31:08.53ID:???
週末は割と暇なので、質問などあればご遠慮なく〜。
「○○みたいなときは処理させたいんだけど良い方法ない?」とか。
対戦申し込みも歓迎。
0060NAME OVER垢版2012/03/29(木) 20:10:27.60ID:???
PC-8801ゲーあれこれスレでアップしたタンクを改良したよ。

Skydart-2
・危険地帯に踏み込まない
・無駄なサーチをカット
・回避を大きく
他色々修正

http://www1.axfc.net/uploader/Sc/so/332626
DLキーワード: comsight

以前アップされたTYPE-0, Skydartと一緒にいれておいた。
0061NAME OVER垢版2012/03/29(木) 23:45:55.17ID:???
平日ちょっと時間を取れないので、週末対戦させてみます(^^
楽しみです。
0063NAME OVER垢版2012/04/01(日) 11:02:13.80ID:???
大会ベスト10のディスクを発掘してきたけどどうしようか
これ自体はプログラムじゃないしプロテクトもかかっていないから
アップしてもいい気がするけど売り物だったのならまずい気もする
0064NAME OVER垢版2012/04/01(日) 14:48:49.54ID:???
正直言って喉から手が出るほど欲しいけれど、
そのあたりの判断はお任せします。
 
良かったら>>60のタンクと戦わせてみてどういう結果なのか、
試して結果報告してもらえたら嬉しいです。
0065NAME OVER垢版2012/04/01(日) 17:53:08.63ID:???
とりあえず戦績出してみてから考えるか

まずはTYPE-0 vs 大会タンク
戦績はTYPE-0から見てのもの

大会同様10戦で、表記は「勝ち数」ハイフン「負け数」
下記の01〜10は大会順位、その右はタンクの名前
Y1,Y2は運営側が用意した予選用タンク

01 RYU-4.1    5-5
02 GUYVER-3  6-4
03  HALBERD  10-0
04 TZJSD3G 2  9-1
05 RYU-4.2    8-2
06  D.A.R.K    7-3
07 T.BUSTER   9-1
08 GREAT BOW 7-3
09 Gabu HA    9-1
10 Gabu RO   10-0
Y1 Dragon2    8-2
Y2 Excel-2197  9-1

ちなみにM88の全力駆動で動かしたので試合内容は見てない
ただ時々TYPE-0が自爆することがあった気がする
0066NAME OVER垢版2012/04/01(日) 19:07:44.30ID:???
>>65
おぉ、ありがたい。
結構良い感じで戦えていることが解っただけでも満足。(^^
 
ご指摘の通り、うpした時点でTYPE-0はバグが残っていました。
プログラムを整理して、別タンクを一から組み直しているところです。
0067NAME OVER垢版2012/04/01(日) 20:39:15.88ID:???
続いてSkydart vs 大会タンク

01 RYU-4.1    10-0
02 GUYVER-3   9-1
03  HALBERD   9-1
04 TZJSD3G 2   9-1
05 RYU-4.2     8-2
06  D.A.R.K    10-0
07 T.BUSTER   8-2
08 GREAT BOW  9-1
09 Gabu HA    10-0
10 Gabu RO    10-0
Y1 Dragon2    10-0
Y2 Excel-2197  10-0
0068NAME OVER垢版2012/04/01(日) 22:46:01.50ID:???
最後Skydart-2 vs 大会タンク

01 RYU-4.1    10-0
02 GUYVER-3  10-0
03  HALBERD   9-1
04 TZJSD3G 2   7-3
05 RYU-4.2    10-0
06  D.A.R.K     9-1
07 T.BUSTER    7-3
08 GREAT BOW 10-0
09 Gabu HA    10-0
10 Gabu RO    10-0
Y1 Dragon2    10-0
Y2 Excel-2197   8-2

修正前より負けが増えたみたい
0071NAME OVER垢版2012/04/01(日) 23:57:11.56ID:???
そうか、発売の翌年4月だったっけ?、コンテスト。
高いFD送るのもったいないとか、そも強いタンク作れなくて、そのまま。
あと、通信用のBBSもあったらしいが、モデムなんて持って無かったよ。
0073NAME OVER垢版2012/04/05(木) 22:17:07.73ID:???
ビームについての検証

まず注意として、エネルギーの値が偶数の場合、威力が著しく減少する。多分バグだろう。
32の倍数のときが最も弱くなり、次いで16の倍数、8の倍数、4の倍数、2の倍数の順で
少しずつ威力が上がるが、奇数の場合とは比較にならないほど弱い。
よって、以降はエネルギーの値が奇数であることを前提とする。
0074NAME OVER垢版2012/04/05(木) 22:17:41.76ID:???
1. シールドを削る場合

まずはじめに、ビームのエネルギーに関係なく、ビームがあたっただけで、
無条件で一定量のシールドが失われる。計算式は、

(16-ディフェンスレベル)*2+α

となっている。αはタンクタイプと被弾方向によって変わる。
SIEVAの正面は5、側面は26、背面は50だった。

さらに、ビームのエネルギーが32増えるごとにシールドを削る量が1増える。
これはディフェンスレベルには影響されない。
例えば、ディフェンスレベル16のSIEVAを正面から攻撃する時、
シールド100を吹き飛ばすのに必要なエネルギーは、

95*32+1=3041 (+1は奇数にするための補正)

となる。5は無条件で削れるので残り95を削るだけのエネルギーで良い。
0075NAME OVER垢版2012/04/05(木) 22:18:16.01ID:???
2. シールドを破ってダメージを与える場合

ビームのエネルギーが160増えるごとにダメージが1増える。
これもディフェンスレベルには影響されない。
シールド0の状態からダメージ100を与えるのに必要なエネルギーは

(100-@ED)*160+1 (+1は奇数にするための補正)

となる。よって、全く被弾していないディフェンスレベル16のSIEVAを
正面から一撃で撃破するのに必要なエネルギーは、

95*32+100*160+1=19041 (+1は奇数にするための補正)

となり、以前指摘された値と一致する。
0076NAME OVER垢版2012/04/05(木) 22:40:27.69ID:???
以上、暇だったので検証してみた。
昔、ダメージの入り方は調べたんだけどシールドの削れ方がよくわからなかった。
改めて調べてみてすっきりした。
0077NAME OVER垢版2012/04/06(金) 07:14:04.44ID:???
なるほど、そんな風になっていたんですね。
自分はMISSILE偏重で、BEAMは詳しく検証していませんでした。
 
新しいタンクを組む為に色々試行錯誤しているんですが、
工夫する余地はあっても容量が厳しくなってきて、プログラムを整理中だったり。
0078NAME OVER垢版2012/04/06(金) 07:15:31.78ID:???
こちらは距離の値がどんな感じなのか検証していました。

●距離表(@R)
64 64 66 68 72 75 80 85 91
56 57 58 61 64 69 74 79
48 49 51 54 58 62 68
40 41 43 47 51 57
32 33 36 40 45
24 25 29 34
16 18 23
08 11
0079NAME OVER垢版2012/04/06(金) 07:31:58.55ID:???
距離はピタゴラスの定理でおk
@R ≒ SQR(@X*@X+@Y*@Y)
小数点以下の端数は切り捨てか四捨五入かは未確認
0080NAME OVER垢版2012/04/06(金) 07:49:52.40ID:???
後でミサイルと壁衝突も再検証してみようかなと思ってる。
シールドの削れ方の法則がわかったので、
相手のタンクタイプとディフェンスレベルを推定できないかなーとか妄想してる。
できてもメリット少なそうだけどね。
0081NAME OVER垢版2012/04/06(金) 17:55:09.51ID:???
ミサイルはシールドを削りきるまで800、
耐久力1削る為に80必要で、100ダメージの為に8000エネルギー必要。
合計8800エネルギーでシールド16のSIEVAを倒せたと思う。
0082NAME OVER垢版2012/04/06(金) 18:02:59.19ID:???
>>79
SQR使えたのか……orz
今は手元にマニュアルがないから色々見落としてるなぁ。
実家にある筈なんだけど、どこにやったか解らんのよね。
0084NAME OVER垢版2012/04/06(金) 18:07:33.83ID:???
取り急ぎ改良してみたタンクは上位陣に勝てるんだけど、
T.BUSTERと自分の古いタンクには負けるようになった。(TT
0085NAME OVER垢版2012/04/06(金) 20:57:18.07ID:???
自分用に作ったもののおすそ分け
他人が作ったタンクのソースを眺めるのにどうぞ
(自分は開発にも使うけど)

Peggy/PeggyPad用 COMSIGHT BPL キーワード色分け定義ファイル
http://www1.axfc.net/uploader/Sc/so/334973.zip

Peggyを知らない人のために説明すると、
Windows用のプログラミング用途のエディタで、
Peggyは有料だがPeggyPadは無料

ダウンロードは↓から
http://www.anchorsystems.jp/anchor/ashp/peggy/pegindex.html
0086NAME OVER垢版2012/04/06(金) 21:03:50.77ID:???
使い方

(1) ac_comsight.kwd を C:\Program Files\Anchor\share フォルダに放り込む
  (インストール場所を変えた場合は適宜読み替えて)
(2) BPLソースのテキストファイルを用意して、拡張子を comsight にする
(3) Peggy/PeggyPad で (2) のファイルを開く
0087NAME OVER垢版2012/04/06(金) 21:11:47.56ID:???
このままだとまだ区別がつきにくいと思うので、色の設定を変更する

メニューの「ツール」→「オプション」から「表示色」タブを選択して
次のように設定しよう

数値定数…青色
識別子/変数/関数/ラベル…茶色
CPUインストラクション…赤色、太字にする(色の中のチェックボックスをオンにする)
CPUレジスタ…色はそのままで太字にする
組み込み関数…色はそのままで太字にする

気に入らなかったら自分の好みで変更してくれ
0089NAME OVER垢版2012/04/06(金) 21:32:40.87ID:???
88エミュからBPLソースを取り出す方法
(かなりローテクだが、たぶんこれしかない)

(1) X88000 で COMSIGHT を起動する
(2) X88000メニューの「システム」→「パラレルポート」で「PC-PR201」を選択する
(3) X88000メニューの「システム」→「パラレルポート」→「デバイスの設定」で、用紙サイズを「15インチ連続紙」にする
(4) CREATE でタンク作成モードに入る
(5) LLIST を実行する
(6) X88000メニューの「システム」→「パラレルポート」→「デバイスの設定」でページ番号を選択した後、「コピー」ボタンを押す
(7) 「テキスト抽出」を選択して「OK」を押す
(8) メモ帳なりエディタなりを開いて、貼り付けする
(9) ページ数分 (6)〜(8) を繰り返す
(10) 用紙幅を超える行は改行されてしまうので、目視で修正する
0090NAME OVER垢版2012/04/06(金) 22:17:37.50ID:???
注意点を書き忘れた。

2回目以降のLLISTを実行する前には、「システム」→「パラレルポート」→「デバイスの設定」で
「用紙削除」ボタンを押して、全ページを削除しておくこと。
さもないと、以前のページの後に追加されてしまう。

あと、残念ながらX88000ではタンクの開発はできない。
プログラムの入力だけならできるが、実行するとエラーになって自爆してしまう。
0091NAME OVER垢版2012/04/06(金) 22:27:27.44ID:???
>>81
一撃で倒そうとするとその通りなんだけど、
エネルギー1のミサイルを連続で当ててもダメージが入る仕組みが
よくわからなくてね
0093NAME OVER垢版2012/04/07(土) 00:40:34.21ID:???
デバッグ画面で検証してとりあえずわかったこと

・ミサイルのダメージはDLにのみ影響される。タンクのタイプと被弾方向は全く関係ない
・壁に衝突した時のシールド減少量は、VOA, ZAR, WEITZが最も少なく、SIEVA, AGLEX, HOGSが最も多い
・壁に衝突した時のシールド減少量は、全タイプで前面と背面で差がない
・敵に衝突した時のシールド減少量は、SIEVA, WEITZ以外は壁の時と同じ。SIEVAとWEITZのみ背面のときが違う
・壁や敵に衝突した時のシールド減少量は、DLが1増えるごとに2減る

横からぶつけられるケースもあるけどデバッグ画面ではできないので検証してない

この結果は想像していたのと違ってかなりショックだった
実際の戦闘でも本当にこの通りなのか、また今度試してみる
0094NAME OVER垢版2012/04/07(土) 13:14:01.62ID:???
>>89
へー取り出せるのか。
あとクリップボードペースト機能があれば入力もできるな。
>>91
1発目でシールド剥がれてる時に2発目あたるからでは?

>横からぶつけられるケースもあるけどデバッグ画面ではできないので検証してない
敵に横からぶつけて敵のダメージ見ればいいんでは?
0096NAME OVER垢版2012/04/07(土) 15:19:38.49ID:???
>>94
>敵に横からぶつけて敵のダメージ見ればいいんでは?
その手があったか。やってみたんで前後とあわせて結果を貼っとく。

敵に衝突した時のシールド減少(DL=16の場合)

タイプ  前  後  横
----------------
CIRC___ 18 18 18
MASH_ 22 22 14
SIEVA_ 34 04 18
AGLEX 34 34 34
VOA___ 04 04 04
HOGS_ 34 34 04
ZAR____ 04 04 34
WEITZ_ 04 34 18
0097NAME OVER垢版2012/04/07(土) 15:22:08.93ID:???
壁に衝突した時のシールド減少(DL=16の場合)

タイプ  前  後
-------------
CIRC___ 18 18
MASH_ 22 22
SIEVA_ 34 34
AGLEX 34 34
VOA___ 04 04
HOGS_ 34 34
ZAR____ 04 04
WEITZ_ 04 04
0098NAME OVER垢版2012/04/07(土) 23:26:36.17ID:???
ミサイルの検証が終わったので報告

(1) シールド減少量の計算方法

基本シールド減少量=80-(ディフェンスレベル-1)×2
シールド減少ボーナス=ミサイルのエネルギー÷16(端数切捨て)
最終シールド減少量=基本シールド減少量+シールド減少ボーナス

例1)ディフェンスレベル6のタンクにエネルギー160のミサイルが命中した場合

基本シールド減少量=80-(6-1)*2=70
シールド減少ボーナス=160/16=10
最終シールド減少量=70+10=80

例2)ディフェンスレベル1のタンクにエネルギー1のミサイルが命中した場合
(よくあるパターン)

基本シールド減少量=80-(1-1)*2=80
シールド減少ボーナス=1/16=0.0625 切り捨てて0
最終シールド減少量=80+0=80
0099NAME OVER垢版2012/04/07(土) 23:27:58.54ID:???
(2) ダメージの計算方法

シールド補正値=シールド残量+(ディフェンスレベル-1)×2
ダメージ吸収量=シールド補正値÷5(端数切り上げ)
基本ダメージ=16-ダメージ吸収量(下限は0)
シールド突破エネルギー=(シールド残量-基本シールド減少量)×16(下限は0)
ダメージボーナス=(ミサイルのエネルギー-シールド突破エネルギー)÷80(端数切捨て、下限は0)
最終ダメージ=基本ダメージ+ダメージボーナス

例1)ディフェンスレベル16、シールド残量60のタンクにエネルギー1000のミサイルが命中した場合

シールド補正値=60+(16-1)*2=90
ダメージ吸収量=90/5=18
基本ダメージ=16-18=-2 下限が0なので0
基本シールド減少量=80-(16-1)*2=50
シールド突破エネルギー=(60-50)*16=160
ダメージボーナス=(1000-160)/80=10.5 切り捨てて10
最終ダメージ=0+10=10

例2)ディフェンスレベル1、シールド残量23のタンクにエネルギー1のミサイルが命中した場合
(よくあるパターン)

シールド補正値=23+(1-1)*2=23
ダメージ吸収量=23/5=4.6 切り上げて5
基本ダメージ=16-5=11
基本シールド減少量=80-(1-1)*2=80
シールド突破エネルギー=(23-80)*16 下限が0なので0
ダメージボーナス=(1-0)/80=0.0125 切り捨てて0
最終ダメージ=11+0=11
0100NAME OVER垢版2012/04/08(日) 11:21:49.35ID:???
ttp://homepage3.nifty.com/takeda-toshiya/pc9801/index.html
こっちのMAエミュはテキストペーストが使える模様。
コムスンが動くかどうかは試してないけど。
0101NAME OVER垢版2012/04/08(日) 13:13:59.51ID:???
>>100のエミュでCOMSIGHTが動くことを確認
情報thx
ペーストは完動を確認したが、残念ながらかなり遅い
毎秒2文字くらいなので3000バイトだったら1500秒=25分かかる計算
0103NAME OVER垢版2012/04/09(月) 07:49:28.16ID:???
アルゴリズムを変えて気付く、他の参加者の強さ。
今まで喰らってなかっただけでヤバイ決め技持ってたりするな。
0104NAME OVER垢版2012/04/10(火) 00:56:26.11ID:???
DL16のタンクにエネルギー1のビームが命中したときシールド減少量

タイプ  前 斜前 横 斜後 後
------------------------
CIRC___ 26 26 26 26 26 円状均等
MASH_ 32 26 20 26 32 前後楕円状
SIEVA_ 05 11 26 38 50 前方扇状
AGLEX 50 05 50 05 50 斜め四方突出※
VOA___ 05 50 05 50 05 前後左右突出※
HOGS_ 50 26 05 26 50 左右突出※
ZAR____ 05 26 50 26 05 前後突出※
WEITZ_ 50 38 26 11 05 後方扇状

AGLEXとVOA、HOGSとZARは画面で表示される情報と実際の性能が逆
ビーム打たれるのは真正面か側面の場合しかないだろうから、
壁や敵との衝突時の性能とあわせて考えるとVOAが最強か
0105NAME OVER垢版2012/04/10(火) 07:30:41.35ID:???
うーん、シールド性能は実感し辛いだけに
性能が入れ替わってるなんて思いもしなかった。
0106NAME OVER垢版2012/04/17(火) 21:16:45.77ID:???
攻撃関連のルーチンを見直して、今度こそ完成だ! 
……と思ったら、全然そんなことは無かったでゴザル。

残り容量も厳しくなってきたから、またスパゲティみたいな
ぐちゃぐちゃソースになっているところを整理しないとダメだ。
壁情報の保持&情報更新は案外長くなってしまうわ。
0107NAME OVER垢版2012/04/20(金) 00:09:26.92ID:???
こっちも壁情報を保持するようにしてみたけどそれをどう活かすかが難しい
色々詰め込んだせいでソースのスペース全部削っても残り100バイトとか厳しすぎる
0109NAME OVER垢版2012/04/20(金) 18:10:50.38ID:???
色々試行錯誤して強くなった、と思いきや勝てない相手が増えてしまった(-_-;
おかしいなぁ
0110NAME OVER垢版2012/04/25(水) 22:03:09.24ID:???
久々にタンクデータうp
http://ll.la/Xh60

TYPE-Xが新作。
攻撃の手数を増やして、致命的なバグもいくつか解消。
必殺技も追加。
まだ意図したのとは違う動きをすることも。

TYPE-0、Skydart、Skydart-2も一緒に入れてます。
ついでにCOMのタンクも入れておきました。
COM vs COMの対戦を眺めてみるのも一興。
0111NAME OVER垢版2012/04/26(木) 00:53:32.80ID:???
うp乙です
対戦はまた今度時間のあるときにやってみる
COMタンクのデータって独立したのがあったんだ、知らなかった

そしていまさらM88でプリンタ出力をファイルに吐くモジュールを発見
LLIST一発で簡単
ttp://www5f.biglobe.ne.jp/~apaslothy/tool.html
これでデバッグが捗るかも
0112NAME OVER垢版2012/04/26(木) 03:51:06.60ID:???
MISSILEにはバグがあって、壁の外に向かって撃ちこむと
画面上に出るミサイルの数が減っていき、最終的に撃てなくなる。
 
MISSILEは敵味方合わせて同時に8発だったかしか存在できなくて、
壁の外に撃ちこまれたMISSILEは着弾せずにそのまま
飛行中のミサイル数としてカウントされてしまっているっぽい。
 
意図的にMISSILEを封じて、エネルギー勝ちを狙うタンクとか
作られちゃうと、正直対処に困るので今まで黙ってた(^^;
0113NAME OVER垢版2012/04/26(木) 03:55:30.46ID:???
COMのタンクデータは、ディスク1の方に入ってます。

ユーザーディスクのタンクデータの移し変え方法と同様に、
ドライブ2にディスク1を入れて、FILEメニューのCOPYから
PAGE:1のところに合わせることで確認できます。
 
タンクデータを作成した方を含め、製作スタッフ名も確認できます。
0114NAME OVER垢版2012/04/26(木) 12:29:22.31ID:???
おお、スタッフが見れるのか。メインは知らないメンツだけど。
タンク作った内のFさんはサンダーフォースMDの方の人だな。
STG&あることで話題になったあの人やアルシスのあの人は関与してないみたい。
0115NAME OVER垢版2012/04/26(木) 17:42:32.03ID:???
メインプログラマーのn.araiさんはコンポーザーでもあり、
後のテクノソフト作品ではサウンドドライバーを担当したりしてる。
サンダーフォースシリーズにも関わっているね。
あと、ヘルツォークの名付け親だそうです。
0116NAME OVER垢版2012/04/28(土) 15:04:47.74ID:???
対戦してみたよ
TYPE-X強いねぇ
ミサイル喰らいまくる、こっちのミサイルは当たらない
さてどうしたものか
0118NAME OVER垢版2012/04/29(日) 19:28:53.00ID:???
88以外でも98やX1turboなど出てた機種はあるようだけど全然やってたという声は出てこないね。
X68に出てればもうちょっと知られてたかもしれないけど。
0119NAME OVER垢版2012/04/29(日) 22:20:41.28ID:???
移植予定だったけど結局出なかったんじゃなかったかな
中古も存在しないようだし
0122NAME OVER垢版2012/05/07(月) 22:56:38.70ID:???
新作 Skydart-5
http://www1.axfc.net/uploader/Sc/so/343847

>>110のディスクに追加ですよ
TYPE-0とTYPE-Xの両方に対応するのは難しかったけど
なんとか戦えるようになったと思う

移動アルゴリズム変更
攻撃地点の見直し
攻撃タイミングの見直し
必殺攻撃の機会追加

3と4はできない子だったので欠番
DLキーワードは前と同じ
0123NAME OVER垢版2012/05/07(月) 23:27:53.26ID:???
>>122
ついに来てしまったかー(><
TYPE-Xは自分なりに色々詰め込んだタンクだっただけに、
攻略されてしまうと次の手に困ってしまう。
 
まだ見てないので、とにかく対戦させてみる。
当面、負けの原因を確認することからだろうなぁ。
0124NAME OVER垢版2012/05/17(木) 00:25:02.24ID:???
場当たり的な対策は案外簡単だったけど、
根本的な対策が難しい……。

それはそれとして、『そろそろ新たな挑戦者が現れないかなぁ』などと、
かなり起こりそうにもないことを期待してみたり。
0126NAME OVER垢版2012/05/27(日) 00:42:50.61ID:???
仕事が今月末で一区切りつくので、来月になったら再開できそうだ。

とはいえ、合い間に改良も進めているんだが芳しくない。
ちょこっと弄っただけで7割勝てたのに、今は2割五分しか勝てなくなってる。
改悪バージョンしか残ってなくて凹む。
0127NAME OVER垢版2012/05/27(日) 22:53:13.18ID:???
7割勝ててたってことはやっぱり弱点を突かれたのかな
お馬鹿なところが残ってるからなぁ
なんとかしたい
0128NAME OVER垢版2012/06/17(日) 14:26:56.85ID:???
今月に入って体調崩してました。
またタンクの改良を再開したけど、弄ると余計勝てなくなるの繰り返し。
そちらの戦術に嵌ってしまってるわ。
0129NAME OVER垢版2012/06/17(日) 18:21:48.40ID:???
身体は大事
こっちは5年くらい前からずっと頭痛、首肩の凝りに悩まされてた
原因がわかって今は楽になったけどね

ところで今更な情報だけど、>>25>>38では無駄を切り詰めた時に使用容量が逆転するんだ
スペースとコロンを全部取っ払うと>>38のほうが26バイト少なくて済む
可読性が激減するけど、そこは>>85を使えば読めないことはないよ
0130NAME OVER垢版2012/07/16(月) 02:00:56.67ID:???
久々にやったら、どう修正するつもりだったか忘れた。
思ったとおりに動かないパターンがいくつかある。
どうにも修正できない。
根本的に考え違いをしているのかも……。

一旦今の移動部分のアルゴリズムを捨てて、
そこだけ一から構築し直してみる。
0131NAME OVER垢版2012/08/06(月) 16:58:06.22ID:???
懐かしいー

当時からマイナーっぽくて周りにやってる人はいませんでしたw。

大会用に作ったタンクを自信満々で送ったらなんとか9,10位に入ったものの
他の人のタンクの完成度の高さにショックを受けた覚えがあります。

大会ベスト10ディスクは厚紙で補強されて送られてきたのでパッケージ化は
されてなかったはずです。希望者に切手何百円分かで通販してたような記憶があります。

0132NAME OVER垢版2012/08/06(月) 17:04:53.06ID:???
大会ディスクで好敵手をやっと得て色々改良して勝率の高いものを完成させたけど
その後大会はありませんでした・・w

ミサイル壁打ちのバグも当時気づいてそれを利用したタンクも作りました。
0133NAME OVER垢版2012/08/06(月) 17:07:27.12ID:???
名称は覚えてないけどマシン語とBASICみたいなものの2種類でプログラミングできて
もちろんマシン語様の方が効率よく行動するけど相性というか兼ね合いでBASIC様の
方が勝利するという事がよくありました。

現在コムサイトやるにはどうすればいいんですか?
ソフトパッケージをまず入手しなければならないのかな?
0135NAME OVER垢版2012/08/06(月) 17:26:10.83ID:???
>>133
自分がやった方法は、

・5インチFDDを入手してPCに接続
・ゲームディスクのプロテクト解除バックアップのFDをイメージ化
・データディスクのFDをイメージ化
・M88等のPC-88エミュレータ上で実行

って感じでかなり手間がかかります
やったのはWindows 98の時なんで、今のOSでできるかどうかはわからんです
0136NAME OVER垢版2012/08/06(月) 21:58:21.33ID:???
早速のレスどもです。

>>134
ソフトやデータは残念ながら行方不明です。

ただ行動パターンはサーチして敵がいなかったら最寄の壁に進み
全部で8つ存在できるミサイルを壁外に発射してあとは敵の進行ラインから
1つずれたラインをいったりきたりでエナジー切れを狙うというものでした。
0137NAME OVER垢版2012/08/06(月) 22:01:37.54ID:???
ただミサイル全部捨てきれなかったりで残った1,2このミサイルが当たって
負けたりした覚えがあります。

>>135
かなりハードル高いっすね
久しぶりに新タンク作ってみたかったけど残念ながら無理っぽいです。
0139NAME OVER垢版2013/01/04(金) 04:36:11.97ID:???
興味を持ってもらえても、新規参入は期待できないのが辛いところ。
0141NAME OVER垢版2013/11/05(火) 22:23:34.87ID:+5s+sQ3k
こんなスレがあったのか
今からじゃもう無理だろうな
0143NAME OVER垢版2013/11/10(日) 09:42:25.07ID:???
こことかで話題にあがったマリオネットハンドラーというのを中古屋で買ってきたけど
マニュアルがなかったんでやり方はわからなかった
0144NAME OVER垢版2013/11/10(日) 23:40:30.73ID:???
ロボットのパーツを購入したり
移動、索敵、加速、分岐、攻撃、ラベルのチップでプログラム
そして大会に挑戦
0147NAME OVER垢版2015/03/29(日) 15:36:33.91ID:???
そういや動画を作ってみると言ってた人がいたけど
どうなったんだろう?
検索しても見つからないから止めちゃったのかな。
0148NAME OVER垢版2016/04/17(日) 21:21:15.49ID:miYQNGrd
懐かしいです。
またやってみようかなと思って、プログラミングの参考に
TYPE-0とSkydart-2のソース見させてもらいました。
(TYPE-XとSkydartとSkydart-5はパスは分かるのに何故か開かない。)
みなさんレベル高すぎて、とても敵いそうにありません。
しばらくはソース解析してみます。
そういえば、COMのタンクのパスも分かるけど、何故か開かない。
開け方が分かる方いれば、ご教示頂きたく存じます。
0149NAME OVER垢版2016/04/17(日) 21:45:16.83ID:miYQNGrd
と思ったら、COMのタンクのパスのハズしかたも判りました。とりあえず、SUPER-TANKだけですが、他のも出来ると思います。ソース見て勉強します。
0152NAME OVER垢版2017/02/08(水) 17:58:08.60ID:8hBejV17a
ポカリンとは?

・機種関係無し安売り情報スレに2008年頃から住み着いているアイドルヲタ
・ほぼ毎日同じ時間帯に現れレスをしている (お昼〜午後11時)
・オットセイと他の住人全てに嫌われている禿げ
・恋愛経験皆無のパチンコに依存している童貞
・安売りスレが機能しなくなった元凶
・年齢は40代中盤

11/03(火)
http://hissi.org/read.php/famicom/20151103/N1JCdFluYi8.html
11/04(水)
http://hissi.org/read.php/famicom/20151104/NzRWOUJoWm0.html
11/05(木)
http://hissi.org/read.php/famicom/20151105/VGRhWHlJQmE.html
11/06(金)
http://hissi.org/read.php/famicom/20151106/M2grdmp3eFA.html

安売りスレ
http://mastiff.2ch.net/test/read.cgi/famicom/1447262464/
0154NAME OVER垢版2017/02/24(金) 20:29:46.36ID:BM32ReUka
ポカリンとは?

・機種関係無し安売り情報スレに2008年頃から住み着いているアイドルヲタ
・ほぼ毎日同じ時間帯に現れレスをしている (お昼〜午後11時)
・オットセイと他の住人全てに嫌われている禿げ
・恋愛経験皆無のパチンコに依存している童貞
・安売りスレが機能しなくなった元凶
・年齢は40代中盤

11/03(火)
http://hissi.org/read.php/famicom/20151103/N1JCdFluYi8.html
11/04(水)
http://hissi.org/read.php/famicom/20151104/NzRWOUJoWm0.html
11/05(木)
http://hissi.org/read.php/famicom/20151105/VGRhWHlJQmE.html
11/06(金)
http://hissi.org/read.php/famicom/20151106/M2grdmp3eFA.html
2016/05/17(火) ポカリンの敗北
http://hissi.org/read.php/famicom/20160517/a1l6U0pBRXU.html

プレミア12での日韓戦での在日発言
http://hissi.org/read.php/famicom/20151119/Mm40TWJqL2Q.html
0155NAME OVER垢版2017/12/16(土) 05:56:59.47ID:8Rtg9RBh0
保守。
0156NAME OVER垢版2018/01/08(月) 15:28:41.76ID:YxhaC4/X0
誰も居ないなー
0157NAME OVER垢版2018/01/28(日) 05:44:45.87ID:UU3JXEot0
レトロゆえに強力な副業ドットコム
グーグルで検索⇒『羽山のサユレイザ』

74437
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況