HSP - Hot Soup Processor [15]
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。
2007/06/03(日) 14:49:29ID:15sfFksi.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
0905名前は開発中のものです。
2007/12/04(火) 17:21:26ID:/uYf3wz+0906名前は開発中のものです。
2007/12/04(火) 19:44:52ID:gBG9dFyY0907名前は開発中のものです。
2007/12/05(水) 06:17:32ID:lcXjXoG6HSPでも、しかも個人でこんなん作れんだな…。
0908名前は開発中のものです。
2007/12/05(水) 15:33:53ID:a4JAzE+S0909名前は開発中のものです。
2007/12/05(水) 20:59:01ID:bC8Q8nhy01 #const global 短細 200
02 #enum 短細赤 = 短細
03 #enum 短細青
04 #enum 短細紫
05 #const global 短細X 9
06 #const global 短細Y 17
07 #const global 短細HX 短細X>>1
08 #const global 短細HY 短細Y>>1
09 ;cx cy キャラクター位置情報
10 #module
11 #deffunc CreateShot int seed, int tone
12 es_exnew temp@,SHOTMIN@,SHOTMAX@
13 if temp@!-1 {es_set temp@,cx@+(CHARSIZE@>>1)-(17>>1),cy@+(CHARSIZE@>>1)-(19>>1),seed+tone,1
14 es_adir temp@,0,300
15 es_effect temp@,-短細X@,-短細Y@,0,0,0,-1,120}
16 return
17 #global
18 getkey Lclick,1 ;1=左クリック メインショット
19 if Lclick=1{
20 if time\7=0{CreateShot 短細,紫}}
(暫定版のため@使いまくりですが)弾を撃つ処理を分離しようと、
このようにしました。この状態では正常に動きます。
CreateShotに渡す値を少なくするため、15行の[-短細X@]を[int seed]+"X"のようにしたいのですが、
変数と文字列を組み合わせて別の変数を表現するにはどのようにすれば良いのでしょう。
また、11行の[int seed]の型をvarやstrに変更すると、
[変数名が指定されていません][パラメータの型が違います]とエラーになります。
正しくはどのようにして変数そのものを#deffuncに渡すのでしょうか。
0910名前は開発中のものです。
2007/12/05(水) 22:45:38ID:K436r62/0911名前は開発中のものです。
2007/12/06(木) 00:10:11ID:qSs1w1gN定数だらけのヘッダファイル作るのに夢中になったり。
0912名前は開発中のものです。
2007/12/06(木) 00:27:59ID:KiV3W5xi#enum piyo
#enum hogehoge
#enum piyopiyo
#enum hogepiyo_NUM
0913名前は開発中のものです。
2007/12/07(金) 14:08:31ID:mg2ieWXfで、最初のセーブポイントまで行ったんだけど
あとどんくらいあんだろ。
0914名前は開発中のものです。
2007/12/07(金) 19:48:27ID:GQ6f/h7s弾避けきれねぇ
0915名前は開発中のものです。
2007/12/07(金) 21:14:26ID:pM1AseVA0916909
2007/12/09(日) 14:37:00ID:3wKIuCo+変数じゃなく定数使ってりゃ、そりゃエラーも出るってもんですよorz
0917名前は開発中のものです。
2007/12/11(火) 01:05:12ID:cYZs38Z60918名前は開発中のものです。
2007/12/11(火) 07:15:58ID:KBSUdSoO敵の攻撃よけきれない。
0919名前は開発中のものです。
2007/12/12(水) 17:07:07ID:zNz3LzhJ文字列検索したあと、「終わりまで検索しました」のダイアログのOKボタンを押さずに
検索ダイアログのキャンセルボタンを押すと
それ以降ショートカットキーのコピーペーストが使えなくなりますよね?
0920名前は開発中のものです。
2007/12/12(水) 17:21:05ID:t/BeUhWD0921名前は開発中のものです。
2007/12/12(水) 21:07:06ID:ht45cGReOK押してね^^
0922名前は開発中のものです。
2007/12/13(木) 23:58:02ID:j8Wrdo5/フルスクリーンのゲーム作るならアスペクト比固定に対応した方が良いのかしらん。
安い液晶は問答無用で引き延ばすからボケボケ縦長横長当たり前…。
GeForceならアス比固定してくれるみたいだけど。
http://niisaka.s33.xrea.com/application1.html
こういうのもあるがちょいパワーが必要か。
0923名前は開発中のものです。
2007/12/14(金) 00:38:47ID:dj5v5Q63少し前のSXGAはごく一部の上級機種以外にはほぼついてないからね。
気になるなら対応してもいいと思うけど、拘る人はちゃんとしたモニタ
持ってると思うし、手間かからないならやってもいいのでは、程度の認識。
0924名前は開発中のものです。
2007/12/14(金) 18:33:08ID:DMjpooy+昔はワイド環境用には画面の左右を切って対応していたけど
今なら非ワイド環境用に上下を切って対応した方が賢いかな?
0925名前は開発中のものです。
2007/12/14(金) 19:36:19ID:hJHly0FKアス比固定は普通になるか、
コスト削減で削られるのが普通になるのか、それが問題だ('A`)
ttp://www.stream.co.jp/file/071016%20%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E8%AA%BF%E6%9F%BB%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E6%9C%80%E7%B5%82.pdf
これによるとワイドはまだまだ1割にも満たなそうだけど…。
0926名前は開発中のものです。
2007/12/14(金) 21:03:57ID:Y7SUk6fP0927名前は開発中のものです。
2007/12/14(金) 22:25:12ID:DMjpooy+詳細な情報thx
縦横比はちょっとわからんけどそろそろ800×600以上のゲームにした方が
ウィンドウモードのときに見易そうだな。
0928名前は開発中のものです。
2007/12/15(土) 00:18:24ID:lXsZ21lBピクセル倍角で表示してくれるのが嬉しい。
ただフルスクリーンSVGAはノベルゲーくらいしか無いけど…。
2Dシューティングとかだとあまり解像度高くする意味ないんだよなー。
0929名前は開発中のものです。
2007/12/15(土) 02:46:24ID:MvVbZutR左右が緩慢になる。やって見れ。
その点、ワイドは良いぞーw
0930名前は開発中のものです。
2007/12/16(日) 20:21:05ID:WvRrqB1H3.14と-3.14の境目で、逆周りしてしまいます、何か良い方法はありませんでしょうか
sx = 320 : sy = 240 : vv = 100 : r = 0. : sa = 0.3
repeat
redraw 0 : color : boxf : color $FF : circle sx-vv,sy-vv,sx+vv,sy+vv,0
k = atan(mousey-sy, mousex-sx)
if k < r : r-=0.1
if k > r : r+=0.1
si = sin(r)*vv : co = cos(r)*vv
ex = sx+co-8 : ey = sy+si-8
pos ex,ey : mes "●" : title ""+k
redraw 1 : await 30 : loop
0931名前は開発中のものです。
2007/12/16(日) 20:37:42ID:b9Adh+YR高校か中学でならった気がする
一番いいのは両方の弧を求めて短い方へ加算するとか
1r=6.28...だから・・・面倒だからおやすみ
0932名前は開発中のものです。
2007/12/16(日) 20:52:11ID:Ds2i6dLxpi = 3.14159
repeat
redraw 0 : color : boxf : color $FF : circle sx-vv,sy-vv,sx+vv,sy+vv,0
k = atan(mousey-sy, mousex-sx)
if k < r {
if absf(k-r) > absf(k+pi*2-r) : r+=0.1 : else : r-=0.1
}
if k > r {
if absf(k-r) < absf(k+(pi*-2)-r) : r+=0.1 : else : r-=0.1
}
if r>pi : r-=pi*2
if r<-pi : r+=pi*2
si = sin(r)*vv : co = cos(r)*vv
ex = sx+co-8 : ey = sy+si-8
pos ex,ey : mes "●" : title ""+k+"/"+r
redraw 1 : await 30 : loop
整理してないけどこんな感じで出来た。
・k<rの時は、rは[k]と[k+6.28]のどちらに近いかを見てから動く方向を決める
・rは-3.14〜+3.14の範囲でなければならないので、その範囲を越える時に値を修正
0933名前は開発中のものです。
2007/12/16(日) 21:56:42ID:WvRrqB1H>>932さん スクリプトまでありがとうございます。完全に理解してから、1から自分で作ってみますね
0934名前は開発中のものです。
2007/12/16(日) 23:35:08ID:ggPoGXjy0935名前は開発中のものです。
2007/12/17(月) 22:55:58ID:A/ypbX8Y0936名前は開発中のものです。
2007/12/17(月) 23:08:22ID:7qWX1ua80937名前は開発中のものです。
2007/12/17(月) 23:20:47ID:54OVpqO60938名前は開発中のものです。
2007/12/18(火) 00:21:50ID:JiZHlzdy自分で判り易い分には良いけど
デバッグ頼む分にはどうか
0939名前は開発中のものです。
2007/12/20(木) 20:07:00ID:8fWDOPb0シューティングはいまだにやってる。
0940名前は開発中のものです。
2007/12/21(金) 14:10:59ID:PFL7atuH0941名前は開発中のものです。
2007/12/21(金) 21:18:24ID:0X1mddE70942名前は開発中のものです。
2007/12/27(木) 09:22:41ID:uTvWfjww0943名前は開発中のものです。
2007/12/28(金) 19:03:40ID:0p+0Zq/X0944GENKI ◆egg9C1N/RA
2007/12/29(土) 02:32:00ID:wey+ktO0ゲーム用モジュールを作っているのですが、自分では今の仕様が使いやすいかどうかわかりません。
おひまのある方で結構です試してみていただけないでしょうか。
それほど難しいモジュールではありません。サンプルついてますし。
ジョイスティック情報取得モジュールVer0.4β
ttp://homepage3.nifty.com/ghpk/dl/data/test040b.zip
おべっか必要なし。辛口コメントや要望、指摘を希望です。遠慮なくどうぞ。
0945名前は開発中のものです。
2007/12/29(土) 10:19:20ID:DQBM2oJX0946名前は開発中のものです。
2007/12/29(土) 11:09:17ID:6lHWX84I0947名前は開発中のものです。
2007/12/29(土) 20:51:30ID:CR+77d7Hマジフィー2なんかも心打たれたよ。すごい完成度だ
0948名前は開発中のものです。
2007/12/29(土) 21:15:48ID:lV+k/pL20949名前は開発中のものです。
2007/12/30(日) 08:46:27ID:tQu8wWYvhspdxfixの命令、
具体的にはes_effectを使って画像を回転させると画像が荒くなりがちですが、
これにうまくアンチエイリアスをかける方法はありませんか?
es_d3doptはどうも使い物にならず、
今試しているのは、あらかじめ倍角で画像を読み込んでおいて、
使うときに縮小するというものなのですが、どうもうまくいかない。
なにか良い方法はありませんか?
0950名前は開発中のものです。
2007/12/30(日) 12:35:00ID:2Gybvfhe>>614で出てる話だけど
自分の環境でもhmmでDirectGraphics若しくはDirectDrawを使って
ウィンドウモードで(フルスクリーンでも?)60fps出そうとすると
CPU使用率がほぼ100%になるという問題が出る
マニュアルによればDDRENEWALTIMINGもしくはDGRENEWALTIMINGで
fpsを設定してawaitは0にしておくのが普通みたいだけど
それだとfpsが10でもCPU使用率は100%になってしまう
(その代わり60を大きく超えるfpsでも出せるけど)
で、CPU使用率を低く抑えて、且つ大体60fpsを出すには
DDRENEWALTIMINGもしくはDGRENEWALTIMINGを66以上に設定して
awaitを1〜15にすれば64fpsで安定して且つCPU使用率も小さくて済む
66以上と言ったけどもっと大きい方がCPU使用率はより小さくなる
(80ぐらいだと10%前後で済む)
それとこれはハードウェア環境の問題だろうけど
DirectDrawの場合システムメモリにスクリーンを確保しないと
await 0でも30fpsぐらいしか出ないのでビデオメモリには確保しないのが無難?
何でこうなるのか理屈が分かる人がいたら教えてください
RENEWALTIMINGで設定するfpsが65以下か66以上かで
何で急激にCPU使用率が変わってくるのか素人にはさっぱりです
0951名前は開発中のものです。
2007/12/30(日) 12:51:22ID:2Gybvfhe要するにRENEWALTIMINGで設定された画面更新のタイミングが
awaitの待ち時間によって決まるfpsよりある程度
大きくないといけないっていう話か
まあそれでも理屈がよく分からんことに変わりはないけど…
それとDirectDrawの方はDDSETRENEWALTIMINGだった
0952名前は開発中のものです。
2007/12/30(日) 19:26:16ID:bHGmqU5O他のプラグイン使った方が無難かも
>まあそれでも理屈がよく分からんことに変わりはないけど
ヒント awaitをwait 1に変更してみる
0953名前は開発中のものです。
2007/12/31(月) 14:41:04ID:uqGW1uWKスペルミスチェックするツールすでにある?
ないならちょっとがんばろうと思う。
今考えてるところでは
/*- -*/
でのコメント欄に変数宣言して、そのなかで宣言してない変数の一覧を出力みたいな?
ドッキング勉強したいしがんばるか。
0954名前は開発中のものです。
2007/12/31(月) 23:52:17ID:dHBfyhWi0955名前は開発中のものです。
2008/01/01(火) 20:12:15ID:+HA6faU/0956名前は開発中のものです。
2008/01/01(火) 20:46:10ID:q3A3Kncbお前がした
0957名前は開発中のものです。
2008/01/01(火) 22:48:27ID:PoYB7Bmr0958名前は開発中のものです。
2008/01/02(水) 15:29:21ID:CAuP43ZD0959名前は開発中のものです。
2008/01/06(日) 12:28:47ID:558D6nxB最低でもVBのoption explicitみたいなのは必要
0960名前は開発中のものです。
2008/01/06(日) 14:07:31ID:QxJGLk5sしかも大文字小文字無視と来たもんだ
定数値と間違えた日には死ねるorz
0961名前は開発中のものです。
2008/01/06(日) 14:20:38ID:vCJ/osFjデバッグウィンドウ(HSP2.61)見てたら
"いいえ"が変数扱いになっててビビった
0962名前は開発中のものです。
2008/01/09(水) 21:30:17ID:+3wJqr9/0963名前は開発中のものです。
2008/01/09(水) 23:25:25ID:5+ag7OK20964名前は開発中のものです。
2008/01/09(水) 23:33:01ID:bhrAN+0n0965名前は開発中のものです。
2008/01/10(木) 15:36:06ID:Lu4pbHKTHentai Soap Programmer
0966名前は開発中のものです。
2008/01/11(金) 00:30:20ID:0ejzkKv8おにたま&HSPが基礎教育からやり直すってなら分かるが
0967名前は開発中のものです。
2008/01/11(金) 03:04:32ID:vosWY7VY0968名前は開発中のものです。
2008/01/11(金) 08:11:20ID:D5dnTgrJ0969名前は開発中のものです。
2008/01/11(金) 08:56:57ID:RvXw78v+0970名前は開発中のものです。
2008/01/12(土) 00:15:08ID:tufDHHvI0971名前は開発中のものです。
2008/01/12(土) 00:35:20ID:krX3jaVC0972名前は開発中のものです。
2008/01/12(土) 05:17:15ID:fzL7YWa80973名前は開発中のものです。
2008/01/12(土) 07:43:18ID:JiiftO5u0974名前は開発中のものです。
2008/01/12(土) 21:15:50ID:fzL7YWa80975名前は開発中のものです。
2008/01/13(日) 11:01:59ID:MRgbeXMH0976名前は開発中のものです。
2008/01/13(日) 23:45:42ID:7L+IDmZo変数名の被りを気にせずに
コードの流用・汎用化がしやすくなる便利な機能。
0977名前は開発中のものです。
2008/01/14(月) 21:56:18ID:bMEXsQCt大規模なプログラムを書いてる人はどうやってるん?
モジュールでカプセル化みたいなことしてやってんの?
0978名前は開発中のものです。
2008/01/14(月) 21:56:43ID:bMEXsQCt0979名前は開発中のものです。
2008/01/14(月) 22:43:03ID:tIg7IkW+一万行も行ってないが、コードが7ファイルあるぞ。
対戦型のシューティングを作っている。
・定数の管理&配列の宣言
・画像の読み込み
・新規命令*2
・キーコンフィグ
・スクリプト(HSP自体スクリプトだが、ニュアンスで)
・メインループ(スクリプト呼び出し用)
(実際はここまで纏まっているわけじゃない。
それから、演出やゲームとしての体裁のために、ファイルはまだ増えると思われ)
自分自身に要望書出して、それを仕様化して堅実にやるといい。
要望に変化があったら、仕様書付きあわせて検証。
どうしても必要なら仕様変更。
古いバージョンは古い仕様書と一緒に保存。
多少でも日記つけると、記憶の引き出しになって便利。
肩肘張らないでいい。ほんの数行書いとくだけで役に立つ。
0980名前は開発中のものです。
2008/01/14(月) 22:49:11ID:tIg7IkW+読み込んだ画像をキャラ番号と一緒に収めたhtml。
画像に関しては、見えるのと見えないのとでは大違い。
一人デスマーチをやりたくなきゃ、コード書く以外に手間をかけるといい。
銀の銃弾なんてないんだから。
0981名前は開発中のものです。
2008/01/14(月) 23:41:07ID:X5QwwYQcサイズもコードだけで350kb以上はある
1/3以上はコメントだと思うけどね
でもいまだに完成せずorz
古いバージョンについては少し前まではzipでアーカイブしていたけど今はSubversionで管理している
コミットするときに変更点を必ず書いて何を変更したかを意識するようにしている
> 自分自身に要望書出して、それを仕様化して堅実にやるといい。
> 要望に変化があったら、仕様書付きあわせて検証。
> どうしても必要なら仕様変更。
俺も似たような先に仕様をやテストコードを先に書くってのを良くやっている
> 一人デスマーチをやりたくなきゃ、コード書く以外に手間をかけるといい。
これ同意、格言じゃないけど「昨日の自分は今日の他人」ってのがよく聞くはなし
0982名前は開発中のものです。
2008/01/15(火) 10:07:58ID:zLtxA4xN0983名前は開発中のものです。
2008/01/15(火) 14:04:26ID:j8nnYaT10984名前は開発中のものです。
2008/01/15(火) 14:26:40ID:yV0GVneMクラスみたく書けるか?と…
#module Character
#deffunc chara_init int num
dim hp, num
dim hp_max, num
dim mp, num
dim mp_max, num
.
.
.
return
#defcfunc chara_get_hp int num
return hp(num)
#deffunc chara_set_hp int num, int set
if (set < 0) || (set > 100) : return
hp(num) = set
return
.
.
.
#global
こんなふうに書き始めたわけだが、
逆にソースがぐちゃぐちゃになってきた件についてorz
なんか効率的なデータの取り扱い方ってねぇかな……。
というか、俺ってモジュールの使い方間違ってるのか?
0985名前は開発中のものです。
2008/01/15(火) 21:54:37ID:1VzzpJhS一番大きいのでも500行もなかった。ウィンドウ分割できないからあんまり長くすると手におえないんだよね。
で、その内モジュール用に作ったファイルが8個、残りはGOSUB〜RETURNのサブルーチンと、メインのスクリプト。
ファイルの管理はHSEDSourceManager使ってる。
ちなみに、ちゃんと完成させた。
>>977 サブルーチンのファイルはincludeで連結な。
みんなわりとちゃんと仕様書かいたりメモ残したりしてんのな。
俺はその辺ちゃんとしてないから変数がわけ分からなくなることしばしば。w
0986名前は開発中のものです。
2008/01/16(水) 03:56:29ID:y2oSYM0J規模が大きくなると途端に苦しくなる
この点は将来のバージョンでも改善される可能性は多分ないから
嫌気がさしたら他の環境に移行するという手もあり
レス数が950を超えています。1000を超えると書き込みができなくなります。