トップページgamedev
987コメント223KB

HSP - Hot Soup Processor [2]

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/10/24 12:05ID:???

       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 前スレ、関連サイトは >>2-5 あたり
    ヽ ──── '
0785名前は開発中のものです。03/01/18 23:15ID:y+/AtLlQ
>>781は流れ的にネタ
0786名前は開発中のものです。03/01/18 23:23ID:gAU9PK3k
だが時間で乱数を生成ってどんな計算式なんだろう?
0787名前は開発中のものです。03/01/18 23:31ID:CHhXNTNo
"疑似乱数"でググれボケ!
0788名前は開発中のものです。03/01/18 23:41ID:bxSI4/7b
>>787
サンクス!
名前的に完全な乱数ではないのね。
調べてくる。
0789あぼーんNGNG
あぼーん
0790名前は開発中のものです。03/01/19 16:28ID:/9qPSjjP
HSPでゲームを作り始めてから1ヶ月くらい経ちました。
ぜひ評価を下さい。

http://my.reset.jp/~aclass/index.htm
0791名前は開発中のものです。03/01/19 17:17ID:1MBubDP4
>>790
なんかやけにもっさりした動きだな。仕様なのか?
それとも結構なスペックを必要とするのか。cel 733でやったが。
まあたぶん後者だろうな。

つーか単純にゲームをやるユーザーとしていうと
どこを面白さとして売ってるんだ?
一ヶ月だからしょうがないと思うけど、
システムはもっと工夫がいると思うよ。
079279003/01/19 17:31ID:/9qPSjjP
thanks!
実はawaitじゃなくてwaitを使っています。機種によっては重いかもしれませ
ん。そういう事を抜きにしても、もっさりしているかもしれません。

まだまだ試作品のレベルです。これからどんどん肉付けしていきます。
0793名前は開発中のものです。03/01/19 17:41ID:1MBubDP4
>>792
シューティングなんかはawaitのほうが良いと思うよ。
cpu使用率が気になってるなら2.6を使えばいいし。
あと加速にいくらか段階をつけて制限時間を設けるとあせる感じが良いかも。
まあ頑張っちょくれ。
0794あぼーんNGNG
あぼーん
0795名前は開発中のものです。03/01/19 17:57ID:R9Ehg1vL
萌えが足りないっつーか無い。
0796あぼーんNGNG
あぼーん
079779003/01/19 19:53ID:/9qPSjjP
>>793
2.6ですか!
ありがとう。
awaitの値っていくつにすればいいのか、気になってたんですよ。
あまり小さくすると、遅いマシンではWindowsに渡す時間がなくなりそうだし。
0798名前は開発中のものです。03/01/19 20:17ID:q648J7XZ
>>797
いやそういうことではなくてhspのバージョンの話。
2.55ではawaitを使うとCPU使用率が100%になるが
2.6ではsleepで負荷が軽減できるはず。ってこと。

awaitの値は 16でいいかと。
0799名前は開発中のものです。03/01/19 21:41ID:i6LUPVBf
たしかにもっさりしているね。
ダイレクトXは使わんの?
0800あぼーんNGNG
あぼーん
0801名前は開発中のものです。03/01/19 22:18ID:O+tGE7h2
DirectX 使ってないSTG で HSP製のが
AAサロン板で公開されてるが、
あっちはあんまりもっさりしてないよ。

もっさりの原因は wait じゃない?
0802名前は開発中のものです。03/01/19 22:22ID:4SkWYupK
     ∧_∧
    ( ´∀`)< 糸冬 !!
    /,   つ
  ( ((_(_, )) )
     しし'
0803名前は開発中のものです。03/01/19 22:44ID:q648J7XZ
>>801
だから本人もそういってるわな。
0804あぼーんNGNG
あぼーん
0805名前は開発中のものです。03/01/20 06:13ID:bnGeoYqn
 シューティングに限らず、おおよそのゲームは秒間30枚の描画。3D系とか
動きの滑らかさ(早さ)にこだわるゲームは毎秒60枚。描画は30だが、判定は
秒間60回というのもある。

 awaitは1ms(1秒=1000ms)だから、30秒毎ならawait 33。60秒枚なら16。
 もっとも窓9x系はタイマーの精度が悪いため、30ms以下の指定はあてに
ならんけどな。

 あと、awaitは、「指定数値-前回のawaitから経過時間」で一定のリズムを
刻んでくれるが、waitは指定数値分しっかり休むから、処理にかかる時間に
よってリズムは不定になる。
0806名前は開発中のものです。03/01/20 09:08ID:m6jH1ets
秒毎?枚?毎秒じゃねーのか?
0807あぼーんNGNG
あぼーん
0808名前は開発中のものです。03/01/20 11:43ID:Bf9zvPzS
>>806
日本語べんきょうしろ。
0809名前は開発中のものです。03/01/20 12:58ID:ULqM/Mnd
>>790
WindowsXP、Pen4 2.4GHz,メモリ512Mで動作しました。
サクサク動きましたよ。絵もきれいですし。
一ヶ月でここまでならたいしたものだと。
0810名前は開発中のものです。03/01/20 13:43ID:s+HIX2sR
>>809に嫉妬
0811名前は開発中のものです。03/01/20 14:35ID:qjSpPiA2
なんだ、ココは、この板は、ツクレクレ君の態度が悪すぎるね
プログラミングやったことない人、全く出来ない人の発言なのか?
出来る人の発言だとしても、人間的にどうかと思うが…
でも、いい人たちも居ますね

という自分はHSP始めて1週間の超初心者でした
まだ見ていないけど一ヶ月でシューティング作れるのは凄ひと思ふ
081281103/01/20 15:18ID:qjSpPiA2
ゴメン、カンチガイした
ツクレクレ君なんて居ないね
みんな普通の人でした
0813名前は開発中のものです。03/01/20 15:21ID:qjSpPiA2
このスレに関しては
0814あぼーんNGNG
あぼーん
0815名前は開発中のものです。03/01/20 16:01ID:S40EXEZs
いや、でも初心者がいきなりシューティングをつくるのはいいと思う。
俺もいきなりシューティングを作ったが、いろいろな人のソースをみながら
ノウハウや処理の流れみたいのを覚えていくのはかなりためになったと思う。

つーか絵が上手い人はいいなぁ。
理想の雰囲気があっても俺はそれを表現できないからな。
0816あぼーんNGNG
あぼーん
0817名前は開発中のものです。03/01/20 17:17ID:qjSpPiA2
同じく、いきなりシューティングを作ろうとしてるんですが、
グラフィック的に頑張る余裕が無いので8dotサイズのキャラの
極小サイズシューティングにしますた。
でも調子に乗って敵機を大量に表示したら処理が重くなった。
0818名前は開発中のものです。03/01/20 17:19ID:qjSpPiA2
sage忘れた
すまん 許して
0819あぼーんNGNG
あぼーん
0820名前は開発中のものです。03/01/20 18:32ID:qyHfXg8P
>>809
 Dellか?(w

>>815
(´_ゝ`)フーン

>>qjSpPiA2
 氏ね
0821名前は開発中のものです。03/01/20 18:36ID:tgfV0fV6
リアルタイムゲーは
最終的に絶対DirectXが必要だから、
ZGPをはやいうちから使うべし。
HSPDXは回転、α合成がないのでやめたほうがいい。
0822あぼーんNGNG
あぼーん
0823( ´-`)y-~~~03/01/20 18:37ID:BR2J96hl
hsp2.6
だ め ぽ
0824名前は開発中のものです。03/01/20 18:41ID:YUkp8VS8
>>823
致命的なバグがまだあったとか?
完全移行しちまったんだが。
0825あぼーんNGNG
あぼーん
0826( ´-`)y-~~~03/01/20 19:00ID:BR2J96hl
>>824
いや、制御文をマクロで表現するようなワケワカラン仕様がやだなーと思っただけ。
俺はforマクロなんか気持ち悪くて気持ち悪くて使えん。
愚痴ですた。
0827名前は開発中のものです。03/01/20 19:04ID:LI5IDyec
>>821
今HSPDX使ってるんだけど、ZGPの方が良い?
使い勝手はどうなんだろ。
0828あぼーんNGNG
あぼーん
0829名前は開発中のものです。03/01/20 19:29ID:tgfV0fV6
>>827
2Dでしか使ってないが、簡単やし、多機能。
一回つかってみ、はまるよ。
0830名前は開発中のものです。03/01/20 19:38ID:LI5IDyec
結局2Dスプライトも3Dの描画能力に依存するんだよね?
オレのマシン、ボロイからなあ。どっかにZGPで作られた2Dゲームってないかな。
0831あぼーんNGNG
あぼーん
0832名前は開発中のものです。03/01/20 19:46ID:U8P/pR9l
>>830
サンプルにある。
あと月姫とかいうシューティングもたしかZGP
体験版やったけどびびった。
083379003/01/20 20:22ID:gO/C32W1
みなさん有難うございます。
実は昔ゲームプログラミングを趣味でやっていまして、その後小説書きへと
移行したのですが、HSPでのプログラミングを最近始めました。
次はawait 16でやろうと思います。
0834名前は開発中のものです。03/01/20 20:26ID:LI5IDyec
>>832
サンプルでも十分動いてるね。
月姫はウチのマシンでは動かんかった。あんがと。
0835あぼーんNGNG
あぼーん
0836名前は開発中のものです。03/01/21 01:17ID:a37FJ2M3
…ZGPを使い込んでる人です。
たまたまこのスレを見まして…

ZGPですが、わりと使えると思います。

ただ、バージョンが上がるたびに、
(今まで問題の無かった)どこかにバグが出てくるのは
勘弁して欲しいなー、と思います…。
0837実用に耐えない画像回転表示03/01/21 01:19ID:l5AYVmXm
#include "hspext.as"
angle=96 : fbit=8 : sx=0 : sy=0
screen 0,640,480 : mref vram1,66 : mw=winx : mh=winy
dialog "bmp",16 : if stat=0 : end
buffer 2 : picload refstr : mref vram2,66 : sw=winx : sh=winy
gsel 0
emath fbit : emcos cosA,angle : emsin sinA,angle
dw=sw*cosA-(sw*cosA<0*sw*cosA*2)+(sh*sinA)-(sh*sinA<0*sh*sinA*2)>>fbit
dh=sw*sinA-(sw*sinA<0*sw*sinA*2)+(sh*cosA)-(sh*cosA<0*sh*cosA*2)>>fbit
scx=sw/2 : scy=sh/2 : dcx=dw/2 : dcy=dh/2
repeat dh : y2=cnt : repeat dw : x2=cnt
x=x2-dcx*cosA-(y2-dcy*sinA)>>fbit+scx
y=x2-dcx*sinA+(y2-dcy*cosA)>>fbit+scy
y3=y2+sy : x2+=sx
if x>=0 : if y>=0 : if x<sw : if y<sh {
if x2>=0 : if y3>=0 : if x2<mw : if y3<mh {
memcpy vram1,vram2,3,mh-y3-1*mw+x2*3,sh-y-1*sw+x*3
}}
loop : loop
redraw 1 : stop
0838名前は開発中のものです。03/01/21 01:24ID:UdIO+TJb
>>836
作ったものを見せてほしいです。
0839名前は開発中のものです。03/01/21 01:29ID:a37FJ2M3
>>836 の 4つ上で紹介されました…

|))))))
0840あぼーんNGNG
あぼーん
0841名前は開発中のものです。03/01/21 03:13ID:/6BIC5KE
>>839
ヽ(´∀`)ノ ワーイ 作者サソだ〜
HSPであそこまでやった根性に敬服。

で、次の言語を決めかねてるようだけど
Del厨兼HSP厨の漏れはDelphiを勧めまつ。
OOPマンセー
0842あぼーんNGNG
あぼーん
0843名前は開発中のものです。03/01/21 07:17ID:e46NXxl1
 自弾の遅さがもっさり感を醸し出してるな。

 次あたり、カウンタと配列変数を組み合わせて、敵の出現を固定化するって
のはどうだろう。
0844836 ◆C6SeeSExNw 03/01/21 07:36ID:a37FJ2M3
>>841

>HSPであそこまでやった根性に敬服。

どうもありがとうございます。
使い始めた当初はマジ泣きました。
なんたって1+2*3=9ですからねえ。

それでもなんとかあそこまでできるようになりました。

Delphiは手元にv3 professionalはあるんですよ。
…ちょっと古すぎですか。
0845あぼーんNGNG
あぼーん
0846名前は開発中のものです。03/01/21 07:43ID:KIJo+GMc
>>836
タマタマというにはタイミング良すぎW
という突っ込みはしないけど
HSPスレ初めての口先だけでない実力者に感涙しますた
常駐きぼん
0847あぼーんNGNG
あぼーん
0848名前は開発中のものです。03/01/21 07:50ID:e46NXxl1
 ZGPってあれか、3D系のプラグインね。今ごろ思い出したわ。

 ちょっと古めのグラフィックボードだと、DirectX8のサーフェイスあたりの
バグに巻き込まれて劇重になってたけど、DirectX9では直ったと思われ。

 そか、ちょっといじってみるかな。
0849836 ◆C6SeeSExNw 03/01/21 08:04ID:a37FJ2M3
>>846

いや、本当に偶々ですよ、あんまし疑わないでクダサイ…(´Д`;)

ZGP自体は最近新バージョンが出たようで、
OpenGLを呼ぶこともできるようになったらしいです。

らしい、というのはまだ試してないからなんですが…。
というか、>>836で書いたとおりの理由で(新版はバグが増えてる事がままある)、
新しいバージョンのZGPをすぐさま投入するのには抵抗があります。
0850名前は開発中のものです。03/01/21 12:01ID:ivIZ2KOW
delphi勉強中(趣味)だが、HSPの知識は
ゲームとかのアルゴリズム以外ほとんど役に立たないことを思い知らされたよ…
つーかHSPでゲーム作るのって大変なほうなの?
エディターの問題な気がする。
0851名前は開発中のものです。03/01/21 12:33ID:RerC4SrX
>>850
構造体を素直に実装できないこと、
OOPチックなデータの取り扱いが難しいため、大規模なプログラムを書こうとすると漏れができること、
グローバル変数の管理がプログラムサイズが膨れ上がるにつれおざなりになってしまうこと、
再帰が直感的に実装できないこと。
一度書いた結果、このあたりがつらいと感じました。

一般的な話ですが、プログラムはモジュール化してdevide&conquerで仕上げるのが
もっとも習熟を必要とせず、また効率がよいので、
BASICライクなHSPの文法はなかなか辛いところですね。
0852名前は開発中のものです。03/01/21 12:37ID:T4uatCET
ZGPのバージョンが上がる度に弊害が発生する(らしい)というのではちょとコワイな。
hspdxだけでも十分ちゃ十分なんだけど、やっぱ半透明と回転があるのは魅力だよなー。
0853名前は開発中のものです。03/01/21 12:46ID:ivIZ2KOW
>>852
1806は安定してるんじゃない。
0854836 ◆.MgXVgU6KM 03/01/21 12:50ID:BJloHZDg
>>850
エディター、とは、付属のスクリプトエディタのことでしょうか。
個人的にはあのエディタ以上にデバッグのための機能が弱すぎる
ことが問題です。

フリーソフトで、Hot Soup Tasterっていうデバッガがあります。
ブレークポイントの設定もできる、そこそこ使えるデバッガですが、

大規模なプログラムのデバッグを試みるとプログラムが動く前に
HSPが落ちます。これはHSP側の問題じゃないかなと思いますが。
とりあえずアドレス貼っときます。
ttp://www.pcbsoft.net/

>>851
まったくその通りですね。変数管理の辛さは身に凍みて感じています。
0855836 ◆.MgXVgU6KM 03/01/21 12:59ID:BJloHZDg
>>853
うちで使ってるのは1806ですが、
sprparamにバグっぽいものが一つありまして…。

帰って来る速度値が正しい値になってないみたいです。

確証が取れてない&作者が最近までオフモードだったので
報告はまだしてませんが…。

あと、ZGPというと毎回のバージョンアップで発生する大きな仕様変更が…。

かつて、1702から180に乗り換えたときにZGPの仕様変更にあわせてコードを
書き直したのですが、仕様がかなり変わったため、大量のコード書き直しの
目に遭って泣きそうになりました…。
0856名前は開発中のものです。03/01/21 13:08ID:2+O12QMb
高機能の代償か…
でもサポートは結構しっかりしてるからいいよ。
0857あぼーんNGNG
あぼーん
0858( ´-`)y-~~~03/01/21 19:33ID:CWloMFR1
delerけっこういるのな。
0859名前は開発中のものです。03/01/21 22:32ID:gJ0HON3l
del6personal がタダだからだと思うよ。
同じタダならdelphiのがいいけど、HSPにもいいとこはあるから
漏れはどちらも使ってる派。

ところで >>836 サン、>>849>>854とでトリップが違うけど
>>854,855の方が正式かな?
0860836 ◆C6SeeSExNw 03/01/21 22:43ID:a37FJ2M3
>>859

正直どっちでもいいんですけど

# もういっこ使ってるトリップがあるのですが、冷静に考えるとちょっと痛いので
# こっちで。

いま、上に出てるやつを正式と言うことにしてください。

0861あぼーんNGNG
あぼーん
0862名前は開発中のものです。03/01/22 14:19ID:uv7hV8pk
ホリラー
0863あぼーんNGNG
あぼーん
0864名前は開発中のものです。03/01/22 15:40ID:WZUAWu5t
荒らしは飽きるということをしらんのかな?
生きがいなのかねぇ
0865あぼーんNGNG
あぼーん
0866名前は開発中のものです。03/01/22 15:52ID:XqTSheRT
ZGPでそれまであった命令がバージョン上がってなくなるのは痛かった
0867あぼーんNGNG
あぼーん
0868名前は開発中のものです。03/01/22 16:37ID:klmfDZer
BrainFuck 作ってみますた。バグあるっぽいけど。

D=winx:E=winy/2:K=$8000:sdim A,K:sdim B,K:dim I,256:objmode 1:mesbox A,D,E-10,5
objsize D,20:button"Go",*C:mesbox B,D,E-10,4:title"BF":stop:*C:F=0:H=0:L=0:M=0
sdim B,K:sdim G,K:J=-1:N=0:repeat:peek O,A,H:H++:peek P,G,L:if(O=0)|(N!0){break
}if O=93{M--:if M<0{N=1}if J!M{if P{H=I.M}}else{J=-1}}if O=46{poke B,F,P:F++
objprm 2,B}if O=91{I.M=H-1:if(J<0)&(P=0){J=M}M++:if M=256{N=2}}if(O=62)|(O=60){
L+=O-61:if(L<0)|(L>(K-1)){N=3}}if(O=43)|(O=45){P-=O-44:if(P<0)|(P>255){N=4}
poke G,L,P}if O=44{poke B,F,95:objprm 2,B:repeat:Q=-1:repeat 240:getkey R,cnt
if R{Q=cnt:break}loop:if Q<0{poke G,L,Q}wait 1:loop:poke B,F,0:objprm 2,B}loop
if N {H--:B+="\n\nErr"+N+"-"+H}else{B+="\n\nDone."}objprm 2,B:stop
086986803/01/22 16:41ID:klmfDZer
スマソ、>>868は間違い。

D=winx:E=winy/2:K=$8000:sdim A,K:sdim B,K:dim I,256:objmode 1:mesbox A,D,E-10,5
objsize D,20:button"Go",*C:mesbox B,D,E-10,4:title"BF":stop:*C:F=0:H=0:L=0:M=0
sdim B,K:sdim G,K:J=-1:N=0:repeat:peek O,A,H:H++:peek P,G,L:if(O=0)|(N!0){break
}if O=93{M--:if M<0{N=1}if J!M{if P{H=I.M}}else{J=-1}}if O=46{poke B,F,P:F++
objprm 2,B}if O=91{I.M=H-1:if(J<0)&(P=0){J=M}M++:if M=256{N=2}}if(O=62)|(O=60){
L+=O-61:if(L<0)|(L>(K-1)){N=3}}if(O=43)|(O=45){P-=O-44:if(P<0)|(P>255){N=4}
poke G,L,P}if O=44{poke B,F,95:objprm 2,B:repeat:Q=-1:repeat 240:getkey R,cnt
if R{Q=cnt:break}loop:if Q>0{poke G,L,Q:break}wait 1:loop:poke B,F,0:objprm 2,B
}loop:if N{H--:B+="\n\nErr"+N+"-"+H}else{B+="\n\nDone."}objprm 2,B:stop
0870( ´-`)y-~~~03/01/22 16:45ID:lCFUDwR3
ム板のクソスレで7行BFIを見た気がする
0871名前は開発中のものです。03/01/22 16:47ID:klmfDZer
BrainFuck リファレンス
> ポインタをインクリメント
< ポインタをデクリメント
+ ポインタが示すメモリ位置のデータをインクリメント
- ポインタが示すメモリ位置のデータをデクリメント
. ポインタが示すメモリ位置のデータを出力
, ポインタが示すメモリ位置のデータに入力
[ ポインタが示すメモリ位置のデータがヌルなら対応する]までジャンプ
] ポインタが示すメモリ位置のデータがヌルじゃないなら対応する[までジャンプ

例として '@' を書くとしたら
1.単純に64回インクリメントして出力
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
2.ループを利用して出力
>++++++[<++++++++++>-]<++++.
(1bite目を文字用、2bite目をカウンタ用とする。
 [〜] は、単純に言えば指定biteが0になるまでループする。
 この例だとまず2bite目に6回インクリメントして
 それをループカウンタに使用している。)
0872名前は開発中のものです。03/01/22 16:50ID:klmfDZer
>>870
コマンドラインから入力にすれば7行になりそうかも。
それにしてもレス早いなw

頭の体操にはもってこい ヽ( ´ー`)ノ
0873あぼーんNGNG
あぼーん
0874名前は開発中のものです。03/01/22 22:00ID:DGjj6H7z
だれかいい素材が置いてあるとこしらない?
アクションやSTGにつかえるようなの。
0875( ´-`)y-~~~03/01/22 22:47ID:GfCkIG6l
モナー板。
0876名前は開発中のものです。03/01/22 23:37ID:4ffgTA0G
>>875
ふーん
0877836 ◆C6SeeSExNw 03/01/22 23:48ID:pWRc/ekY
>>874

ググってみましたが見つからない。

RPG系の素材なら簡単に見つけられますが、
アクション系は無いですねえ。

>>875
AAを素材にしろと…。

面白そうではあります。
0878名前は開発中のものです。03/01/23 00:10ID:4FiZUY4J
>>877
そうですか…
自分もくぐってはみたのですが、やはり見つかりませんでした。
自前の目をつぶってかいたような絵を使うしかないかな。
0879名前は開発中のものです。03/01/23 00:50ID:yuzj6bDT
知り合いに書いて貰えばいいんでないか居?
0880あぼーんNGNG
あぼーん
0881名前は開発中のものです。03/01/23 01:28ID:t0ttDdw5
おい、ぐぐったら1ページ目に出てきましたよ?
おまいらが求めていたものなのかは知らんが

自作ゲームに使った素材を出来る限り公開します。
もちろん使用はフリー! どんどん使って下さい。

だとさ。アニメーション用の画像もあった
0882名前は開発中のものです。03/01/23 01:44ID:5HxS3L/r
>>879
ゲームに使うからかいてくれなんて頼みずらいわな。

>>881
どこどこ?
0883名前は開発中のものです。03/01/23 02:39ID:Ul3qab9B
>>881
まんま検索したらあったよ。でもちょっとな…
ここ以外ほんとに全然ないなぁ。
0884名前は開発中のものです。03/01/23 02:48ID:JbkL70jD
ゲームを作るための素材を集めよう!
http://game.2ch.net/test/read.cgi/gamedev/1015059429/l50
◆-CardWirth-名も無き素材屋の集まるスレ◆
http://game.2ch.net/test/read.cgi/gamedev/1021737435/l50

一応この板で「素材」関係のスレ
0885名前は開発中のものです。03/01/23 14:15ID:SCQ7sK5k
ゲームの画像って整理するの大変だよな。
拡大してちまちま移動したりさ。
おまいらどうしてますか?
■ このスレッドは過去ログ倉庫に格納されています