▼ノベルゲームツールを作っちゃうぞ!Ver4.0

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2007/01/21(日) 00:29:07ID:VX21mS5F
ノベルゲームツールを制作中の人達が集うスレです。
新たなノベルツールを作ってやるというチャレンジャー歓迎。

前スレ
▼ノベルゲームツールを作っちゃうぞ!Ver3.0
http://pc10.2ch.net/test/read.cgi/gamedev/1059655064/

前々スレ
▼ノベルゲームツールを作っちゃうぞ!Ver2.0
http://pc2.2ch.net/test/read.cgi/gamedev/1040118471/

前々々スレ
▼ノベルゲームツール作っちゃうぞ!
http://pc2.2ch.net/test/read.cgi/gamedev/1013170036/
2007/04/21(土) 10:36:28ID:6hiyyGbn
>>161
おいおい、コミックメーカーの批判読んだことある?
既読スキップ無し、バックログ無し、ムービースキップ無しだけでもかなりの痛手だぞ?
というか、そもそもコミメって、ぱらぱらアニメ以外のムービーって使えたっけ?
(確か、無理矢理実装していたマニアがいたはずだが、普通のコミックメーカーユーザーは
スクリプト公開されても理解できないだろうし、理解できたところでそんな面倒な事しないだろう)
短い絵本作るとか、コミックメーカーの機能の範囲内で作れるミニゲーム作るなら
いいだろうが、はっきりいっておすすめできない。
多くのコミックメーカーユーザーがどれくらいすごいかそもそも知らないだろ?
再配布、添付不可のspi平気で同封してる奴らだぞ?
結局どんないい作成ツールがあったところで、ユーザー次第だからなぁ…

ついでだから、サニガのノベルゲー作成ツールのアンケート投下してみる。
ttp://s-girl.info/vote/game.html
163108
垢版 |
2007/04/21(土) 13:32:20ID:tcVleHJJ
>>162
> おいおい、コミックメーカーの批判読んだことある?
8割ぐらいが理由なく批判しているように見える・・・。
まぁ作者の対応は本当によろしくないようだけど。

> 既読スキップ無し、バックログ無し、ムービースキップ無しだけでもかなりの痛手だぞ?
うーん、確かに痛いかもしれないけど、あれはあれで1つの完成系だと思う。
ちょっと触っただけで落ちたのは、そういうものなのか環境が悪いのかは分からないが。
なんにせよ叩かれすぎだと思う。

って、そういえば既読スキップ機能考えてなかった。orz
未読までスキップするとやばいよな。

> ついでだから、サニガのノベルゲー作成ツールのアンケート投下してみる。
みんな週に2本もフリーのゲームしてるねんなぁ。そんなに沢山作品があるとは(汗
2007/04/22(日) 10:54:40ID:LYr5irPP
>>163
そういえば以前、未読スキップ可、スキップキャンセル無し、バックログ無し、
という暴走ノベルをDLしてしまったことがあるとです…(つдT)

>>163
そこじゃなくて、ツールの詳細…
165167
垢版 |
2007/04/25(水) 12:01:19ID:EudGZbTv
http://abyss-21.hp.infoseek.co.jp/Release.zip
漸く完成致しました、変更点は
・セーブ&ロード&環境設定を実装
・その他細かいところのバグ修正など
といったところです、HTMLヘルプの追加とスクリプトの文法などの実装からの分離を終えればVer1.00は完成といったところで(´Д`)
こ〜ゆ〜命令を追加して欲しいとか、ありましたら是非是非お願いします(´Д`)
166167
垢版 |
2007/05/02(水) 11:14:17ID:D4/4PV4X
HTMLヘルプを漸く完成させました(とはいえ、スクリプトの簡易な解説のみですが………)
来週までに、スクリプトの文法を実装から分離出来たらいいなぁ………。
http://abysslib.hp.infoseek.co.jp/index.html
167167
垢版 |
2007/05/10(木) 18:43:05ID:2eHYg+ep
スクリプトをDLL化し、実装から分離しました。
アップロードは今週末になるかと、また現在は既知の不具合としてBCC⇔VC間でのDLL⇔EXEのやりとりが不可能です。
………というか、すっかり寂れてしまってますな(´Д`)
2007/05/12(土) 23:57:43ID:NQu8FU6d
ノベルでは背景・キャラの立ち絵・メッセージウィンドウなどを
レイヤという単位で一括して管理することが多いと思うのですが、
そのレイヤの設計、またレイヤのトランジション方法について質問があります。

もしレイヤにトランジションというものが無ければ、
これの設計はそんなに難しく無いと思うのですが、
トランジションがあるために自分にはとても難しいものに感じられます。
具体的に困ってしまう例として
・(一つのレイヤはもちろん)複数のレイヤをまとめてトランジションしたい場合
・優先順位の違うレイヤ同士でトランジションしたい場合
があります。

たとえば、優先順位の違うレイヤ同士でトランジションを行いたい場合、
その中間に描画されるべきレイヤをもトランジションに含める必要があります。
169168
垢版 |
2007/05/12(土) 23:58:23ID:NQu8FU6d
>>↑の続きです

また、複数レイヤのトランジションで例えばクロスフェードなどの場合は
個々のレイヤをレイヤ単位の不透明度付きで描画していってもうまくいかないため
(トランジションが30%まで進んでいる場合、
レイヤ1を不透明度30%で描画、その上にレイヤ2を不透明度30%で描画、
さらにレイヤ3を不透明度70%で描画しても、
レイヤ1:レイヤ2:レイヤ3:の不透明度は30:30:70にはなりません)
おそらく途中にバッファを介して、
1、開始前に表示されるレイヤすべてをバッファ1に描画
2,終了時に表示されるレイヤすべてをバッファ2に描画
3,バッファ1とバッファ2でトランジション
というちょっとやっかいな手順を踏む必要があります。
なので、すべてのレイヤに
A,トランジション前に表示されているのか?
B,トランジション後は表示されているのか?
の情報をつける必要があるのですが、
これをやるのに自分の中では面倒な方法しか思いつかず
(トランジション開始前に、すべてのレイヤの属性を設定するなど)
吉里吉里のような感じではできそうにありません。

優先順位の違うレイヤのトランジションは別にできなくても構わないと思うのですが(^^)、
複数レイヤのトランジションは何とかサポートしたいです。
170168
垢版 |
2007/05/12(土) 23:58:55ID:NQu8FU6d
>>↑の続きです

NScripterでは複数レイヤのトランジションはサポートしていないように見えます。
吉里吉里では各レイヤに表画面と裏画面を用意してトランジションを行っていますが、
1,BGのみのトランジション
2,子レイヤのみのトランジション
3,BG&子レイヤのみのトランジション
で場合分けがされており、
また片方のレイヤが無い場合や、トランジション後に表裏のレイヤ内容を
ポインタのみ入れ替えるか/内容をコピーするかなどと
いろいろな場合が想定されており、自分には大変複雑なものに見えます。
しかしながら、表/裏画面をレイヤ単位で導入することはなかなか上手いやり方だとも思います。

個人的には設計はできるだけシンプルなものにしたいのですが、
実際にトランジション実行を記述するスクリプトのことも考えると、
なかなかそれがうまくいきません。
みなさんはいったいどうやっていますか?
智恵を貸してください。よろしくお願いします。
171168
垢版 |
2007/05/12(土) 23:59:49ID:NQu8FU6d
>>167
おお! おめでとうございます!

これからも頑張ってください^^
2007/05/13(日) 17:14:47ID:qATYs8FJ
>>168
とりあえず吉里吉里の仕様をもう少しきちんと調べてみることからはじめては?

吉里吉里のレイヤの機能としてのトランジションは単純。隠れバッファに
リアルタイムで合成した結果を本来のバッファの代わりに合成系に参照させてるだけ。

・複数のレイヤを別個にトランジションはできる
これはトランジションがレイヤ単体の機能だからできて当然。

・複数のレイヤをいっしょにトランジション、は、トランジションの機能じゃない(後述)

・優先順位の違う(画面に同時に出てる)レイヤ同士でトランジションはできない。
正確には実行はできるが、更新されるのは「トランジションを実行したレイヤ」だけ。
トランジション先のレイヤは単なる元データで処理がおわった瞬間にさしかわる。
これは仕様で、吉里吉里では、表示レイヤと非表示レイヤ間でしか
トランジションさせないのが定番。

実際のところ、吉里吉里は、「トランジション機能」と「親子レイヤ機能」の
2種類の機能の組み合わせで画面の表現を実現してるのに注意。

親子レイヤってのは、168が >>169 でいってるバッファを介して〜に該当するものね。
吉里吉里の合成系は、子を親が確保したバッファにいったん合成するのを再帰合成してる。
つまり、168 が言うところの「やっかいな手順」は別の基本機能なので、
トランジション機能的にはその結果だけを使えばよいので単純なままで問題ない。
吉里吉里の「子レイヤをふくめたトランジション」ってのは、
トランジション処理を、この親子合成処理の前にするか後にするかの違い。
分割統治で個別のロジックをシンプルにしてる例ですね。

吉里吉里本体はシンプルなんだが、KAGはたしかにかなり複雑。
これは「裏」「表」を参照する固定名の変数の維持にこだわってるせいで、
動的にレイヤを生成・廃棄するような概念をとれば素直に扱えるはず。
173167
垢版 |
2007/05/14(月) 00:54:31ID:qwgQqJvf
テスト&デバッグは完了したのですが、一つだけ原因不明なバグが残り………。
それを解決してからアップロードすることにします、とはいえ解決するのはいつになるやらorz
それと、BCCへの対応を打ち切りました。DLLでクラスのやりとりをする時、BCCとVCでは色々と
違いすぎて完全に対応するのが無理なのです。主に、マイクロソフトの独自仕様が悪いのですがorz

>168
ありがとうございます、ノベルツール作成中なら住人になりませんかと誘ってみたり。
2007/05/15(火) 01:07:06ID:T8/AV/rN
>>172
吉里吉里本体はMDIアプリのような感じでレイヤーを管理しているのですね。
確かに、これならかなり上手く実装できそうです。
ありがとうございました。

あと、吉里吉里のリサーチについてなのですが、
自分は本体のソースをみて挫折した記憶がありますorz
今のところ付属のリファレンスしか参考になるものがないのですが、
仕様はいったいどうやって調べたのですか?
サイトや本などでも構いませんので、教えて頂けると嬉しいです^^

>>167
クラスエクスポートを異なるコンパイラ間で行うのは難しそうですね。

あと、ありがとうございます。
自分は手が遅い方なのでなんとも言えないのですが、
そのうち参加できればいいなと思います^^
2007/05/15(火) 04:50:14ID:tt2J8rXQ
>>174
普通に「TJS2リファレンス」を片手に「吉里吉里2リファレンス」を
精読すればだいたいのところはわかると思うぞ>仕様。
「Kag System リファレンス」は別に読まなくてもいい。

親子合成やトランジション時の細かい挙動はちょっとリファレンス
だけではよくわからないので、そういう時は十数行レベルの
サンプルをかいて確認。画像ロードとかが簡単に動くから
サンプル書くのは難しくない。

本体のソースはなかなか手がでないけど、けっこう数がある
サンプルプラグインのソースを見れば、内部的なレイヤの挙動は
だいたいわかると思う。おおむね原理は想像の範囲内。

吉里吉里のプラグインは VC でも BCC でも MinGW でも
書けるってのは便利だね。
176167
垢版 |
2007/05/15(火) 18:53:59ID:5BtIaTXv
バグが見つかったので、ようやくアップロードできそうです。
とはいえ、今週は多忙なのでやはり週末になるかと思われます(´Д`)
2007/05/16(水) 01:26:51ID:O6tjl5U2
>>175
なるほど〜
とりあえずは、サンプルプラグインを参考にしながら
開発を進めていきたいと思います。
ありがとうございました。

>>176
了解です。
178167
垢版 |
2007/05/19(土) 22:35:15ID:+FLBuyt4
というわけで、色々とバグを修正の末Ver0.97をアップロード致します(´Д`)
基本的な機能はほぼ完成した状態です、後は多少煮詰めればVer1.0に上げようかなと。
インターフェースを弄るスクリプトの命令が存在しませんが、それは仕様とさせて頂きます(´Д`)
(ヘルプにて記述している通り、プログラマが組み込み用途に用いることが前提なので………………)
http://abysslib.hp.infoseek.co.jp/index.html
2007/05/21(月) 01:14:48ID:o/Nqs/5K
> シミュレーションゲームやロールプレイングゲームなどに、AVGのシステムを組み込みたい方を対象としています。

この組み込み方についてのチュートリアルはつけなくていいのか?
180167
垢版 |
2007/05/21(月) 08:58:51ID:LQe2eeUy
>179
もちろん付けますよ、ええ(;´Д`)
現在、プログラマ向けのヘルプは記述中な状態で………。
181167
垢版 |
2007/06/17(日) 22:41:47ID:z3UGnVRR
うわぁ、閑散としてるなぁ………まあ、私も書き込んでいなかったのですが(´Д`)
現在、尚もヘルプを記述中です。記述中なのですが、少し更新してみました(。。
182167
垢版 |
2007/06/24(日) 19:12:41ID:pmjsdB4s
スランプを脱し、HTMLでリファレンスを記述中です。
また、多少のバグフィックスを行いました。具体的には、
・「DMA」を「TMA」に変更
・CommandHeap::GetIteratorにエラーチェックを追加
といった些細なものです。一部のクラス名が変更されましたが、まだ正式版ではないということで………(;´Д`)
183167
垢版 |
2007/06/26(火) 01:49:50ID:8MbLCTwn
尚もHTMLでリファレンスを記述中、こうしてヘルプを書いてみると些細なバグがぽろぽろと出てきますね………。
というわけで、多少のバグフィックスを行いました。具体的には、
・「DRAWMANAGER_CHPRIORITY」を「TASKMANAGER_CHPRIORITY」に変更
といった些細なものです。今回もシンボル名の変更ですが、列挙子のシンボル名なのでまあ問題はないでしょう(´Д`)
184名前は開発中のものです。
垢版 |
2007/07/28(土) 23:24:17ID:dq8f9rET
期待age
185114
垢版 |
2007/08/05(日) 15:06:22ID:oDdNXnxw
久しぶりにスレ発見
俺のも形になってきたが、800*600の画像を二枚重ねるだけでFPS割れする
DirectXまじうざす
2007/09/21(金) 00:47:30ID:aEhX7Z7/
ほしゅ
過疎ってるけど、がんがって〜!
187名前は開発中のものです。
垢版 |
2007/10/19(金) 00:17:35ID:MlCrP2zp
よーし、Javaで作るぞ
188167
垢版 |
2007/10/20(土) 12:27:25ID:DeAtrpzg
お久し振りです、色々と多忙で中々制作に手をつけられておりません(汗
リファレンスを尚も記述しており、ほぼ完成させました。
今週末中に、リファレンスだけでも完成させたいものです(´Д`)

今後は………
・プラグインの作り方
・ウェブページの更新
・サンプルゲームの制作
あたりを頑張っていこうかと考えております。

http://abysslib.hp.infoseek.co.jp/index.html
189167
垢版 |
2007/10/22(月) 00:50:42ID:/UJ8IviV
リファレンスが完成致しました(今週末という条件からは約半時間程オーバーしましたが)
次は、プラグインの作り方を書いていこうかと。
190167
垢版 |
2007/11/05(月) 09:34:56ID:vUmvc+qv
PluginTemplate(プラグインのテンプレートプロジェクトファイル)を追加しました。
プラグインの書き方は、これからヘルプに追加していく予定です。
2007/12/07(金) 02:30:57ID:jkawqV4X
ガンガレage
192名前は開発中のものです。
垢版 |
2008/01/09(水) 12:18:19ID:01/Y0s2Y
今度使ってみるage
2008/01/11(金) 20:29:09ID:dupThDrj
やっぱプログラムの技術が付いてくると
自分で開発ツール作りたくなってくるんかな
2008/01/29(火) 19:40:58ID:UX2s5iVw
すいません、基本的なことなんでしょうが考えても答えが出なくて…OTL
クロスフェードトランジションなんですが、普通にアルファブレンディング
したら背景が透けて見えてしまいますよね?例えば

背景(100%) * 立ち絵1(50%) * 立ち絵2(50%)

と合成をしたら、見える結果は

背景(25%) 立ち絵1(25%) 立ち絵2(50%)

となってしまいます。

吉里吉里等他のノベルツールを見る限り、重なっている部分は透過せず、
重なってない部分は背景が透過するようになっていますが、このようなトランジション
を実現するためにはどうしたらいいのでしょうか?
2008/01/29(火) 21:35:15ID:OdZNDpZD
ブレンド関数から等式たてて解けよ
2008/01/29(火) 23:05:50ID:UX2s5iVw
そのブレンド関数を教えてもらえませんでしょうか?どうも条件分岐が
必要な気がするのですが…。
2008/01/30(水) 07:19:58ID:Lnk072md
吉里吉里のソースをみて、何とか解決の糸口がつかめそうです。
ありがとうございました。
2008/01/30(水) 23:09:26ID:mjMXPOGW
合成先のα値を考慮しなくていいのなら、
立ち絵同士を一度作業用ビットマップに半透明アルファ合成したあと、
その結果を背景にアルファ合成するのが一番簡単だと思うよ。
α値を考慮する場合は合成関数が複雑(で低速)になるけど、
素直に背景から順に描画できるから、クロスフェード自体は単純にできる。
フォトショップのレイヤ合成式とかが参考になるかも。
まぁ階層レイヤのサポートとかがないのなら前者でいいと思うが。

ところで、テキストの遅延描画ってどう扱ってる?
今の仕様だと、レイヤへの画像処理は一度内部でキューイングして、
フレーム更新時に一括描画するようになってるんだけど、
ノベルでテキスト描画が30FPSや60FPSじゃちと遅すぎる。
だからといってテキストだけ例外扱いするのも汚いし……。
レイヤへのテキスト描画→親レイヤを更新→画面を更新
というパイプラインを考えていたんだけど。
2008/01/31(木) 09:17:24ID:PW/lMgRs
>>198
ありがとうございます。難しく考えすぎていたようです。
吉里吉里でも大方そのとおりに処理してました。

>ところで、テキストの遅延描画ってどう扱ってる?
Windowsのテキスト描画APIはよくしらないのですが、グリフのキャッシュ
はしてますか?テキスト描画はかなり時間を食う処理なので、せめて一度
現れたグリフはキャッシュしておかないと(AAを使う場合は特に)遅いです。
そのFPSはいくらなんでも遅すぎるので、おそらくキャッシュせずにいちいち
フォントを描画しているからだと思うのですが…
200167
垢版 |
2008/02/21(木) 19:31:37ID:5b5pMclc
お久し振りです、ここ最近制作を再会しております(´Д`)
現在はプラグインの作り方を記述中です、今週末までには完成するかと。
一応は目処として、今月末までにVer1.00にする予定です。

http://abysslib.hp.infoseek.co.jp/index.html
201167
垢版 |
2008/02/21(木) 19:33:08ID:5b5pMclc
>193
そういう人は結構居るんじゃないかと(私はその一人です)
やっぱり、自分の技術の証となるのは自分で作ったものなわけで。
2008/02/21(木) 23:09:59ID:E3qVPNIm
どちらにせよある程度の規模のものになると、エンジンを作ることになりますしね。
203167
垢版 |
2008/02/22(金) 20:55:09ID:jh5iaM9E
プラグインの作り方を含め、当初予定していたヘルプの記述を全て終えました。
パフォーマンスの改善を行った後にVer1.00に上げ、サイト全体も色々と変える予定です。

http://abysslib.hp.infoseek.co.jp/index.html
2008/02/26(火) 09:18:20ID:WlqAATX2
楽しみにしてますよ〜
205167
垢版 |
2008/02/28(木) 12:15:32ID:DcPvHY26
Ver1.00になりました(´Д`)
ヘルプの方も色々と誤字などを修正し細かいところですが書き改めてみました。
サイト全体を変えるのには、もう少しかかりそうです。

・一部ビデオカードで不正終了していた不具合を修正(yaneSDKのバグですが)

http://abysslib.hp.infoseek.co.jp/index.html
206167
垢版 |
2008/03/01(土) 20:03:40ID:bCAcnPBr
サイト全体を色々と変えるのには手間がかかります、もう一週間ぐらいはかかりそうです(´Д`)
なので、アンケートでも取ってみます。

現在、AbyssLibのScriptPlayerはyaneSDKを用いて制作しております。
ですが、他のライブラリを用いても制作できるようにAbyssLibは作っております。
ですので他のライブラリでScriptPlayerを作ってみようかと思うのです、オススメのライブラリはありますでしょうか?
DirectXが最多票になってしまう気がしますが、オススメのライブラリをお待ちしておりますm(_ _)m
2008/03/02(日) 01:11:37ID:L45HwFVi
どういう意味でのライブラリを求めてるのか知らないけれど、
移植も考えるならSDLとか?
208167
垢版 |
2008/03/02(日) 10:50:11ID:fWG1GsJc
>207
ゲーム制作に多用されているライブラリを、と考えております。
勿論、AbyssLibはライブラリを使わずDirectX(まあDirectXもライブラリですが)を用いて動作させることも可能です。
個人的には、LunaかSDLかぐらいが有名なゲームで用いられるライブラリかな、と。
まあ、D3DXでぱぱっと作っちゃっても構わないわけですが…ウインドウの初期化処理とかがめんどくさいんですよ、ええ(´Д`)
209167
垢版 |
2008/03/02(日) 11:41:14ID:fWG1GsJc
そして書き忘れていたので追記を
Ver1.00になった際に、(yaneSDKを用いているScriptPlayerを除き)VC2008での動作を確認しております。
まあ、常識的なコードの書き方をしているから当たり前の話なのですが(´Д`)
2008/03/02(日) 13:13:42ID:sJ/XLfez
Irrlicht とかが画面だすのは簡単だたよ。
2008/03/02(日) 16:57:08ID:3Hl2wphL
ソース読んでないのですが、yaneSDKにアクセスする部分はラッパーで
包んであるのでしょうか。お疲れ様です。

Irrlichtは私も使ってますが、2D機能が弱くて、追加で2〜3k行程度の2Dライブラリ
を自作しました。
なのであんまりお勧めしません。
212167
垢版 |
2008/03/02(日) 18:50:01ID:fWG1GsJc
一週間かかると書きましたが、一日で何とかなりました(´Д`)
改装も終了しましたし、これからはサンプルを用意しつつ要望をフィードバックしていこうかと。

現時点での「他のライブラリ」の候補は、DirectX、Luna、SDLあたりで。

>210
ググって調べてみたところ、本格的な3Dライブラリなようですね。
3Dゲームにも使えるということを証明する為に実装を………何だか、勉強が必要な気がします(3Dの)

>211
そうですね、グラフィック機能・サウンド機能・ユーザー入力機能の全てをラッパーで包んであります。
よって、どのライブラリからでも純粋仮想関数を継承し実装する形で利用できるかなと。
まあ、まだ机上の理論なので実際に他のライブラリを使うと不具合が出るかもしれませんが。
213167
垢版 |
2008/03/02(日) 19:00:02ID:fWG1GsJc
付け忘れていましたので

http://abysslib.hp.infoseek.co.jp/index.html
2008/03/03(月) 00:22:12ID:0yLnpI9I
あの、今自分用の小型エンジンを作ってて、
スクリプトはコンパイル方式を採用しているのですが、
スクリプトの修正&コンパイル後も
セーブデータの互換性を保つ方法ってどんなのがありますか?

具体的な例を挙げると、
 スクリプトをコンパイル&公開 …… 1
 バグ発見のためスクリプトを修正
 修正パッチを公開 …… 2
の1と2の間でセーブデータの互換性を保ちたいのです。

現状では、仮想マシンの作業メモリと実行アドレスを保存することで、
任意の位置でのセーブを実現しています。
ただ、コードに変更がないことを前提にロードしているので、
スクリプトを変更してコンパイルすると、
戻って欲しい位置に復帰してくれないという状況です……。
2008/03/03(月) 00:49:09ID:8wOrV/Xh
>>214
>現状では、仮想マシンの作業メモリと実行アドレスを保存することで、
この方式でセーブしている限り無理です。抽象化したセーブデータの構造を
とらないと、この問題に対応するのは難しいです。
216167
垢版 |
2008/03/03(月) 02:02:06ID:0A1OCtBB
>214
此方と同じ方式ですね、此方はその辺は諦めきっております(´Д`)
諦めるのもひとつの手かと、誤字脱字の修正レベルならセーブデータに互換がありますし。

………答えになっていませんですか、そうですか(;´Д`)
2008/03/03(月) 21:48:13ID:0yLnpI9I
なるほど、位置情報でセーブする限りは難しいということですね……。
誤字脱字はさすがに修正できないと困るので、
シナリオはデータベース化してスクリプトから分離しようと思いますが、
商業エンジンとかの演出強化パッチとかってどうやってるんでしょう。。。
一行ごとにユニークなラベルを振るとか……?
2008/03/03(月) 23:27:34ID:EF19HyRy
ポインタの概念が分かってればそうやろうとは思わんかね?
219167
垢版 |
2008/03/05(水) 14:37:22ID:8GmHp0Qk
AbyssLibがyaneSDK以外のライブラリでも動作することを証明しようと、
ScriptPlayerをSDLで制作しようとしていましたが………断念しました、すみません(;´Д`)
理由は、SDLの煩雑さに………以下で理由を挙げますと、
・VC2003、VC2005、VC2008での動作を確認する必要がありますが、
 SDL、SDL_main、SDL_ttf、SDL_image、zlib、libpng、libjpegをコンパイルする必要があります。
 おまけにそれらをコンパイルすると、たかがサンプルにDLLがいくつもついてくるわけで………。
・個人的に気に入りません。周辺ライブラリで補えよと言わんばかりのところとか。
 SDL_ttfは内部でサーフェスの確保と解放を繰り返しているようで遅すぎますし。
よってSDLは断念します、また挑戦してみるかもしれませんがDirectXとLunaを優先します。

>217
位置情報でセーブする場合、誤字脱字や引数の修正程度なら影響を与えないかと。
影響を与えるのは、命令の位置を変更する行為(挿入・削除・順番の並び替え)だと思われます。

そもそも、スクリプトを大幅に修正して(大幅に=誤字脱字や引数の変更程度ではないこと)、
それでもセーブデータをそのまま使えるようにというのがおかしい気がします。
たとえば作品AとBがあり、それらは同じノベルツールで作られていたとします。
それらのスクリプトを比較した場合、シナリオ量にもよりますが差異は70%とかになるでしょう(適当)
それらでセーブデータの互換を持たせようとするのは論外ですが、
スクリプトの修正を%で表したとき、1%、2%、3%………どこからがAとBのように違うとプログラムにみなさせるべきでしょうか?

位置情報以外でセーブする場合、たとえば抽象化してセーブする場合、
今度は正常にロードできるかが不安になると思います。
(ありえないぐらい単純にしたたとえばなしですが)セーブ位置の命令と前後の命令を記録するように
した場合、同じパターンがスクリプト内に存在した場合ロード時にそっちになってしまうかもしれません。
当然そこまで間抜けな作りにはしないでしょうけれど、より複雑にしたところでそういったバグが生じる確率は
0%にはできないと思います。より複雑にすると、ロード時間が増えてしまう気もしますし。
220167
垢版 |
2008/03/05(水) 14:39:36ID:8GmHp0Qk
>218
ポインタでたとえると、スクリプトの修正はメモリを弄る(データの再配置など)に該当すると思います。
ポインタの概要というのは位置情報のセーブと同じでそれではできないような気がします。

以上、思いつくままに書いてみました。間違ってたら申し訳なく(´Д`)
221214
垢版 |
2008/03/08(土) 12:20:15ID:25l4JxkE
みなさんどうもありがとうございます。

あれからいろいろと発想を変えて考えてみましたところ、
やはりスクリプトを変更可能な形での完全復帰は難しいと言うことで、
逆に、現状のスナップショット的なシリアライゼーションを
システムのサポートから外してしまおう、という結論にたどり着きました。

これにより、スクリプトに実装できるオブジェクトの幅が広がると同時に、
プログラム構造の簡便化が図れるのではないかと思っています。
もちろんセーブ・ロードはゲームに必須の機能なので、
代わりにデータベースファイルへのアクセス用オブジェクトをサポートして、
状態の保存と読み込みを各スクリプトに一任するという形にするつもりです。

とりあえず明日までに実装してみて、駄目そうならまた考えてみます。
2008/03/08(土) 15:51:24ID:O2hDer12
>>221
スクリプト側に状態保存を一任とかすると、すごいバグの温床になるよ……(経験者談)

アドベンチャー系のゲームの場合は、発想をまるごとかえて、

・オブジェクトへのプロパティ設定が実際に画面や音声に反映されるのを遅延する仕組み

を作ったうえで、

・任意のシナリオファイルの頭から指定行(再生位置)まで以下の2種の再生ができるプレイヤー
 a. 画面を更新しつつ再生
 b. 画面更新なしでプロパティの設定のみ行い、再生して位置がきたら全オブジェクトの画面を構築

をつくっておけば、どんなに複雑な処理をしてしまっても、セーブ情報としては、

フラグ系+現在のシナリオ+現在の行(テキスト)番号 

だけでよくなる。
ロードするときには該当位置まで一気に内部再生してしまうわけ。
常に前回からのプロパティ差分を記録、とかデータの保持を工夫すれば逆再生も可能。

シナリオをいじると、行が前後する可能性はあるけど、たかだか数行程度なので、
ユーゼの許容範囲内。使えないことに比べると断然よい。

あと、長すぎるとシナリオ末尾のロードにすごく時間がかかるようになってしまうので、
適度にシナリオを切り分けて、その頭では常に全オブジェクトが破棄されたところから開始、
とか工夫する必要はある。フラグ系も常にシナリオの間で処理するようにしておかないと危ない。

一般的な ADVなら、よっぽど変なことをしてない限りは、100kぐらいまでの分量なら2〜3秒
以内に読み飛ばせると思う。
223167
垢版 |
2008/03/22(土) 22:31:09ID:Mh8Q2q/k
お久し振りです、関数をひとつ追加しVer1.01に格上げしました(´Д`)
現在は、DirectX9を使用したScriptPlayer2を作成中です。
意外と、直接DirectXを弄るのって面倒ですね(´Д`)
224167
垢版 |
2008/03/27(木) 21:20:23ID:AYfrO4G4
セーブ/ロード画面のバグを修正し、Ver1.02にしました。
また、ScriptPlayerのカラーキーを(0, 0)のRGBから、RGB(0, 255, 0)に変更しました。
他にも細かい変更がありますが、それはサイトの方を見て頂ければと。

http://abysslib.hp.infoseek.co.jp/index.html
225167
垢版 |
2008/04/05(土) 20:03:27ID:S56PFwNU
そして誰もい(ら)なくなった(´Д`)
セーブ/ロード/環境設定のバグを修正し、新規に関数を加え、
既存の関数の仕様を修正しVer1.03にしました。スクリプトの仕様も若干変えており、
BasicCommandsがVer1.01になっております。とりあえずこれで暫く据え置いて、
DirectX9.0cで動作するScriptPlayer2の開発を続けます(´・ω・`)
これが完成すれば、3Dゲームにノベルエンジンを乗せるといった
変態的なことが出来るようになる筈です。

http://abysslib.hp.infoseek.co.jp/index.html
2008/04/06(日) 13:09:02ID:ZZArlQe5
>>225
いつか使わせてもらおうかと思っているのでがんば。
2008/04/06(日) 18:07:29ID:Aw4zSfHm
>このクラスは単独で利用される事を前提に設計されています
シングルトンは?
228167
垢版 |
2008/04/06(日) 21:40:25ID:KQbfR7n9
昨日頑張ったので今日はお休みです、Nezが面白いです('='

>226
頑張ります(´・ω・`)
>227
Singletonパターンはポリモーフィズム不可となってしまいます。
NovelPlayerは派生前提のクラスですので、そうしてしまうとまずいのです(´Д`)

………しかし、ググってみるとMonoStateパターンというのがあるのですね。
これなら、派生と唯一の保証が同時にできそうです。次回アップグレード時には変更しておこうと思います。
229167
垢版 |
2008/04/24(木) 00:27:18ID:tTzhnCFW
ScriptPlayer2を作りつつ、Ver1.04にしました。
変更点は、初期化時に初期化フラグを指定するようになりました。

そして、MonoStateパターンはNovelPlayerクラスには不向きなことが発覚。
よって、唯一であることを設計で保証することはどうにもできなさそうです(´Д`)

http://abysslib.hp.infoseek.co.jp/index.html
230167
垢版 |
2008/05/23(金) 20:30:14ID:ceSRwxFD
お久し振りです、現況報告をしておきます。

今現在、引き続きScriptPlayerを作成しております。
グラフィック機能とユーザー入力機能の作成を完了、
現在はサウンド機能を手がけるまえにスクリプトのtext命令における
改行処理を改善しております。

以前のtext命令における改行処理は、文字サイズ×文字数で規定サイズを超えないかを
チェックし、超えていた場合改行を挿入するという形にしておりました。
ですが、これだとプロポーショナルフォントの場合に明らかにおかしなことになってしまいます。
ですので、今はGetGlyphOutlineを利用し一文字一文字のサイズを取って改行処理を行うようにしてます。

………ですがここで問題発生、なぜか一部の文字列で文字が途中で切れるといった現象が発生してしまっています。
数日間原因を追っているものの原因は不明で、さきほどようやくyaneSDK内に原因があることを突き止めました。
これを突き止め、改善した後にスクリプトおよびAbyssLibのバージョンを上げることになります。
2008/05/24(土) 13:37:00ID:2xbvH38B
Java SEとJava MEでスクリプト互換なADVエンジン作ってる俺もここにいて良い?
java ME版はとりあえず画像・エフェクト・サウンド以外は実装されてるから実機で動くブツがあるんだが。
232167
垢版 |
2008/05/24(土) 16:15:18ID:wIfHDoSg
>231
一人だけだと寂しいので、是非どうぞ(´Д`)
233231
垢版 |
2008/05/27(火) 14:58:53ID:LVQuf83F
バイナリとスクリプトだけ持ってきた。
テキスト垂れ流しがループするだけだけど
実機ではw-zero3でのみ動作確認済み。
ttp://sourceforge.jp/projects/lixm/downloads/31287/ayame_test.zip
234167
垢版 |
2008/05/31(土) 15:29:52ID:cDHtMtgR
>233
落としてみました〜…が、どうすれば動作するのやら(´Д`)
Javaは弄ったことがないので分かりませぬ、教えて頂ければと。
235167
垢版 |
2008/05/31(土) 15:40:40ID:cDHtMtgR
そしてAbyssLibをVer1.05に、プロポーショナルフォントの問題は原因不明です(;´Д`)
yaneSDK内のバグであるのは明らかなのですが…折を見て精査しようと思います。
とりあえずはScriptPlayer2のSound周りを実装していこうと思います、完成したら
漸くサンプルの製作に取り掛かれますので(´・ω・`)
236167
垢版 |
2008/05/31(土) 15:41:16ID:cDHtMtgR
いっつも忘れてるなぁ…orz
http://abysslib.hp.infoseek.co.jp/index.html
2008/06/06(金) 09:50:02ID:oQ0IjW0F
>>234
PC上で実行するならJDKとWTKインストールしてパス通してjadをダブルクリックで
インストールがエミュレータ上で開始されるからインストールが終わったらメニューから開始。
実機ではMIDP2.0端末なら動くから端末のインストール方法に従う。
BSDで公開してるから再うpおkだからOAPでもいけると思うよ。

ソース?まだ公開しない。
238167
垢版 |
2008/06/24(火) 17:33:27ID:sm4oPcBg
お久し振りです、漸くScriptPlayer2の完成が見えてきました。
MP3の再生に苦労しておりましたが切り捨てることで解決、実装してもライセンスの問題がありますし…(´Д`)
現在はテスト中です、早ければ明日か明後日にでもアップロードできると思います。
ScriptPlayerやAbyssLibにいくつかバグが見つかったので、それも直してからということで。

ScriptPlayer2の完成で、yaneSDK以外でも動作可能なことが証明されます。
よって、今後はプログラム的な面ではなくサンプル制作に取り掛かろうかと。
で、短いノベルパートでも作ろうと思うのですが…シナリオなんて書いたことありませんorz
何か良い手はありますか?

プログラム的な面では、ScriptPlayer2の強化をしていきたいかなと。
今現在、サウンドはMIDI/WAVE/OGGをサポートしてますが、OGGが非ストリーム再生です。
よってOGGを再生しようとすると、読込でハングアップしているように見えますw
そこをストリーム再生に対応させたいかな、と。

あとは、余裕があったらIDEなんかを作ってみたいですね。
今はスクリプト式ですが、GUIでも作れるようになったら門戸が広がるんじゃないかと。

まあ、何れにせよ組み込み用というニッチな用途なのですがw

http://abysslib.hp.infoseek.co.jp/index.html
239167
垢版 |
2008/06/24(火) 17:36:27ID:sm4oPcBg
>>237
ありがとうございます、って携帯端末用なのですかっ!?
凄いですね、でも何だか同じニッチ仲間のかおりがしますw
240167
垢版 |
2008/06/24(火) 17:56:55ID:sm4oPcBg
ああ、あとScriptPlayerのプロポーショナルフォントについてのバグですが、
調べてもまったく原因が分かりませんorz ですので、修正は後回しにしようかと…。
241231
垢版 |
2008/06/25(水) 03:42:36ID:XEInH/6C
シナリオ書けるけど書こうか?
242167
垢版 |
2008/06/25(水) 22:20:04ID:IYU4+aQR
VC2003にてScriptPlayer2の動作テストを完了させました。
というわけで、VC2005、VC2008用でテストを行おうとしたところ…。
SDKの問題にぶち当たりました、DirectMusicが入ってないとか何とか…。
もう本当にマイクロソフトは………。

>>231
宜しければ是非にお願いしたいです。
作品ではなくサンプルですので、お気楽に提供してくださればと。
スクリプトの記述は此方で行いますので、演出効果の指定などあれば嬉しいです。
243167
垢版 |
2008/06/27(金) 02:10:02ID:ir5KQ5HR
ScriptPlayer2をアップロードし、他色々と細かなことを行いました(詳細は更新履歴を参照してください)

今後の方針は
1.ScriptPlayer2の強化(ストリーミング再生対応)
2.サンプル製作(ADVサンプル、SLGサンプル、STGサンプル)
といった感じで考えております。バグ報告、要望などなど大歓迎です。
さて、それじゃあ寝ます。明日早いのに………λ

http://abysslib.hp.infoseek.co.jp/index.html
244231
垢版 |
2008/06/28(土) 21:19:12ID:XOIOwuqi
>>241
おkわかった。
演出指定とフラグ・分岐指定はマなら分かる程度の疑似言語でかいとくよ。
というかうpろだがないのでどこか使える場所を教えてほしい。
245231
垢版 |
2008/06/29(日) 17:51:00ID:I2D0z5Pb
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0297zip.html

出来たよ。詳しくはunzipして中身読んでくれ。
246167
垢版 |
2008/06/29(日) 19:23:41ID:nXA5Td6M
今現在、Oggのストリーミング再生に取り組んでいるのですが…DirectSoundが分かりづらいですorz
ネットを漁っても資料があまりなく…ぽつぽつとあったのを見比べながら、手探りで作ることになりそうです。

>>231
ありがとうございます、ダウンロードさせて頂きました!
来週末ぐらいまでには、形にしたいと思いますので〜。
2008/06/29(日) 19:36:59ID:1ldhxsw/
がんばれちょうがんばれ。
2008/06/29(日) 20:01:12ID:5puWeDo2
ツールを作ってみたいのですが、どこから手をつけていいのかわかりません。
一応C言語ならわかります。

環境、Visual C++ 2008 EE
249167
垢版 |
2008/06/29(日) 20:50:52ID:nXA5Td6M
ちょwwwDiablo3www発売までにある程度完成させないと作業放り投げちゃいそうwww
…Oggのストリーミング再生は、とりあえず設計とヘッダだけ完成しました(´・ω・`)
とりあえず、来週末までには何とかできそうです。
それにしてもDirectX Graphicsの本はあってもDirectSoundの本はないのですね、
Soundの方が分かりにくいと思うのに…。

>>248
ゲームを作るにせよツールを作るにせよ、
C++をはじめに勉強するのをオススメします。クラスを覚えたら色々と幸せになれるかと。
250231
垢版 |
2008/06/29(日) 21:00:49ID:GLV8FDV4
>>246
問題は絵師が居ないことだな。
シナリオはかなり話が荒いが4時間で全て作ったんで勘弁してくれ。
251167
垢版 |
2008/06/29(日) 21:49:02ID:nXA5Td6M
>>231
絵は著作権フリーのものを漁ってみようかなと。
サンプルなので、寧ろ大仰でない方がありがたいですw
252167
垢版 |
2008/07/05(土) 22:03:00ID:EM8uOWnZ
ここ最近、調子が良いのか毎週末無駄にレスしてますね(´Д`)
進捗報告です、まずはじめにADVサンプルは手をつけてすらおりませんorz
231さん、本当に申し訳ないです…代わりに、Oggのストリーミング再生は75%ほど完成しております。
デバッグを含め、調子が良ければ明日にはアップロードできるかと。ADVサンプルはそれから手をつけ、来週末までに完成させます。
2008/07/05(土) 22:37:39ID:htOeiExQ
>>252
IDirectSoundNotifyは挙動が怪しいことは知ってるかな?無駄な心配かもしれないけど。
254167
垢版 |
2008/07/06(日) 19:32:31ID:afX0fIC8
19時26分現在、設計し直したサウンド周りのテストを行っております(´Д`)
何事もなく無事に終われば、ScriptPlayer2に反映させる予定です………間に合うのかなぁ(´Д`)

>>253
はい、存じておりますよ。
・再生位置がずれる
・停止→再生時にノイズが乗るの二つですね?
前者はサウンドドライバが原因なのでDSBCAPS_LOCSOFTWAREを指定することで、
後者は無音バッファを常に再生することで解決可能らしいです。今現在はそういった実装を行っております。
255167
垢版 |
2008/07/07(月) 01:40:12ID:B1iyMnC8
………間に合いませんでした(;´Д`)
理由は今の今まで、無音バッファの作成→再生に苦労していたことです。
DirectSoundBufferへの渡し方を間違えており………今、漸く無音バッファの作成と再生に成功しました。
ScriptPlayerへの反映はこれからです、とはい今日は遅いのでもう寝ます。
今週前半にアップロードできればなぁ、と(;´Д`)
256231
垢版 |
2008/07/07(月) 03:58:42ID:QupOJ94Q
スクリプト化はまだですかいね?

本題だが、もろに続くシナリオで伏線張りまくりなわけだが
ぶっちゃけ続き考えてあるからどうせなら制作速報VIPで一本つくらね?
熱くてロボットなシナリオを用意してますよ。
257167
垢版 |
2008/07/07(月) 17:19:28ID:B1iyMnC8
とりあえずScriptPlayer2への反映が完了しました。
恐らく、今夜にはストリーミング再生対応版をアップロードできるかと思われます。

>>231
>>252の通り全く手をつけられておりません、すみません(;´Д`)
258167
垢版 |
2008/07/07(月) 23:18:25ID:B1iyMnC8
強化ScriptPlayer2をアップロードしました。
変更点は、
1.ストリーミング再生に対応
2.対応音声形式からMIDIを除外
です。
MIDIに対応することも可能なのですが、
それを行うとコンパイルするのに過去のSDKから
DirectMusicコンポーネントを持ってこないといけなくなりますので…(´Д`)

ScriptPlayerおよびScriptPlayer2は一段落、
今後はバグフィックスと機能拡張に努めていこうと思います。
1.バグフィックス
2.機能拡張(要望次第で)
3.サンプル制作(シナリオを頂いているADVと要望を頂いているSLGを優先的に、STGなんかも作れればいいかなと)

http://abysslib.hp.infoseek.co.jp/index.html
259167
垢版 |
2008/07/09(水) 14:15:15ID:3maLZ88e
今日はお休み〜ヽ(´―`)ノ
というわけで、現在ADVサンプルに手をつけております。
早ければ、今週末にはお見せできるかなと………。

それとScriptPlayer2についてなのですが、
現在完成しており手をつけるとしたらD3DXから離れるぐらいです。
D3DXから離れることで、
・DLL Hell(特にD3DXのは酷い)から逃れられる
・それにより、DirectX 9.0cさえ入っていれば確実に動作する
といった二点が挙げられます。それに対し、
・DirectX 9.0cの最新版さえ入れてれば確実に動作するからいんじゃね?
・D3DXからDrawPrimitiveに移行するのが面倒臭い
・そもそも3Dゲーム作ってるんじゃなし多少遅くてもD3DXでいんじゃね?
・そもそも、ScriptPlayer2自体ライブラリへの組み込みサンプルだし…
といった感じなのですが、ここをご覧の方々はどう思われますでしょうか?
260167
垢版 |
2008/07/09(水) 14:23:14ID:3maLZ88e
>>231
レスし忘れがありましたので。
ライブラリ・サンプル制作の傍らにとはなりますが、
余裕は割とありますので此方は別に構いませんよ。
261231
垢版 |
2008/07/09(水) 14:41:58ID:Fwq47F32
>>259
移植性を高めるためにOpenGL/AL使うとか。

>此方は別に構いませんよ。
ロボットものとしてはやっぱりロボット操縦して戦うパートもほしいわけで、
元もと組み込み用途なら理論上できるよね。
誰か3Dアクション作れる人は居ないかね?
ちゃんとやるなら絵師も欲しいし。
262167
垢版 |
2008/07/09(水) 16:06:47ID:3maLZ88e
>>231
移植は…ライブラリ製作開始時には考えていたのですが、今は考えていないのですよ(;´Д`)
理由は単純に移植性を考えるとWindowsAPIすら使うことができなくなるわけで………。

そうですね、組み込み用途なので理論上可能です(実証はこれからサンプルを作るということで)
3Dは…勉強しなきゃ駄目ですね、ずっと今まで2Dオンリーでしたので。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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