- 1 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 22:35:08 ID:E0eCgjhQ]
- ( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について ( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。 , -──- 、 (,;::-──-; )-、 .|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事 l; :::;;;l-' / * ヲチ、ネタなどはスレ違い ,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり ヽ ──── ' ONION software (本家) www.onionsoft.net/
- 836 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 22:02:25 ID:B/mb8Q1D]
- >>832
まあ結局>>833の言うとおりなんだけどな。 生ttfをゲームに同梱して配布するのはかなりやばい。 内部にBMP化してフォントを内蔵するのも、それなりにやばい。 一枚絵の中に文字が入っている、程度ならあまりやばくない。 また、大抵の場合、フォントを内蔵したワープロソフトみたいな 「フォントを"フォント"として取り扱う形態で配布」すると問題が大きくなる。 (注:ゲームには無関係のように見えるが、よくある「名前を入力する」部分が ワープロ的だと見なされる場合がある) やばいなと思うなら、フォントを内蔵せず、OSのフォントを呼び出すだけにしておいたら安全確実。 一枚絵の中に文字が含まれている、程度ならまあ大丈夫。 何万と売りさばく事が前提なら、何れにしろきちんとライセンスを取っておくこと。
- 837 名前:名前は開発中のものです。 [2007/05/07(月) 22:03:17 ID:PZ9SZ2Mt]
- >rnd R,3
↓ R=rnd(3) HSP2の頃のサンプルを使うなら HSPエディタの有るフォルダに index.htmってのがあるから その中の ・以前のバージョンからの変更点(アップデートガイド) (update.htm) これを一度見といた方がいい
- 838 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 05:43:06 ID:vruKdlwD]
- クォータービューのACTやSTGの、当たり判定は矩形のまま行っているの?
それとも、クォータービュー用(?)定番アルゴリズムとか、あるんでしょうか
- 839 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 10:53:15 ID:8GDuzc4l]
- 別に矩形で良いんじゃないの
何か問題?
- 840 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 16:45:06 ID:GV3ApysF]
- >>835
>>837 これでやっと先に進めます! アップデートガイドの存在には気がつきませんでした。 今後は活用したいと思います。 ありがとうございました。
- 841 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 23:45:41 ID:tONREbU4]
- 関数タイプになって
pos rnd(639) , rnd(479) みたいな記述ができて楽になった gcopy 1,200+(80*rnd(3)),0,80,90
- 842 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 20:52:30 ID:VSNS2raa]
- HGIMG3のモデル領域は開放できない?
オブジェクト領域はできるらしいんだけど エロイ人ご教授ください
- 843 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 23:53:51 ID:07ufZ3sL]
- >>838
クォータービュー用定番アルゴリズムなんてものはない!ゲ製作はいまだに職人 の世界だっ!師匠の指裁きや筆遣いや寿司ネタの握り方を見て技術を盗むんだよ。 定番のアルゴリズムは講座や本読めば買いてあるだろう。しかしクォータービュー だとか、ちょっと凝ったやつになるとどうだ。ブツを見てどんなアルゴリズムなんだろう な〜と想像するしかない。ブラックボックスってやつだね。でもゲ製作ってそういう もんじゃね?ゲーム見て「これってどうやったらできるんだろう」って思う。そしてその 方法を考える。「ああこうやればできるや」って思えば技術の向上だ。 俺くらいの中級者になるとざっと考えるだけでこんだけ出てくるぜ。 ・>>839に同じ。矩形。 ・円ならもうちょっとマシなんじゃないか。 ・ひし型の当たり判定その1。三角形2つと四角形1つに分ける。三角形は斜めに なった四角形の判定でできる。 ・ひし型ってのは長方形が上に行けば行くほど右にずれてるってことだ。そこから 導かれる計算式は? ・計算的にはまっすぐなスクロール。表示する時だけ斜めにする。
- 844 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 00:20:36 ID:2z4zuSSr]
- つーか、クオータービューとか関係なく、辺り判定したいキャラの形が問題なんじゃね?
- 845 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 00:34:29 ID:J9txepzh]
- よっぽど巨大で複雑怪奇な形でもない限り矩形で問題ないが
- 846 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 04:35:42 ID:U2vxhvV7]
- えー?
ていうか、クォータービューって単に表示上斜めってなってるだけだから 内部処理では普通のSTG等と同じ事やってて、 表示だけ斜めにするんじゃねーの?
- 847 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 06:59:01 ID:+xzQXwZO]
- いや、その理屈は正しい
- 848 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 14:06:21 ID:IknmfbEQ]
- あ?
3Dでやるの?
- 849 名前:名前は開発中のものです。 [2007/05/10(木) 21:03:24 ID:tEu0m8/u]
- 質問なんですがゲームで2人対戦を作るとき、
キーボードを二つパソコンにつないで同じボタンを押しても 1Pが押したのか2Pが押したのか分かるやりかたを教えてください。 お願いしますm(__)m
- 850 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 21:54:52 ID:J9txepzh]
- それは無理だろ
- 851 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 22:00:18 ID:Pb7a8JUW]
- 環境がSFCなら出来るんじゃね?
- 852 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 23:03:11 ID:lvPcrjF3]
- >849
やり方があるのかどうかは、知らないが。 キーボードを二つ接続したPC環境を構築している人間は、少数派だろうから、 そのゲームを一般に公開するつもりなら、別の操作系を考えるのが賢明だと思う。 自分や仲間内だけで遊ぶゲームなら、その限りではないけど。
- 853 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 03:18:16 ID:iitxNH6p]
- >>849
2人以上ならゲームパッド(ジョイバッド?)を使うのが普通だろうね。 パッドvsパッドかパッドvsキーボード。 というかそもそもキーボードはゲームにむいてない。一般のキーボードはほとんど2〜3キーロールオーバーだから。 あ、マウスvsキーボードって対戦もありか。w
- 854 名前:849 [2007/05/12(土) 09:38:38 ID:CHidITY3]
- そうですか…無理ですか…ありがとうございました。
- 855 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 11:00:15 ID:IIhlPIBe]
- つーか、その環境持ってるor調べようと思う奴が少ないからな。
今の時代パソコン2台でネット対戦にした方が早い気もするし。
- 856 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 11:31:45 ID:BKWL2B2V]
- 国内で最も使われてるフリーな環境はHSPですか?
- 857 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 11:42:17 ID:9cDQPoon]
- 昔、PC-88mkIISRというパソコンがあって、それにキーボード端子が2つ付いてた。
友人の家にキーボード持っていって実際に試したけど 両方のキーを受け付けて、判別はできなかったな。 マウスVSキーボードも、対戦マインスイーパー作って試してもらったんだけど 圧倒的にマウスのほうが操作早くて、公平なプレイにならなかった。 まぁ、パッド2つが無難だろう。
- 858 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 15:11:32 ID:tMkY9b8/]
- 88SRって端子二つあったっけ
おぼえてねー
- 859 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 20:47:05 ID:LoRPkVYn]
- >>856
何に使われてる環境だ?
- 860 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 23:28:26 ID:tMkY9b8/]
- ミサイル弾道計算じゃね
- 861 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 23:29:58 ID:qzFNDBxk]
- >>855
確かに、俺も対戦ゲーム作る時は、普通にLAN対戦にするだろうな。 そっちの方が楽だろう。
- 862 名前:名前は開発中のものです。 mailto:sage [2007/05/13(日) 01:01:01 ID:8A9djd1g]
- >>854
XP以降限定だけど、WM_INPUTでHIDの生データ取れば実現できるんじゃね? 試してないけどさ
- 863 名前:名前は開発中のものです。 [2007/05/14(月) 00:05:11 ID:bOzJ10Yl]
- マウスホイールの操作で画面スクロールさせようと思ってるのですが
mousewの使いかたがよくわかりません。。。 どうすればいいですしょうか?
- 864 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 00:26:20 ID:uwtqYVSD]
- mousewはスクロールされると-120とか120という値が取得できます
// 画面の高さ y = 0 *main // 一時保存 // -1は情報が±が反転してるから mw = mousew*-1 // もし動いたなら if ( mw != 0 ) { // その数値を加算 y = y+mw // 調整 if ( y < 0 ) { y = 0 } if ( y > ginfo( 13 ) ) { y = ginfo( 13 )-20 } } // 描画 redraw 0 color 255, 255, 255 : boxf color 0, 0, 0 : boxf 0, y, ginfo( 12 ), y+20 redraw 1 // 待機 await 10 goto *main
- 865 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 01:07:27 ID:ecV+XOk6]
- mousewって、積算型じゃなくて一度値を参照すると中身がリセットされるんだよな。
しかも、スクロールホイールを2回動かす間にmousewを一度しか参照しなかったら、 前の1回分は破棄されるというふてえ仕様だ。 あたまわるいmousewのために高頻度でポーリングするのも余計な負荷なので、 WM_MOUSEWHELLを捕まえて内部カウンタを積算したほうが便利よ。
- 866 名前:名前は開発中のものです。 [2007/05/14(月) 01:10:27 ID:bOzJ10Yl]
- >>864
おおぉーできました!ありがとうございます。 ifの判断でmousewをそのまま使ってたのがダメだったみたいです・・・。
- 867 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 19:39:39 ID:bUJYvT5N]
- 5年使ってたノートが壊れたので新しいノートを買ってきた。前のは20万。今度のはノート
としては最底辺の10万だ。んで自作ゲームを動かしてみた。ひど!微妙に遅い。いや それよりももっとひどいのがMIDI。うわ!安物のPCだとこんなふうに聞こえるんだあ。 いくつかの楽器がまともに鳴ってない。あるいは完全に鳴ってない。 5年もたってるんだぜ!?いくら安くても進化しててよくね?みんな!これからはmp3だよ! サイズが大きいのは嫌だって奴のためにMIDI版も自分のサイトに用意しといて、俺の サイトまで来いと。 てか速度が遅いのはいかんともしがたいなあ。これじゃあだめだ。みんな!俺はゲ製作 から撤退するよ。今まで有難う!そしてさよーおならー!ブッ!シネ! それかawait 16からawait 32に変えるか。
- 868 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 19:42:30 ID:zgcv7AfZ]
- MIDIが酷いのはPCのせいじゃねえw
- 869 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 20:04:55 ID:8OHbs/4R]
- つーか、ぶっちゃけ音質悪くても昔のファミコンのBGMの方が記憶に残ってる件w
- 870 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 20:19:48 ID:gxCU6qzs]
- 釣りだよね?
釣りじゃなったとしたら子供だよね?
- 871 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 20:41:16 ID:2MGniMoO]
- うむ。
いくら10万円でも5年前の20万円よりはスペック上だと思うのだが、 一体何があったのだ。。 10万も出してスペックダウンするくらいなら ショップブランドのデスクトップ型にした方が良かったんじゃないか。
- 872 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 21:13:38 ID:jKbLwa2+]
- スルー力を君らに
- 873 名前:名前は開発中のものです。 [2007/05/14(月) 21:26:36 ID:qusRFGjc]
- >>867
何が原因で遅くなってるか調べたか? ゲームが遅くなってるだけで、タスクマネージャのCPU使用率は50%ぐらいとかねーか? つーか、OS,CPU、グラボ、メモリの違いも検討しないで買ったのかよ・・・
- 874 名前:名前は開発中のものです。 [2007/05/14(月) 23:39:40 ID:qQM3DdCm]
- >>867
マジレスすると、 5年前+20万=Win2000が快適に動く 今+10万=VISTAがぎりぎりで動く とかじゃね?
- 875 名前:名前は開発中のものです。 mailto:sage [2007/05/15(火) 00:26:10 ID:xiOfuS6M]
- hsp2.6とhspdxfixでゲーム作ってるんだけど。
midiを演奏すると一瞬画面が止まります。 hsp以外の言語でもmidiファイルを演奏すると画面が止まりますか?
- 876 名前:名前は開発中のものです。 mailto:sage [2007/05/15(火) 00:48:18 ID:QwlCZrR2]
- いまどきmidiデータなんぞ止めてオーディオデータを使いましょう
- 877 名前:名前は開発中のものです。 mailto:sage [2007/05/15(火) 01:12:07 ID:FWjCeTAz]
- >>875
たぶんhmmとか使えばおk
- 878 名前:名前は開発中のものです。 [2007/05/15(火) 01:29:42 ID:OAuZRVq8]
- >>875
再生に使ってるデバイスの問題 初期化に時間が掛かる(WinXPだと特に遅いと聞いた) 言語自体の問題じゃないよ HSP3ならmciのMPEGVideoで再生開始速度が 早く出来るけど2はどうだろ?
- 879 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 11:58:40 ID:zA3GpFnY]
- まーしかし876に同意。
BGMがMIDIのゲームは嫌われたりするし、俺の環境ではミュートしちゃってる。 内蔵のソフトシンセなんて、どっちにしてもデータ作成者の意図どおりには鳴らんし。
- 880 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 20:41:40 ID:SejtJ/t7]
- >>876
すみません、オーディオデータってのが何なのかよく解りません。 AVI形式のことですか?無知ですいません。
- 881 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 21:20:22 ID:SzL9MSMh]
- wavとかじゃね?
- 882 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 21:22:09 ID:6BjJtGUs]
- jpgだよ。
- 883 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 21:26:40 ID:jv4GiZ2g]
- MOD最強
- 884 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 22:09:20 ID:6XNIRCTA]
- マジレスするとrarのこと
- 885 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 23:49:37 ID:FVllaHtw]
- >>880
四の五の言わずググれ。理解が深まるしそっちが早くて正確。 加えて話の流れも読むとより理解が深まるとおもうぞ。MIDIと対になってるだろ? >>876,879 理解はできる。理解はできるが、ファイルサイズを気にしてしまう悪習慣がぬけないんだ。 つい、ね。
- 886 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 01:11:36 ID:k6rYSu8+]
- つーか、曲自体の出来がアレなのに、音源・音質ばっかり凝ってるのもイランけどな。
- 887 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 03:06:38 ID:qhlIETZh]
- まあそれはあるな
でもMIDIのBGMだったら鳴らさんほうがマシだ
- 888 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 14:16:09 ID:UjIQhbyQ]
- それは聞き捨てならんな。
フリー素材はほとんどがMIDI そんな時代もあったのだよ。 故にMIDI資産は膨大 しょぼい音源のゲーム臭さも何とも言えんし、 Sound BLASTERとか、そうでなくても サウンドフォントが扱えるサウンドカードならだいぶ世界が変わる。 あとTiMidiとかいうソフト音源もオススメ。 twsynth.sourceforge.jp/ ぶっちゃけ音源によって音が変わるのが良いんだヨ('A`)
- 889 名前:名前は開発中のものです。 [2007/05/17(木) 17:33:48 ID:ECrUiSe6]
- hspext.dllを使わずにレジストリに新規キーを作成しようと思って下の
スクリプト作ってみたんですが、どうも上手く動作してくれません。 どこが間違ってるのか教えてくらさーい。XPでの使用を前提にしてます。 ;**************************************************** ;****************** //新規命令を作成// ;****************** #module ;関数 #uselib "advapi32.dll" #cfunc RegCreateKeyEx "RegCreateKeyExA" int,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr ;定数 #const HKEY_CLASSES_ROOT 0x80000000 #const REG_OPTION_NON_VOLATILE $00000000 #const KEY_WRITE 0x20006 ;新規命令 ;p1=作成するディレクトリ #deffunc Nh@_RegCreateKeyEx str Nh@_RegCreateKeyEx_P1 Nh@_RegCreateKeyEx_P0=HKEY_CLASSES_ROOT nhret=RegCreateKeyEx(Nh@_RegCreateKeyEx_P0,Nh@_RegCreateKeyEx_P1,0,0,REG_OPTION_NON_VOLATILE,KEY_WRITE,0,hkey,0) return #global ;******************* //メイン// ;******************* makedir="testkey\\subkey" Nh@_RegCreateKeyEx makedir mes "CMPL" stop ;*****************************************************
- 890 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 21:46:05 ID:lJm49cl1]
- #module
#uselib "ADVAPI32.DLL" #cfunc RegOpenKey "RegOpenKeyExA" int,int,int,int,int #cfunc RegQueryValue "RegQueryValueExA" int,int,int,int,int,int #cfunc RegCreateKey "RegCreateKeyExA" int,int,int,int,int,int,int,int,int #cfunc RegSetValue "RegSetValueExA" int,int,int,int,int,int #cfunc RegDeleteKey "RegDeleteKeyA" int,int #func RegCloseKey "RegCloseKey" int #define KEY_READ 0x00020019 #defcfunc ReadReg int _key, var _subkey, var _data hkey = 0 //↓規定値を読み込む if RegOpenKey( _key, varptr(_subkey), 0, KEY_READ, varptr(hkey) ) == 0 { size = 0 if RegQueryValue( hkey, 0, 0, 0, 0, varptr(size) ) == 0 { sdim buf, size a = RegQueryValue( hkey, 0, 0, 0, varptr(buf), varptr(size) ) RegCloseKey hkey _data = buf return 0 //キーの取得に成功。 } else { RegCloseKey hkey return -2 //取得に失敗。(ほぼ在り得ないと思うが) } } else { RegCloseKey hkey return -1 //キーが無いとき }
- 891 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 21:46:59 ID:lJm49cl1]
- #define REG_OPTION_NON_VOLATILE 0x00000000 //情報はディスクファイルに保存され、システムを再起動時しても情報は失われません。
#define KEY_WRITE 0x00020006 #define REG_SZ 0x00000001 #defcfunc WriteReg int _key, var _subkey, var _data hkey = 0 //↓規定値に書き込む if RegCreateKey( _key, varptr(_subkey), 0, 0, REG_OPTION_NON_VOLATILE, KEY_WRITE, 0, varptr(hkey), 0) == 0 { if RegSetValue( hkey, 0, 0, REG_SZ, varptr(_data), strlen(_data)+1 ) == 0 { RegCloseKey hkey return 0 //書き込みに成功 } else { RegCloseKey hkey return -2 //書き込みに失敗 } } else { RegCloseKey hkey return -1 //キーのオープンまたは作成に失敗 } #defcfunc DeleteReg int _hkey, var _subkey return RegDeleteKey( _hkey, varptr(_subkey) ) #global #define HKEY_CLASSES_ROOT 0x80000000 前に作ったやつをそのまま。参考に
- 892 名前:名前は開発中のものです。 [2007/05/17(木) 23:11:30 ID:ECrUiSe6]
- >>890 >>891
ウォォッ!ありがとう! 激しく参考にさせて頂きます。 ('A`)ガンバルゼ
- 893 名前:名前は開発中のものです。 mailto:sage [2007/05/18(金) 03:44:38 ID:fYCuLcq6]
- うを、まじかっ
|

|