▼ノベルゲームツールを作っちゃうぞ!Ver4.0at GAMEDEV
▼ノベルゲームツールを作っちゃうぞ!Ver4.0 - 暇つぶし2ch395:名前は開発中のものです。
09/10/25 15:25:05 ZTRZUjq7
いつか使おうと思っているので、ゆっくりでもがんばってください!

396:167
09/10/25 19:20:12 2PK1myMg
命令のテスト&デバッグを完了、とりあえずは問題なさそうです。
実装したのは、
・乱数
・ループ(for、next、break相当)
・動的ロード(loadobject、gotod、gosubd)
以上のような感じです。
あとは、サンプルを用意してサイトも修正して……もう少しばかりかかりそうですね(;´Д`)

>>395
ありがとうございます、更新遅めですが生温かく見守ってくださいw

397:167
09/10/31 23:00:24 07dz5Ldf
全作業を終えましたので、新バージョンをアップロードしました!

・BasicCommandsをVer1.090からVer1.100にアップグレードしました!
・他にはScriptPlayer2を低スペックPC対応に修正しました!

BasicCommandsの変更点を述べていきますと、
・実行時エラーチェックの不具合を修正
・乱数生成命令の追加(rand)
・繰り返し制御構造命令の追加(beginloop、endloop、break)
・オブジェクトファイルのダイナミックリンク命令の追加(loadobject、gotod、gosubd)
・時間制限付き選択肢命令の追加(selectl)
・selectl実行中に表示される画像の設定/消去命令の追加(selectlclearimage、selectlimage0、selectlimage1、selectlimage2、selectlimage3)の追加

上記のような感じです。

次回以降の更新予定は
・Vista対応(これは次回のアップグレードまでにを予定)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・インタプリタ化
・他言語での利用(Luaあたりを予定)
上記のような感じです、大分終わりが見えてきました。

398:名前は開発中のものです。
09/11/01 03:35:14 kOZZ4gjq
>・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
組み込み用だからパーティクルエンジン持っててくれれば自分で実装しちゃう気がしないでもない。

399:167
09/11/01 22:04:09 fO+ZFCbG
書き忘れてましたが、
・ScriptPlayerをVS2005以降でコンパイルできるよう修正(これはyaneSDKを弄くる必要があるので難しいかも)
・ジャンル複合サンプルの作成(ADV+RPGやADV+SLG、ADV+STGなど)
上記の内容も近いうちにお見せできたらいいなと考えております。

>>398
ええ、恐らくは可能かと。
あくまでもそのサンプルをひとつ作ってみようかなと考えてる感じですね。

400:名前は開発中のものです。
10/01/04 18:35:51 /uva6imH
HSPでノベルゲームを作っている者ですが……
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。

こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?

複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。

もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。

なにかよい方法があればご教授願います。

401:名前は開発中のものです。
10/01/04 18:37:03 /uva6imH
HSPでノベルゲームを作っている者ですが……
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。

こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?

複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。

もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。

なにかよい方法があればご教授願います。

402:名前は開発中のものです。
10/01/04 18:38:38 /uva6imH
すみません。
2重に書き込みしてしまいました。

403:名前は開発中のものです。
10/01/04 19:45:23 roT+JtL8
何が聞きたいのか全然分からないぞ。
ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと
言っているように見えるわけだが…

ファイル名を引数にとるAPIの動作を、ファイルポインタで実現する方法が
知りたいのかな? もしそうなら、具体的に何をするAPIなのかを列挙しないと
個々のAPIでそれぞれ違うんじゃないの?

404:401
10/01/04 22:20:10 /uva6imH
>>ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと

意味としてはそのようなものです。
ですが、関数の仕様を考えれば
BMP表示API関数 LoadBitmap()はファイル名を引数にしないと使えないことはわかります。
BMPの表示なら SetDIBitsToDevice() で問題は解決できますが

いわゆる音楽再生系のAPI関数は音楽データのポインタを受ける関数が少ないように思います。
MCI系は全滅に近いような気がします。

素材ファイル郡をひとつにパッキングして、
適時そこからデータを取り出して使う方式をとった場合、
使えなくなる関数があまりに多かったもので、どうしたものかと困っている所です。

結局なにがしたいのかを例で示すと―
 ①ビットマップのデータはメモリーにロードされている。
 ②しかし、ハードディスクにファイルは存在していない。
 ③でも LoadBitmap() 関数を使いたい。(第二引数はLPCTSTR lpBitmapName)

上記のように
 ファイル名を引数にとるAPIを、ファイルが存在していないのに使いたい(データはある)。

というわがままな願いです。

パッキングをあきらめることも、解決策のひとつであると わかってはいるのですが……。

405:名前は開発中のものです。
10/01/05 09:09:56 hjLxpc/P
>>404
LoadBitmapってことは、HBITMAPが欲しいのかな?
それなら、CreateDIBSectionあたりをつかって、DIBを作って得られたメモリに対して、
自分でアーカイブ内の画像を展開するコードを書けばそれで終了。
libpngでもlibjpegでも好きに使え。

406:404
10/01/05 14:32:32 2qPkcFNe
説明がわかりづらくてすみません。

自分としては、hoge( LPCTSTR lpFileName ); のような関数郡、

LoadBitmap( LPCTSTR lpBitmapName )
mciSendString( LPCTSTR lpFileName )
自作関数( LPCTSTR lpFileName )
他人製作のライブラリ関数( LPCTSTR lpFileName )

このような関数郡をファイルをひとまとめにしたパックファイルしかない状況で
使用する一般的な方法があるなら知りたいです。

ただ……
市販のゲームでもoggファイルだけは**.oggのままリリースされているのを
見かけるあたり―一般的な方法は無いのかもしれませんが……。

407:名前は開発中のものです。
10/01/05 20:02:16 ancjkQSv
無理にHSPを使うのをやめるのが一番簡単だと思うよ
かえって足枷になってる感じを受ける

408:404
10/01/06 02:06:21 9wpjbsCw
C言語もできることはできるのですが、力不足のため
WINDOWSの低レベルな部分には手が出ません。
なので、自分の場合、難しいことはHSPにまかせてしまう
そんな低レベルな素人プログラマーです。

とりあえず、吉理吉理の場合 XP3 というパックファイルに
画像から音楽ファイルまでひとつにまとめて
自在に取り出して使っているので
吉理吉理のソースファイルからヒントを見つけてみようと思います。

素人の無茶な質問のご相手ありがとうございました。

409:167
10/02/08 00:55:31 JYU5rbtP
お久しぶりです、仕事がデスマでなかなか作業に着手できておりません(´Д`)
ですがぼちぼちと進めております、とりあえずは忘備録的に。

・動作確認
 Windows7での動作確認を行いました。特に問題はないようです(精査したわけではありませんが……)
 ただしDirectX9をエンジンにした方のみです、yaneSDKをエンジンにした方につきましては下記を参照で。

・yaneSDKの問題
 どうやらyaneSDKをエンジンにするとWindowsVistaならびに7で不具合が起こるようです。
 具体的には、画面に何も表示されません。解決方法としては、「ScriptPlayer.exeのプロパティ」→
 「互換性」→「デスクトップ コンポジションを無効にする」をチェックで画面が正しく表示されるようになります。
 この問題を修正しようにも、何処から手をつけていいものやら……古いDirectXを使っている時点でかなり難しい
 気がします。DwmEnableComposition APIを使用しても上手くいかないので……。

次回更新予定は、
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
上記のものです、それに付随してAbyssLibの実装自由度を高めます。
具体的には、AbyssLib内のswitch文のほとんどをプラグイン対応に改めます。
これにて、ほぼ全ての要素を外部から操作可能になる筈です(具体的に言いますと、
外部から操作不可能なパラメータはテキストカーソルの種類とシーンの種類のみとなります)

あとは次々回にLua対応物やインタプリタを用意して、その後は
様々なサンプルを用意していく予定です。次々回以降のアップグレードは、
今のところ内容が思いつかないので予定がありません。バグ修正ぐらいになる……筈です。

以上、とりあえずは顔出しついでにで(´Д`)

410:167
10/04/19 20:26:26 rE22Ttc/
お久しぶりです、いまだにデスマです(;´Д`)
とりあえず、現状をば。

・特殊演出(降雪)がほぼ完成
 近いうちにそれだけをまとめてアップロードしようと考えております。
 また、特殊演出の基盤が完成したので他(雨・桜・蛍)にも順次着手予定です。
 次回アップデートは、GW終わりあたりを目処にして現在頑張っております。

411:167
10/07/18 12:26:06 4gCLox02
お久しぶりです(´Д`)
デスマは抜け出しましたが、今度は同人ゲーム制作の請け負いで忙しくなっており……(;´Д`)
とりあえず、現状をば。
1.SVNを導入しました
2.Windows7環境を導入しました
    いや、まあ私事ですが(;´Д`)
3.降雪エフェクトが完成しました
    残る予定は、降雪(パラメータセット)、雨(パラメータセット含む)、蛍(パラメータセットry)、桜(パry)です。
    雨ならびに蛍はアルゴリズム選定済みで、桜は考慮中です。
4.VC2003を開発セットから外しました
    理由がいくつかありまして、
    ・開発機が7になった(Vistaならびに7とVC2003は相性が悪い、検索・置換機能がまともに使えないとか色々と)
    ・VC2003で開発を続けるメリットの消失
        (つい先日知ったのですが、VC2005以降はExpressEditionでもコンパイラの最適化が行なわれているようです。
            (グッジョブマイクロソフト、これで2003ProfessionalEditionから離れられます!
                (まあ、慣れていたので若干の惜しさを感じますが)
            )
        )
5.バグの修正(シーン遷移時に不要な描画が行われていた)
6.以下の要素がプラグインで拡張可能になるよう変更
    ・描画タスク追加関数
・描画タスク描画関数(転送方法の種類別)
・描画タスク描画関数(描画タスクの種類別)
7.6に伴いDrawTask構造体を拡張(nArg, strArgメンバを追加)
8.テキストウインドウの強制表示が可能になるよう変更
9.現在の音量がデフォルト音量に準拠しているかをチェックするメソッドを追加
10.9に伴い音量の有効範囲を-10000~0から0~10000に変更
11.SEおよび音声の再生メソッドを多重再生可能に変更

412:167
10/07/18 12:30:05 4gCLox02
12.スクリプトの拡張
    fadein、fadeout命令の拡張
        色んなことができるように。fadeinu、fadeoutuの存在理由がなくなりましたが、互換性維持のためそのままにしておく予定です。
        また、パラメータ数が増えましたが互換性維持のためシュガーシンタックスとしてデフォルト引数を持たせておきます。
    forcetextwindow命令の追加
        8に伴いテキストウインドウの強制表示を行える命令を新たに追加しました。
13.音量設定を減衰率を考慮したものに変更
    以前は7000でほとんど聞こえなくなっていたものが、0で聞こえなくなるようになりました。


413:167
10/07/18 12:34:12 4gCLox02
今まで、そしてこれから

現状は上に挙げました通りで、今のところゲーム制作の方で手一杯な状況です(;´Д`)

とりあえずは、これからについて記していきます。

・現在制作中のゲームをフィードバックしていきます
    それによりより現実に即したスクリプト作成を心がけます。
    テキストウインドウ強制表示は、フィードバックから生まれました。

・なるべく早めに特殊エフェクトの完成を目指します
    アルゴリズムの見立てが終わっている雨ならびに蛍の実装を早めに行います。
    今は忙しいですが、まあ隙を見つけて少しずつ進められればと……。

・マイルストーンをいい加減立てます
    このままずるずるいくと、ゲーム制作後に手がけることになりそうなので……。
    とりあえず、お盆前後には形はどうあれ上げるようにします。

以上です、見ている方がおられるかは分かりませんが(;´Д`)

414:名前は開発中のものです。
10/07/18 14:45:22 ay0n2T2r
64bit対応は?

415:167
10/07/18 19:17:59 4gCLox02
>414
ご質問ありがとうございます。
64bit対応は現在のところ考えておりません。

理由としましては、単純に開発環境を有しておらず動作テストを行うことができないからです。

64bit対応プログラミングにおきまして注意すべきところは、以下のようになります。
①int型やlong型が32bitから64bitに拡張される(場合がある)
②ポインタが64bitに拡張される(場合がある)
③0xFFFFFFFFが[-1]にならない
④アライメントが4バイトから8バイトに拡張される
⑤Win32APIなどの関数の一部で32bit対応のものと64bit対応のものを変更する
⑥アセンブラのレジスタ、命令を書き換える
①~④に影響するようなコードの書き方はしておりませんが、
⑤⑥については未知数です。ですので、64bit環境での動作は保障できません。

ただ、いずれは64bit環境が潮流になるような気はしますので対応させてはいきたいところではあります(´Д`)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch