08/02/21 19:31:37 5b5pMclc
お久し振りです、ここ最近制作を再会しております(´Д`)
現在はプラグインの作り方を記述中です、今週末までには完成するかと。
一応は目処として、今月末までにVer1.00にする予定です。
URLリンク(abysslib.hp.infoseek.co.jp)
201:167
08/02/21 19:33:08 5b5pMclc
>193
そういう人は結構居るんじゃないかと(私はその一人です)
やっぱり、自分の技術の証となるのは自分で作ったものなわけで。
202:名前は開発中のものです。
08/02/21 23:09:59 E3qVPNIm
どちらにせよある程度の規模のものになると、エンジンを作ることになりますしね。
203:167
08/02/22 20:55:09 jh5iaM9E
プラグインの作り方を含め、当初予定していたヘルプの記述を全て終えました。
パフォーマンスの改善を行った後にVer1.00に上げ、サイト全体も色々と変える予定です。
URLリンク(abysslib.hp.infoseek.co.jp)
204:名前は開発中のものです。
08/02/26 09:18:20 WlqAATX2
楽しみにしてますよ~
205:167
08/02/28 12:15:32 DcPvHY26
Ver1.00になりました(´Д`)
ヘルプの方も色々と誤字などを修正し細かいところですが書き改めてみました。
サイト全体を変えるのには、もう少しかかりそうです。
・一部ビデオカードで不正終了していた不具合を修正(yaneSDKのバグですが)
URLリンク(abysslib.hp.infoseek.co.jp)
206:167
08/03/01 20:03:40 bCAcnPBr
サイト全体を色々と変えるのには手間がかかります、もう一週間ぐらいはかかりそうです(´Д`)
なので、アンケートでも取ってみます。
現在、AbyssLibのScriptPlayerはyaneSDKを用いて制作しております。
ですが、他のライブラリを用いても制作できるようにAbyssLibは作っております。
ですので他のライブラリでScriptPlayerを作ってみようかと思うのです、オススメのライブラリはありますでしょうか?
DirectXが最多票になってしまう気がしますが、オススメのライブラリをお待ちしておりますm(_ _)m
207:名前は開発中のものです。
08/03/02 01:11:37 L45HwFVi
どういう意味でのライブラリを求めてるのか知らないけれど、
移植も考えるならSDLとか?
208:167
08/03/02 10:50:11 fWG1GsJc
>207
ゲーム制作に多用されているライブラリを、と考えております。
勿論、AbyssLibはライブラリを使わずDirectX(まあDirectXもライブラリですが)を用いて動作させることも可能です。
個人的には、LunaかSDLかぐらいが有名なゲームで用いられるライブラリかな、と。
まあ、D3DXでぱぱっと作っちゃっても構わないわけですが…ウインドウの初期化処理とかがめんどくさいんですよ、ええ(´Д`)
209:167
08/03/02 11:41:14 fWG1GsJc
そして書き忘れていたので追記を
Ver1.00になった際に、(yaneSDKを用いているScriptPlayerを除き)VC2008での動作を確認しております。
まあ、常識的なコードの書き方をしているから当たり前の話なのですが(´Д`)
210:名前は開発中のものです。
08/03/02 13:13:42 sJ/XLfez
Irrlicht とかが画面だすのは簡単だたよ。
211:名前は開発中のものです。
08/03/02 16:57:08 3Hl2wphL
ソース読んでないのですが、yaneSDKにアクセスする部分はラッパーで
包んであるのでしょうか。お疲れ様です。
Irrlichtは私も使ってますが、2D機能が弱くて、追加で2~3k行程度の2Dライブラリ
を自作しました。
なのであんまりお勧めしません。
212:167
08/03/02 18:50:01 fWG1GsJc
一週間かかると書きましたが、一日で何とかなりました(´Д`)
改装も終了しましたし、これからはサンプルを用意しつつ要望をフィードバックしていこうかと。
現時点での「他のライブラリ」の候補は、DirectX、Luna、SDLあたりで。
>210
ググって調べてみたところ、本格的な3Dライブラリなようですね。
3Dゲームにも使えるということを証明する為に実装を………何だか、勉強が必要な気がします(3Dの)
>211
そうですね、グラフィック機能・サウンド機能・ユーザー入力機能の全てをラッパーで包んであります。
よって、どのライブラリからでも純粋仮想関数を継承し実装する形で利用できるかなと。
まあ、まだ机上の理論なので実際に他のライブラリを使うと不具合が出るかもしれませんが。
213:167
08/03/02 19:00:02 fWG1GsJc
付け忘れていましたので
URLリンク(abysslib.hp.infoseek.co.jp)
214:名前は開発中のものです。
08/03/03 00:22:12 0yLnpI9I
あの、今自分用の小型エンジンを作ってて、
スクリプトはコンパイル方式を採用しているのですが、
スクリプトの修正&コンパイル後も
セーブデータの互換性を保つ方法ってどんなのがありますか?
具体的な例を挙げると、
スクリプトをコンパイル&公開 …… 1
バグ発見のためスクリプトを修正
修正パッチを公開 …… 2
の1と2の間でセーブデータの互換性を保ちたいのです。
現状では、仮想マシンの作業メモリと実行アドレスを保存することで、
任意の位置でのセーブを実現しています。
ただ、コードに変更がないことを前提にロードしているので、
スクリプトを変更してコンパイルすると、
戻って欲しい位置に復帰してくれないという状況です……。
215:名前は開発中のものです。
08/03/03 00:49:09 8wOrV/Xh
>>214
>現状では、仮想マシンの作業メモリと実行アドレスを保存することで、
この方式でセーブしている限り無理です。抽象化したセーブデータの構造を
とらないと、この問題に対応するのは難しいです。
216:167
08/03/03 02:02:06 0A1OCtBB
>214
此方と同じ方式ですね、此方はその辺は諦めきっております(´Д`)
諦めるのもひとつの手かと、誤字脱字の修正レベルならセーブデータに互換がありますし。
………答えになっていませんですか、そうですか(;´Д`)
217:名前は開発中のものです。
08/03/03 21:48:13 0yLnpI9I
なるほど、位置情報でセーブする限りは難しいということですね……。
誤字脱字はさすがに修正できないと困るので、
シナリオはデータベース化してスクリプトから分離しようと思いますが、
商業エンジンとかの演出強化パッチとかってどうやってるんでしょう。。。
一行ごとにユニークなラベルを振るとか……?
218:名前は開発中のものです。
08/03/03 23:27:34 EF19HyRy
ポインタの概念が分かってればそうやろうとは思わんかね?
219:167
08/03/05 14:37:22 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%にはできないと思います。より複雑にすると、ロード時間が増えてしまう気もしますし。
220:167
08/03/05 14:39:36 8GmHp0Qk
>218
ポインタでたとえると、スクリプトの修正はメモリを弄る(データの再配置など)に該当すると思います。
ポインタの概要というのは位置情報のセーブと同じでそれではできないような気がします。
以上、思いつくままに書いてみました。間違ってたら申し訳なく(´Д`)
221:214
08/03/08 12:20:15 25l4JxkE
みなさんどうもありがとうございます。
あれからいろいろと発想を変えて考えてみましたところ、
やはりスクリプトを変更可能な形での完全復帰は難しいと言うことで、
逆に、現状のスナップショット的なシリアライゼーションを
システムのサポートから外してしまおう、という結論にたどり着きました。
これにより、スクリプトに実装できるオブジェクトの幅が広がると同時に、
プログラム構造の簡便化が図れるのではないかと思っています。
もちろんセーブ・ロードはゲームに必須の機能なので、
代わりにデータベースファイルへのアクセス用オブジェクトをサポートして、
状態の保存と読み込みを各スクリプトに一任するという形にするつもりです。
とりあえず明日までに実装してみて、駄目そうならまた考えてみます。
222:名前は開発中のものです。
08/03/08 15:51:24 O2hDer12
>>221
スクリプト側に状態保存を一任とかすると、すごいバグの温床になるよ……(経験者談)
アドベンチャー系のゲームの場合は、発想をまるごとかえて、
・オブジェクトへのプロパティ設定が実際に画面や音声に反映されるのを遅延する仕組み
を作ったうえで、
・任意のシナリオファイルの頭から指定行(再生位置)まで以下の2種の再生ができるプレイヤー
a. 画面を更新しつつ再生
b. 画面更新なしでプロパティの設定のみ行い、再生して位置がきたら全オブジェクトの画面を構築
をつくっておけば、どんなに複雑な処理をしてしまっても、セーブ情報としては、
フラグ系+現在のシナリオ+現在の行(テキスト)番号
だけでよくなる。
ロードするときには該当位置まで一気に内部再生してしまうわけ。
常に前回からのプロパティ差分を記録、とかデータの保持を工夫すれば逆再生も可能。
シナリオをいじると、行が前後する可能性はあるけど、たかだか数行程度なので、
ユーゼの許容範囲内。使えないことに比べると断然よい。
あと、長すぎるとシナリオ末尾のロードにすごく時間がかかるようになってしまうので、
適度にシナリオを切り分けて、その頭では常に全オブジェクトが破棄されたところから開始、
とか工夫する必要はある。フラグ系も常にシナリオの間で処理するようにしておかないと危ない。
一般的な ADVなら、よっぽど変なことをしてない限りは、100kぐらいまでの分量なら2~3秒
以内に読み飛ばせると思う。
223:167
08/03/22 22:31:09 Mh8Q2q/k
お久し振りです、関数をひとつ追加しVer1.01に格上げしました(´Д`)
現在は、DirectX9を使用したScriptPlayer2を作成中です。
意外と、直接DirectXを弄るのって面倒ですね(´Д`)
224:167
08/03/27 21:20:23 AYfrO4G4
セーブ/ロード画面のバグを修正し、Ver1.02にしました。
また、ScriptPlayerのカラーキーを(0, 0)のRGBから、RGB(0, 255, 0)に変更しました。
他にも細かい変更がありますが、それはサイトの方を見て頂ければと。
URLリンク(abysslib.hp.infoseek.co.jp)
225:167
08/04/05 20:03:27 S56PFwNU
そして誰もい(ら)なくなった(´Д`)
セーブ/ロード/環境設定のバグを修正し、新規に関数を加え、
既存の関数の仕様を修正しVer1.03にしました。スクリプトの仕様も若干変えており、
BasicCommandsがVer1.01になっております。とりあえずこれで暫く据え置いて、
DirectX9.0cで動作するScriptPlayer2の開発を続けます(´・ω・`)
これが完成すれば、3Dゲームにノベルエンジンを乗せるといった
変態的なことが出来るようになる筈です。
URLリンク(abysslib.hp.infoseek.co.jp)
226:名前は開発中のものです。
08/04/06 13:09:02 ZZArlQe5
>>225
いつか使わせてもらおうかと思っているのでがんば。
227:名前は開発中のものです。
08/04/06 18:07:29 Aw4zSfHm
>このクラスは単独で利用される事を前提に設計されています
シングルトンは?
228:167
08/04/06 21:40:25 KQbfR7n9
昨日頑張ったので今日はお休みです、Nezが面白いです('='
>226
頑張ります(´・ω・`)
>227
Singletonパターンはポリモーフィズム不可となってしまいます。
NovelPlayerは派生前提のクラスですので、そうしてしまうとまずいのです(´Д`)
………しかし、ググってみるとMonoStateパターンというのがあるのですね。
これなら、派生と唯一の保証が同時にできそうです。次回アップグレード時には変更しておこうと思います。
229:167
08/04/24 00:27:18 tTzhnCFW
ScriptPlayer2を作りつつ、Ver1.04にしました。
変更点は、初期化時に初期化フラグを指定するようになりました。
そして、MonoStateパターンはNovelPlayerクラスには不向きなことが発覚。
よって、唯一であることを設計で保証することはどうにもできなさそうです(´Д`)
URLリンク(abysslib.hp.infoseek.co.jp)
230:167
08/05/23 20:30:14 ceSRwxFD
お久し振りです、現況報告をしておきます。
今現在、引き続きScriptPlayerを作成しております。
グラフィック機能とユーザー入力機能の作成を完了、
現在はサウンド機能を手がけるまえにスクリプトのtext命令における
改行処理を改善しております。
以前のtext命令における改行処理は、文字サイズ×文字数で規定サイズを超えないかを
チェックし、超えていた場合改行を挿入するという形にしておりました。
ですが、これだとプロポーショナルフォントの場合に明らかにおかしなことになってしまいます。
ですので、今はGetGlyphOutlineを利用し一文字一文字のサイズを取って改行処理を行うようにしてます。
………ですがここで問題発生、なぜか一部の文字列で文字が途中で切れるといった現象が発生してしまっています。
数日間原因を追っているものの原因は不明で、さきほどようやくyaneSDK内に原因があることを突き止めました。
これを突き止め、改善した後にスクリプトおよびAbyssLibのバージョンを上げることになります。
231:名前は開発中のものです。
08/05/24 13:37:00 2xbvH38B
Java SEとJava MEでスクリプト互換なADVエンジン作ってる俺もここにいて良い?
java ME版はとりあえず画像・エフェクト・サウンド以外は実装されてるから実機で動くブツがあるんだが。
232:167
08/05/24 16:15:18 wIfHDoSg
>231
一人だけだと寂しいので、是非どうぞ(´Д`)
233:231
08/05/27 14:58:53 LVQuf83F
バイナリとスクリプトだけ持ってきた。
テキスト垂れ流しがループするだけだけど
実機ではw-zero3でのみ動作確認済み。
URLリンク(sourceforge.jp)
234:167
08/05/31 15:29:52 cDHtMtgR
>233
落としてみました~…が、どうすれば動作するのやら(´Д`)
Javaは弄ったことがないので分かりませぬ、教えて頂ければと。
235:167
08/05/31 15:40:40 cDHtMtgR
そしてAbyssLibをVer1.05に、プロポーショナルフォントの問題は原因不明です(;´Д`)
yaneSDK内のバグであるのは明らかなのですが…折を見て精査しようと思います。
とりあえずはScriptPlayer2のSound周りを実装していこうと思います、完成したら
漸くサンプルの製作に取り掛かれますので(´・ω・`)
236:167
08/05/31 15:41:16 cDHtMtgR
いっつも忘れてるなぁ…orz
URLリンク(abysslib.hp.infoseek.co.jp)
237:名前は開発中のものです。
08/06/06 09:50:02 oQ0IjW0F
>>234
PC上で実行するならJDKとWTKインストールしてパス通してjadをダブルクリックで
インストールがエミュレータ上で開始されるからインストールが終わったらメニューから開始。
実機ではMIDP2.0端末なら動くから端末のインストール方法に従う。
BSDで公開してるから再うpおkだからOAPでもいけると思うよ。
ソース?まだ公開しない。
238:167
08/06/24 17:33:27 sm4oPcBg
お久し振りです、漸くScriptPlayer2の完成が見えてきました。
MP3の再生に苦労しておりましたが切り捨てることで解決、実装してもライセンスの問題がありますし…(´Д`)
現在はテスト中です、早ければ明日か明後日にでもアップロードできると思います。
ScriptPlayerやAbyssLibにいくつかバグが見つかったので、それも直してからということで。
ScriptPlayer2の完成で、yaneSDK以外でも動作可能なことが証明されます。
よって、今後はプログラム的な面ではなくサンプル制作に取り掛かろうかと。
で、短いノベルパートでも作ろうと思うのですが…シナリオなんて書いたことありませんorz
何か良い手はありますか?
プログラム的な面では、ScriptPlayer2の強化をしていきたいかなと。
今現在、サウンドはMIDI/WAVE/OGGをサポートしてますが、OGGが非ストリーム再生です。
よってOGGを再生しようとすると、読込でハングアップしているように見えますw
そこをストリーム再生に対応させたいかな、と。
あとは、余裕があったらIDEなんかを作ってみたいですね。
今はスクリプト式ですが、GUIでも作れるようになったら門戸が広がるんじゃないかと。
まあ、何れにせよ組み込み用というニッチな用途なのですがw
URLリンク(abysslib.hp.infoseek.co.jp)
239:167
08/06/24 17:36:27 sm4oPcBg
>>237
ありがとうございます、って携帯端末用なのですかっ!?
凄いですね、でも何だか同じニッチ仲間のかおりがしますw
240:167
08/06/24 17:56:55 sm4oPcBg
ああ、あとScriptPlayerのプロポーショナルフォントについてのバグですが、
調べてもまったく原因が分かりませんorz ですので、修正は後回しにしようかと…。
241:231
08/06/25 03:42:36 XEInH/6C
シナリオ書けるけど書こうか?
242:167
08/06/25 22:20:04 IYU4+aQR
VC2003にてScriptPlayer2の動作テストを完了させました。
というわけで、VC2005、VC2008用でテストを行おうとしたところ…。
SDKの問題にぶち当たりました、DirectMusicが入ってないとか何とか…。
もう本当にマイクロソフトは………。
>>231
宜しければ是非にお願いしたいです。
作品ではなくサンプルですので、お気楽に提供してくださればと。
スクリプトの記述は此方で行いますので、演出効果の指定などあれば嬉しいです。
243:167
08/06/27 02:10:02 ir5KQ5HR
ScriptPlayer2をアップロードし、他色々と細かなことを行いました(詳細は更新履歴を参照してください)
今後の方針は
1.ScriptPlayer2の強化(ストリーミング再生対応)
2.サンプル製作(ADVサンプル、SLGサンプル、STGサンプル)
といった感じで考えております。バグ報告、要望などなど大歓迎です。
さて、それじゃあ寝ます。明日早いのに………λ
URLリンク(abysslib.hp.infoseek.co.jp)
244:231
08/06/28 21:19:12 XOIOwuqi
>>241
おkわかった。
演出指定とフラグ・分岐指定はマなら分かる程度の疑似言語でかいとくよ。
というかうpろだがないのでどこか使える場所を教えてほしい。
245:231
08/06/29 17:51:00 I2D0z5Pb
URLリンク(gamdev3.hp.infoseek.co.jp)
出来たよ。詳しくはunzipして中身読んでくれ。
246:167
08/06/29 19:23:41 nXA5Td6M
今現在、Oggのストリーミング再生に取り組んでいるのですが…DirectSoundが分かりづらいですorz
ネットを漁っても資料があまりなく…ぽつぽつとあったのを見比べながら、手探りで作ることになりそうです。
>>231
ありがとうございます、ダウンロードさせて頂きました!
来週末ぐらいまでには、形にしたいと思いますので~。
247:名前は開発中のものです。
08/06/29 19:36:59 1ldhxsw/
がんばれちょうがんばれ。
248:名前は開発中のものです。
08/06/29 20:01:12 5puWeDo2
ツールを作ってみたいのですが、どこから手をつけていいのかわかりません。
一応C言語ならわかります。
環境、Visual C++ 2008 EE
249:167
08/06/29 20:50:52 nXA5Td6M
ちょwwwDiablo3www発売までにある程度完成させないと作業放り投げちゃいそうwww
…Oggのストリーミング再生は、とりあえず設計とヘッダだけ完成しました(´・ω・`)
とりあえず、来週末までには何とかできそうです。
それにしてもDirectX Graphicsの本はあってもDirectSoundの本はないのですね、
Soundの方が分かりにくいと思うのに…。
>>248
ゲームを作るにせよツールを作るにせよ、
C++をはじめに勉強するのをオススメします。クラスを覚えたら色々と幸せになれるかと。
250:231
08/06/29 21:00:49 GLV8FDV4
>>246
問題は絵師が居ないことだな。
シナリオはかなり話が荒いが4時間で全て作ったんで勘弁してくれ。
251:167
08/06/29 21:49:02 nXA5Td6M
>>231
絵は著作権フリーのものを漁ってみようかなと。
サンプルなので、寧ろ大仰でない方がありがたいですw
252:167
08/07/05 22:03:00 EM8uOWnZ
ここ最近、調子が良いのか毎週末無駄にレスしてますね(´Д`)
進捗報告です、まずはじめにADVサンプルは手をつけてすらおりませんorz
231さん、本当に申し訳ないです…代わりに、Oggのストリーミング再生は75%ほど完成しております。
デバッグを含め、調子が良ければ明日にはアップロードできるかと。ADVサンプルはそれから手をつけ、来週末までに完成させます。
253:名前は開発中のものです。
08/07/05 22:37:39 htOeiExQ
>>252
IDirectSoundNotifyは挙動が怪しいことは知ってるかな?無駄な心配かもしれないけど。
254:167
08/07/06 19:32:31 afX0fIC8
19時26分現在、設計し直したサウンド周りのテストを行っております(´Д`)
何事もなく無事に終われば、ScriptPlayer2に反映させる予定です………間に合うのかなぁ(´Д`)
>>253
はい、存じておりますよ。
・再生位置がずれる
・停止→再生時にノイズが乗るの二つですね?
前者はサウンドドライバが原因なのでDSBCAPS_LOCSOFTWAREを指定することで、
後者は無音バッファを常に再生することで解決可能らしいです。今現在はそういった実装を行っております。
255:167
08/07/07 01:40:12 B1iyMnC8
………間に合いませんでした(;´Д`)
理由は今の今まで、無音バッファの作成→再生に苦労していたことです。
DirectSoundBufferへの渡し方を間違えており………今、漸く無音バッファの作成と再生に成功しました。
ScriptPlayerへの反映はこれからです、とはい今日は遅いのでもう寝ます。
今週前半にアップロードできればなぁ、と(;´Д`)
256:231
08/07/07 03:58:42 QupOJ94Q
スクリプト化はまだですかいね?
本題だが、もろに続くシナリオで伏線張りまくりなわけだが
ぶっちゃけ続き考えてあるからどうせなら制作速報VIPで一本つくらね?
熱くてロボットなシナリオを用意してますよ。
257:167
08/07/07 17:19:28 B1iyMnC8
とりあえずScriptPlayer2への反映が完了しました。
恐らく、今夜にはストリーミング再生対応版をアップロードできるかと思われます。
>>231
>>252の通り全く手をつけられておりません、すみません(;´Д`)
258:167
08/07/07 23:18:25 B1iyMnC8
強化ScriptPlayer2をアップロードしました。
変更点は、
1.ストリーミング再生に対応
2.対応音声形式からMIDIを除外
です。
MIDIに対応することも可能なのですが、
それを行うとコンパイルするのに過去のSDKから
DirectMusicコンポーネントを持ってこないといけなくなりますので…(´Д`)
ScriptPlayerおよびScriptPlayer2は一段落、
今後はバグフィックスと機能拡張に努めていこうと思います。
1.バグフィックス
2.機能拡張(要望次第で)
3.サンプル制作(シナリオを頂いているADVと要望を頂いているSLGを優先的に、STGなんかも作れればいいかなと)
URLリンク(abysslib.hp.infoseek.co.jp)
259:167
08/07/09 14:15:15 3maLZ88e
今日はお休み~ヽ(´―`)ノ
というわけで、現在ADVサンプルに手をつけております。
早ければ、今週末にはお見せできるかなと………。
それとScriptPlayer2についてなのですが、
現在完成しており手をつけるとしたらD3DXから離れるぐらいです。
D3DXから離れることで、
・DLL Hell(特にD3DXのは酷い)から逃れられる
・それにより、DirectX 9.0cさえ入っていれば確実に動作する
といった二点が挙げられます。それに対し、
・DirectX 9.0cの最新版さえ入れてれば確実に動作するからいんじゃね?
・D3DXからDrawPrimitiveに移行するのが面倒臭い
・そもそも3Dゲーム作ってるんじゃなし多少遅くてもD3DXでいんじゃね?
・そもそも、ScriptPlayer2自体ライブラリへの組み込みサンプルだし…
といった感じなのですが、ここをご覧の方々はどう思われますでしょうか?
260:167
08/07/09 14:23:14 3maLZ88e
>>231
レスし忘れがありましたので。
ライブラリ・サンプル制作の傍らにとはなりますが、
余裕は割とありますので此方は別に構いませんよ。
261:231
08/07/09 14:41:58 Fwq47F32
>>259
移植性を高めるためにOpenGL/AL使うとか。
>此方は別に構いませんよ。
ロボットものとしてはやっぱりロボット操縦して戦うパートもほしいわけで、
元もと組み込み用途なら理論上できるよね。
誰か3Dアクション作れる人は居ないかね?
ちゃんとやるなら絵師も欲しいし。
262:167
08/07/09 16:06:47 3maLZ88e
>>231
移植は…ライブラリ製作開始時には考えていたのですが、今は考えていないのですよ(;´Д`)
理由は単純に移植性を考えるとWindowsAPIすら使うことができなくなるわけで………。
そうですね、組み込み用途なので理論上可能です(実証はこれからサンプルを作るということで)
3Dは…勉強しなきゃ駄目ですね、ずっと今まで2Dオンリーでしたので。
263:231
08/07/09 17:41:31 gE4cMeoC
じゃあまずはサンプルで上げた部分の完成が先か。
264:167
08/07/10 00:10:00 MfiFXGOk
報告です。
………すみません、今週末までにADVサンプル完成しないかもorz
今までの単体機能テスト的なサンプルとは異なり、こじんまりとしたゲーム製作的なサンプルだと色んな不具合が出ています。
今出ている不具合の解決だけでも、AbyssLibとBasicCommandsのアップグレードが必要になりそうです。
解決策はもう分かっているのですが、問題はマニュアルの修正が………orz
と、とりあえず00だけでもでき次第お披露目しますので(;´Д`)
265:231
08/07/10 10:56:36 f30wTD23
単体テストはパスして統合テストはパスしなかったんですね。わかります。
というか統合テストやった?
266:167
08/07/10 17:03:53 MfiFXGOk
>>231
単体テスト的なサンプルというのは、ひとつひとつの命令をテストするサンプルのことです。
つまり、今までこの命令とこの命令とを組み合わせると…とかをやっていなかったわけで。
そういうのは、実際に作ってみないと露見しないと思うのですよ。
というわけで現在はライブラリを修正中、今日中に全て終わると良いなぁ。
267:167
08/07/11 20:09:54 Av6xBhfZ
報告~
不具合の修正が完了しました、あとはZipをまとめるのとマニュアルの修正だけ…。
明日朝までには何とかっ…!
268:167
08/07/12 01:42:42 ucE3c2Sf
アップデート完了しました、まだ直したいところは沢山ありますが今はここまでということで(;´Д`)
禁則処理が載ってるページってあるのでしょうか、情報求む………。
269:名前は開発中のものです。
08/07/12 08:17:27 ImROmzsK
KAGのソースコードかfirefoxの禁則処理やってる部分
270:167
08/07/12 19:27:21 ucE3c2Sf
細かい不具合も修正しましたので改めて告知です(´Д`)
AbyssLibをVer1.06に、BasicCommandsをVer1.02にアップグレードしました。
主な変更点は、
・INovelEngine、NovelEditor、NovelPlayerクラスの仕様を変更
・デフォルトの命令実行中の入力受付を有効から無効に変更
・menuon、menuoff、menuを削除、fadeinu、fadeoutu、cleartextを追加
といった感じです。これから、頑張ってADVサンプルに着手します(;´Д`)
>>269
情報ありがとうございます、調べたところそもそもどのファイルに禁則処理があるのやら………orz
Zip等でまとめて落とせれば検索ですぐに見つかるのですが、リポジトリではそれもできず………。
かなり時間がかかることになりそうです、とりあえずは後回しということで………。
URLリンク(abysslib.hp.infoseek.co.jp)
271:167
08/07/13 15:35:12 DUwTLjOJ
現在ADVサンプルを製作中、ルートAは完成しました。
残るはBとC…!
272:167
08/07/14 17:43:00 ZdsQOuQq
スクリプトは完成しました。
あとはパッケージングと多少のコーディングでADVサンプルは完成です。
ゲーム的なものを作ることでいくつかの課題が見えてきました。
今週および来週は現状で明らかになった課題を修正していこうと思います。
273:231
08/07/14 23:05:03 kiTDyCSg
kagの禁則処理はMassageLayerクラスでやってる。
インスタンス変数に禁則文字もっててprocessCh(ch)メソッド内で最初に禁則文字が来るかどうか判定して描画してる。
274:名前は開発中のものです。
08/07/14 23:06:09 kiTDyCSg
ミス、MessageLayerね
275:231
08/07/16 00:58:36 OOab/yF9
>>167
全ルートクリアしたら設定集見れるようにしてりゃれ
276:167
08/07/16 17:25:40 0TqCQX6E
進捗報告
現在、諸事情によりかなり多忙となっております(;´Д`)
開発の手を止めることはありませんが、月末まで鈍ってしまうかもしれません…。
ADVサンプル
現状スクリプトは完成しており、ScriptPlayerを少し弄れば公開可能な段階です。
ですが>>275の要望もありますので、タイトル等のインターフェースも追加します。
よって公開は今週末、ないし来週前半ぐらいになるかと思われます。頑張りますのでっ(;´Д`)
AbyssLibおよびBasicCommands
ADVサンプルの公開後は、AbyssLibおよびBasicCommandsの大規模アップデートを行う予定です。
単体テスト的なサンプルとは異なり、実際のゲーム製作なサンプルを手がけていると色々と問題が見えてきましたので。
こちらは大規模なのと多忙なのが重なり、月末あたりの公開になりそうです。今現在、主な変更点として考えているのは、
・NScripterとの比較・修正
・画面効果の見直し(修正・追加)
・全命令の見直し(スキップ時の動作など)
・画面効果の強化(多重可能、より多彩な表現を可能に)
・text命令の大幅な変更(禁則処理、複数分割、センタリング、途中での色・サイズ・スピード・フォント変更対応)
といった形で考えております。
277:167
08/07/16 19:11:59 0TqCQX6E
方向性
製作開始から四年とちょっと、公開開始から一年とちょっとが経ちました。
漸く近頃になって実用的なサンプルが見せられるようになりそうで、そのことにより方向性がより明確になりそうです。
・スクリプトは超簡単に
スクリプトは超簡単にします、BASICレベルぐらいを目指します。
スクリプトの比較対象は上記にも挙げておりますが、NScripterです。
もう少しAbyssLibおよびBasicCommandsの仕様が安定したら、GUIで製作可能なIDEも製作してみようかなと。
・要VC、要プログラマ、組み込み用途
個人的な感傷ですが、やはりゲーム開発はプログラマが居てこそ!
ですので、ウインドウタイトルの変更などのレイアウト系の命令はあまり作りません。
作ったとしても、プログラマなら直にソースコードを弄った方がずっと楽だろうだからです。
上記のような感じでニッチでノーフューチャーな感じのノベルゲームツールではありますが、
少なくとも使用者は一人(=私)存在しますので製作中止はないと思いますw
278:名前は開発中のものです。
08/07/24 00:46:51 RfOZz3aA
生きてる?
279:167
08/07/24 01:55:34 6ZdIsG3r
>>278
一応生きておりますよ、半分死んでおりますが(;´Д`)
想定以上の多忙さで、来週前半ぐらいまではまったく動きが取れなさそうです。
よって、ADVサンプルは来週末ぐらいになりそうな予感が…が、頑張りますのでっ(´Д`)
280:名前は開発中のものです。
08/07/24 02:21:39 ZNfmUoOg
乙
281:167
08/07/28 23:50:29 D3UUe4Dt
漸く動きが取れそうです、とりあえずは現状報告を。
・ScriptLinkerのバグ修正
現状、上記を終えてADVサンプル制作とAbyssLibのアップグレードを並行して行っております。
お披露目できるのは今週末になるかなと、次いで上記の大規模アップグレードを施していく予定です。
282:231
08/07/30 02:13:37 vJo0vBYR
おれもバージョンアップしたぜ。
背景・前景絵を表示できるようにした。
URLリンク(sourceforge.jp)
今後の予定
・ソース汚いから一通り完成したらリファクタリング・必要なら再設計。
・その後ソース公開。
・RAD環境の開発
283:167
08/08/02 01:27:23 f++r0Ae5
現状報告………すみません、かなりgdgdです(;´Д`)
つい先程、AbyssLibとBasicCommandsのアップグレードを終えました。
とりあえず今日明日とADVサンプルに取り組みますが、公開は今週末に間に合わないかも………。
URLリンク(abysslib.hp.infoseek.co.jp)
284:167
08/08/03 14:48:10 i2UvYafj
………間に合いそうにありません(;´Д`)
スクリプトは既に完成しているのですが、謎のバグが解決できず…。
もう少しお待たせすることになるかな、と…。
285:名前は開発中のものです。
08/08/05 22:34:48 N/23fZy3
Irrlichtと一緒に使おうとしているんだけれど、
いまいちうまくいかない<AbyssLib
>>284
バグ取り大変だけど、頑張ってください。
286:167
08/08/05 22:58:12 WpKVSQZT
おお、使ってくださっている方が!m(_ _)m
Irrlichtですか…使ったことないのでよく分かりません、すみません(;´Д`)
一応、DirectX9.0cをベースにした自作簡易ライブラリでは動作しているのでyaneSDK依存ではない…筈です(´Д`)
ただ、当たり前の話ですが2Dを前提に組んでいる為3Dライブラリでは導入が難しいかもしれません。
そのあたり、次のバージョンアップではより導入を簡易にできればなと考えております。
(実装にif-thenすら使わせず一命令ラップするくらいですむようなレベルでできればな、と)
バグは…ボタンが反応しなくなってしまうというものです(´Д`)
発生する時としない時があるのが余計に厄介で…今週末までには何とか解決しようと思いますorz
287:167
08/08/05 23:40:07 WpKVSQZT
質問・要望等があれば伺いますのでっ。
3Dライブラリ使いな人の意見も聞いてみたいです。
288:231
08/08/05 23:45:31 3N+FVzaq
AbyssLibって内部的なAPIはなに?D3D9じゃないの?
WinAPIやらMFC+CPUでごりごりな自前の2D描画層って感じ?
いっそ内部OpenGLにするって手もあるよ。
Irrlichtがバックエンドに何使ってるかは忘れたが・・・w
あとADVエンジン層の呼び出しプロセスがマンドクセてんなら組み込み言語にポートするってのもあるよ。
ピアな部分は組み込み言語用に実装して初期化やらは組み込み言語で書いて
埋め込む側は組み込み言語初期化してスクリプト呼び出しでおk。
ツクールのRGSSや吉里吉里/KAGみたいに2重構造になるけど。
289:名前は開発中のものです。
08/08/06 00:11:41 NqX/Rukm
>>286
うまく報告出来るか分かりませんが、
どこで詰まっているかを今度書いてみます。
290:167
08/08/06 00:35:18 qvQ+5RLz
>>231
WindowsAPIです(´Д`)…なんて冗談は置いといて('='
AbyssLibは組み込み用途が中心であり、つまりはあらゆるライブラリと組み合わせ可能にしたいわけです。
よってDirectX、MFC、OpenGL…何れも使用しておりません。何れかを使用すると他のに適合できなくなってしまいます。
AbyssLibはそれらの下位機能(Blt等)を全て純粋仮想関数にしており、上位の機能(既読スキップ等)を実装しております。
こうすることで、あらゆるライブラリに適合できるというわけです。反面、純粋仮想関数のオーバーライドが必要になりますが。
ですが個人的にはこれでいいと思うのです、組み込み用途である以上組み込むものがあるのでしょう(SLGやRPG等)
であれば既に下位機能は自前かライブラリであるのでしょうから、それをマニュアルに従ってオーバーライドすればいいわけです。
問題はIrrlichtや最近のDirectXのような3D系ライブラリだと、3Dの下位機能はあっても2Dの下位機能がなくAbyssLibと組み合わせ難いということです。
その辺は頑張ってくださいとしか、どの道ADVパートを組み込むのであれば2Dの下位機能は必須でしょうし(ら○デスみたいなものを作るのであれば別ですが)
今後の課題は上記にもある通り、純粋仮想関数のオーバーライドの負担を極力減ずるということです。
AbyssLib内で行う上位の機能の範囲を広げ、できれば一関数をラップするだけで済むぐらいにしたいものです。
現状、上記のようなコンセプトで実装しております。
yaneSDK(内部的には旧DirectX)、DirectX9.0cで動作確認済みで、
恐らくはOpenGLやSDL等でも動作するでしょう(ただし内部でWindowsAPIは使用してますのでMacやLinuxでの動作は不可能です)
組み込み言語はひとつの手だと思います、コンパイラ・リンカの製作を避けられますし。
ただ、個人の勉強も兼ねて製作しておりますのでなるべく手の届く範囲は自作したいのです。
現在の状態でも組み込み言語に対応させることは可能かと思います、各種クラスや関数の呼び出しを実装するだけなわけですし。
何れ余裕ができたら、Lua用の呼び出しインターフェース、Python用の呼び出しインターフェースとか用意したら面白いかもしれません(笑
291:167
08/08/06 00:36:21 qvQ+5RLz
>>289
ありがとうございます、ご報告を楽しみにしておりますので。
292:231
08/08/06 01:11:31 Lv1L32N2
>>290
要するに細かい部分はインターフェース層用意してあるからそっちで実装してねって事か。
純粋仮想関数のオーバーライドはjavaとかC#とかやってると設計上普通に使うから今時負担にはならんと思うよ。
293:167
08/08/06 01:25:50 qvQ+5RLz
バグ取れた-----(゜∀゜)-----!!!………何このケアレスミスorz
yにすべきところをコピペでxにしていたという…このバグ、該当箇所の関数を
一切弄っていなかったことを考えると関数の実装当時(初公開以前)からあったのですねorz
ともあれこれで正常にボタンが動作するようになった筈です、早速試して可能であれば今週末にADVサンプルをあげますので!
>>290
そういうことですね、ユーザーフレンドリーではありませんが柔軟性は高い筈です。
今後の課題はよりプログラマフレンドリーにすることです、速度低下はADVパートだしとあまり気にしていなかったりします(´Д`)
294:名前は開発中のものです。
08/08/06 02:21:05 WjJ1ombz
よく見るんだ!>>290は自分じゃないか!
295:167
08/08/06 03:22:43 qvQ+5RLz
うっは、192でした………orz
AbyssLibおよびBasicCommandsのアップグレードは明日(というかもう今日)行います。
ADVサンプルは今週末の完成を目指します。
AbyssLibの大規模アップグレードは今月末の完成を目指します。
とりあえずは上記の予定です。
296:167
08/08/07 00:21:06 8axzCyIL
またエンバグ………今週末までには何とかっ!
297:167
08/08/07 12:30:56 8axzCyIL
AbyssLibおよびBasicCommandsのアップグレードを行いました。
AbyssLib:不具合を修正のみ
BasicCommands:新規命令(nop)を追加
これで大体のバグは潰せている………筈です、きっと、願わくば(´Д`)
当分はこれを安定版としつつ、大規模アップデートを今月末までに完了させる予定です。
298:名前は開発中のものです。
08/08/07 14:26:17 ++0TUaIL
waitとかsleepではなくnopですか。渋いな。
299:167
08/08/07 15:17:20 8axzCyIL
あはははは、またバグが、またバグがっ………!(゜∀゜)
根深いものではなく単純なものなので簡単に直せるのですが…どうしてこう、エンバグするのかとorz
やっぱり、一人でのバグチェックには限界がありますね…結構、見落としがぼろぼろとあります。
>>298
………sleepの方が分かりやすいですよね、はいorz
waitは既に使っているので、sleepを使わせてもらおうと思います。
300:名前は開発中のものです。
08/08/07 18:15:34 f6zTaTYA
バージョン管理やるべ。過去のソース追えて楽だぞ
301:167
08/08/08 02:46:56 Q5Dc92Vt
一通りバグを確認、明日(というかもう今日)中に全て片付ける予定です
エンバグというと微妙に語弊がありますね、今まで気付かなかったバグがぼろぼろと出てきています。
主にメニューの呼び出し禁止命令やテキストウインドウを非表示にする命令などあまり使っていなかったもので…。
出る度にバグは減っているのだ、と思って自らを誤魔化してみたり(´Д`)
>>300
ですよね、ですがどうやってするものやらさっぱりさっぱりですw
今のところ、前バージョンとはDFで差分検出して検証しつつデバッグ等はしておりますね。
302:名前は開発中のものです。
08/08/08 03:07:24 UnoY0GuR
DFで差分みながらなんてそんな前世紀的な……
とりあえず subversion、あるいは TortoiseSVN でぐぐるんだ。
サーバたてなくても、ローカル、あるいは、適当なネットワークフォルダでも
運用できるから、早急な導入をおすすめする。
303:名前は開発中のものです。
08/08/08 09:56:20 iudT77aK
DFで差分見ながらなんてそんな!とか言おうとしたらすでに言われた件。
ついでにBTS導入するのをお勧めするよ。
そのうちソースじゃなくてバグの方追えなくなるからw
鯖立ててtracなんてどう?
304:167
08/08/08 17:07:02 Q5Dc92Vt
発見した不具合をあらかた修正しました。
AbyssLibおよびBasicCommandsのアップグレードは明日明後日になりそうです。
これから、再チェックを行いますので………。
>>302
>>303
情報感謝です、勉強して導入を検討してみますね。
305:231
08/08/09 20:39:22 RxHiriqz
リファクタリングしてたらバグ取れた。
リファクタリングになってねぇw
306:名前は開発中のものです。
08/08/09 22:45:31 uIIH5joG
AbyssLibおよびBasicCommandsのアップグレードを行いました。
AbyssLib:不具合を修正のみ
BasicCommands:nopをsleepに変更
今度こそ、大体のバグは潰せている筈………一応、ADVサンプルで何度か試してみました。
そろそろ、安定版になりたいなぁ…それじゃあ、今からADVサンプル制作にかかります。
今のところ、残すはCGモードと設定を見られるようにするモードのみです。
URLリンク(abysslib.hp.infoseek.co.jp)
307:167
08/08/11 16:07:05 rWv/Paab
ADVサンプル、完成しましたっ!
今夜にはアップロード予定ですっ…!
とりあえず今からはテストと添付テキストを用意せねば…。
そして231氏すみません、結局考えた結果クリア後の設定表示を省きました。
粋なインターフェースを思いつかなかったというのと、スタンダードなサンプルにするというのが主な理由です。
代わりに、設定のテキストファイルを添付する形にしようかと思います。
308:231
08/08/11 23:09:21 WZ10t0Jr
>設定のテキストファイルを添付する形にしようかと思います。
それでおk。readonly属性付けてね。
でもう夜なわけだが
マダカネ?AAry
wktk
309:167
08/08/12 00:54:27 ZamgD3kn
お盆休みのバイト納めにうきうきしていると…あ、こんな時間orz
はめを外しすぎました、明日中にはアップロードできると思いますorz
(一応、こそこそと色んな付加要素も作っていたり。こういうことも出来るぞ、的な)
310:167
08/08/12 18:41:15 ZamgD3kn
ADVサンプルのアップロードを終えました!
URLリンク(abysslib.hp.infoseek.co.jp)
AbyssLibのアップグレードも行いました、変更点は細かな不具合の修正のみです。
URLリンク(abysslib.hp.infoseek.co.jp)
311:231
08/08/12 22:02:40 T5rKjtuP
GJ!
さて話の続きは考えてあるのだが。どうしようか・・・。
312:167
08/08/12 23:05:48 ZamgD3kn
さて、ADVサンプルをアップロードしたことで一区切りがつきました。
今後の予定は、
・大規模なアップデート(Ver1.100→Ver1.200に)
・画面効果・画面更新・命令の追加
・他サンプルの作成
上記のような感じです。
具体的には、
text(禁則処理、複数分割、表示位置調整(センタリング)、ウエイト、カラー、スピード、サイズ、フォント、文字間、行間、ルビ)
quake(揺れ回数)
update(より多くのパターンを実装する(シャッター、カーテン、スクロール))
volume(voicevolumeを実装する)(voiceあるいはtextvを用意するべきか?)
select(制限時間付きの選択肢も用意する)(新命令として用意するべきか?)
出来れば(桜・雪・雨・蛍などの特殊演出、乱数、for~next、break;)
BaseDrawManager(テキストの最大縦幅を取得できるようにする)
テキストカーソルを絶対位置で設置可能
DefOut(ハードコーディング(define)をファイル外部から変更可能にする)
といった感じです(メモをコピペしただけですので分かりづらいですね/汗)
サンプルの作成は、
SLGサンプル、RPGサンプル、STGサンプルといったものを考えております。
希望があれば受け付けますので、レスして頂ければと。
>>231
そうですね、此方のスタンスとしては「何れゲームを作成する為にベース(AbyssLib)を作成している」です。
ですので基本的にはAbyssLibに傾注しますが、より本格的なADVをAbyssLibのテストも兼ねて作成してみたいと思っております。
長々とあれですが、要は「やるならプログラム・スクリプトは頑張るよ!」ということです。絵とか音楽とかは才能ないので無理です(笑
本格的に作るのであれば人材募集は必須でしょう、そういった面を行うつもりがあるのであればプロジェクトとして作るのもいいかもしれません。
313:231
08/08/16 19:57:10 av1TojkH
java ME MIDP 2.0向け ADVエンジンのソース公開しますた。
URLリンク(sourceforge.jp)
このエンジンはプログラマ向けのADVエンジンフレームワークであってプログラミングできない人向けではありません。
開発には最低でもJDK+WTKを必要とします。
ちなみに私の開発環境は
JDK6u4
WTK2.2+パッチ
eclipse
eclipseME
です。
CLDC1.1+MIDP2.0な環境なら理論上動きますがRAMを多く食うのでjavaヒープの少ない端末ではOutOfMemErrがでると思います。
また、ターゲットとする端末向けにカスタマイズする必要がある部分があるかもしれません。
ライセンスはBSDなので著作権表示さえしてもらえればソースの改変等は自由です。
まだドキュメントを用意してないので知りたい事があればソースを読んで下さい。
・・・以上! わかったらとっととダウンロードしなさいよね!?
314:167
08/08/18 15:04:32 aHmAcXWQ
お盆も終わりましたね、また忙しくなります(´Д`)
そろそろフルスロットルをと頑張り中です、とりあえず斜体と太字を扱えるように現在ソースを弄っております。
此処が完成したら、多分ルビとかは簡単に実装できるでしょうし………新バージョンは、今月末にはお披露目できるかなと思います(願望
315:名前は開発中のものです。
08/08/27 15:54:16 ZHpwjxY+
URLリンク(hebiya.blog40.fc2.com)
316:167
08/09/07 16:50:05 FG5ygJhj
お久しぶりです(´―`)
DAT落ち防止も兼ねて、報告をと。
現在、スランプ中にて遅々として進まぬ状態です…が、何とかコーディングは四割方終わらせました。
まあ、デバッグやテストを含めると全体の二割といったところですが………遅くとも、今月末には大規模アップデートを行ったAbyssLibをお見せできると思います(´Д`)
317:名前は開発中のものです。
08/09/07 18:00:14 PE+kmDxS
おお 期待してまさ!!
318:167
08/09/13 16:38:48 WRTiVf8b
月末に、と申し上げましたがコーディングが遅々として進まず遅れる可能性大です(;´Д`)
それにしてもレス少ないですね、というわけでアンケートでもとってみようかと思います。
次期バージョンではテキストにルビを振れるよう、現在開発しております。
で、ルビの仕様を悩んでいるのです。
1.ルビのフォント
A.固定
B.スクリプト内で変更可能
2.ルビのサイズ
A.固定
B.スクリプト内で変更可能
3.ルビのカラー
A.固定
B.ルビを振った文字のカラーに順ずる
C.スクリプト内で変更可能(Bのように順ずるのも含めて)
4.ルビのスタイル
A.フォント・サイズ・カラーはルビ中で変更なし
B.フォント・サイズ・カラーはルビ中で変更可能
もう少し詳しく説明しますと、たとえば「命」に「ライフ」とルビを振ったとしましょう。
Aの場合はMSゴシック、10pt、#FFFFFFなら「ライフ」全てがそれに従い、
Bの場合はタグによって「イ」だけMS明朝、12pt、#FF0000が可能ということです。
個人的にはルビは見易さ重視で考えるとAの方がいい気はするのですが…(実装も楽ですし)
319:231
08/09/14 00:29:14 A3GkI6HQ
俺ならこれで実装する。
1.ルビのフォント
A.固定(ルビを振る文字のフェースを使う)
2.ルビのサイズ
B.スクリプト内で変更可能
3.ルビのカラー
C.スクリプト内で変更可能(Bのように順ずるのも含めて)
4.ルビのスタイル
B.フォント・サイズ・カラーはルビ中で変更可能
最低限、吉里吉里とNスクに出来ることくらい実装しないと再開発する意味がないかと。
320:名前は開発中のものです。
08/09/14 12:59:53 Fsu4ojMp
変更可能なら固定のときの統一したのも作れるからいいんでない?とプログラミングの知識のないやつが苦労も知らず
321:167
08/09/15 14:16:37 RanEnJ2T
アンケートにお答え感謝です。
一応、B、B、C、Bにしておこうかと。
>>319
ですよね、ちなみに調べたところ
NScripterはB、B、B、不明(恐らくA)、
吉里吉里は不明(恐らくAか文字に順ずる)、A、不明(恐らくAかB)、不明(恐らくA)です。
>>320
苦労は然程ないのですよ、複雑で面倒ではありませんが難しくはありませんので。
ただ、スクリプトの自由度を高めれば高めるほどスクリプトが複雑怪奇になるのが問題です。
ルビのサイズを例にしましょう
まず、ルビの存在を認めるのなら文章に行間を設けなければなりません。
そしてルビのサイズを固定でなく可変にするなら、当然行間も固定でなく可変でなければなりません。
ところが、行間を可変にすると見た目が著しく悪くなることがあります。ルビのサイズをとある一行だけ72ptにした場合を考えてみてください。
また、ルビは通常文字に被さるべきものではありませんが文字に被せたいと思う人が居るかもしれません。
以上のことを考えると、ルビのサイズを可変にするなら1.各行の行間を個別に設定できるようにする、2.デフォルトの行間を設定できるようにする、
3.ルビのサイズ>行間なら行間を拡張するかのフラグの三つが必要になり、ユーザーはデフォルトの行間を設定、ルビのサイズを設定、
それに合わせての行間を設定、行間を自動で拡張するかのフラグの設定の四つを行う必要が生じます。
この方法は自由度が高い反面、設定しなければならないこと、覚えなければならない仕様などが増大します。
個人的に、こういった仕様は悪仕様だと思うのです。自由度を制限する反面、扱いやすいものを提供すべきかなと。
自由度の限りなく高いノベルゲームツールを求めるのでしたら、マイクロソフトのサイトに世界中でデバッグされてバグが限りなく少ないであろう
ものがあるわけですし(VS2008ですね)
322:167
08/09/15 14:21:58 RanEnJ2T
個人的にはNScripter>吉里吉里です、扱い易いのが非プログラマには良いでしょうし。
今のところ、ライブラリ側では自由度を高くしておきスクリプト側で制限をかけるというのが一番いいかなと思っております。
(吉里吉里のKAGとかはそんな感じっぽいですね)
なので、今後はそういった方向で開発していこうかと思っております。
323:167
08/09/25 20:57:34 9u2Ww/ne
DAT落ち防止を兼ねて報告を。
今現在、AbyssLibのコーディングを六割方終わらせました。
今現在までに行ったことは、
・全ソースコードの見直し:いくつかバグを発見し修正(追加要素でエンバグする可能性大ですが)
・文字列の拡張:テキスト、発言者名、文字列スプライトなどでタグを用いて文中でフォントなどの変更が可能に。
・ルビ:文字列の拡張に伴い、ルビの使用が可能に。ルビでもタグを用いて文中でフォントなどの変更が可能です。
・音声を実装:SE、BGMに加えて音声関連のメンバ関数をサウンド用デバイスクラスに実装しました。
今後は、
・DefOut:現在、定数は#defineで定義していますがそれを外部ファイルから変更可能にします。
・シーンのクラス化:既読履歴、環境設定などのシーンをクラス化してNovelPlayerクラスから分離させます。
・オブジェクトファイルの追加ロード:オブジェクトファイルを追加で読み込むことが可能になるようにします。
といった感じです。AbyssLibの変更に付随して他も変更しなければなりませんし…恐らく、来月末ぐらいまではかかるかと思われます。
324:名前は開発中のものです。
08/09/30 09:40:04 eJlk0agD
文字のフォントをいじれるのはいいですね
太文字とか使いたいし
325:名前は開発中のものです。
08/10/21 22:07:40 dVrZK8u0
>>321
そもそも行間のサイズを行の文字列から計算するのはどうなんでしょうか。
326:325
08/10/21 22:10:54 dVrZK8u0
ルビと文字をかぶせたい場合に備えて、
ルビと文字の間隔は指定できた方がいいかもしれません。
このあたりはTexとか吉里吉里を参考にするといいと思います。
327:167
08/10/22 22:49:32 quMdw/pV
月末にAbyssLibだけでも公開できればと思うのですが…間に合うのかなぁ?(;´Д`)
>>325
行間のサイズを行の文字列から計算すると言いますと?
ちなみに今現在の使用は「ライブラリ側では行間を一切考慮しない」です。
行間に関する処理は全て非ライブラリ側(DLL)側に委任し実装させます。
現在のところ、ルビと文字の間隔は指定可能です…裏技めいた方法で、ですが。
その辺の仕様はDLLで吸収し、何の変哲もない間隔指定をスクリプトに追加する予定で。
328:名前は開発中のものです。
08/10/23 13:37:25 j1MYmFLI
>>327
> 行間のサイズを行の文字列から計算する
表示する段階でおそらく一行分の文字情報(文字の幅や高さなど)はすべてそろってると思うので、
そこから一行の高さを計算するということです。
つまり、一番縦に長い文字が行の高さを決定します。
329:名前は開発中のものです。
08/10/23 23:11:20 FH2BlMc9
リーディングも計算してあげて下さい。
330:名前は開発中のものです。
08/10/24 08:56:00 CgrY7nMS
というか、yaneSDK使ってるのなら、
CTextFastPlane オブジェクトの UpdateTextAA() 後に
行の高さと幅が決まるので、
GetSize でその値をそのまま持ってくればいいのかもしれません。
331:167
08/10/24 22:40:22 kr1qcbwb
>>328
各行の縦幅(高さ)はその方法で算出していますね、問題は行間(行と行、行とルビ)なわけで…。
>>329
リーディングとは何でしょうか?
>>330
ScriptPlayerのグラフィック機能とサウンド機能にyaneSDKを使用しておりますが、
AbyssLibそのものにはCとC++とWindowsAPIのみを使用しております。
yaneSDKをAbyssLibそのもので使うと、yaneSDK必須になってしまうわけで…。
332:167
08/10/24 22:56:09 kr1qcbwb
なんだか曖昧な話をしてしまっているような気がしますので、今現在における文字列の実装を以下で説明致します。
拡張された文字列に関わるクラスは、以下の通りです。
RubyTextToken
ルビの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅
RubyTextTokenLine
ルビの文字情報(行単位) vector<RubyTextToken>に縦幅と横幅の取得関数を付加したようなもの
TextToken
テキストの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅、ルビ
TextTokenLine
テキストの文字情報(行単位) vector<TextToken>に縦幅と横幅の取得関数を付加したようなもの
TextTokenSection
テキストの文字情報(文単位) vector<TextTokenLine>に縦幅と横幅の取得関数を付加したようなもの
RubyTextTokenSectionはありません、実装しようかとも考えたのですが深く考えると脳味噌が死にそうなので止めましたw
(実装した場合、ルビを改行したりといった変態的なことが可能にはなるのですが)
333:名前は開発中のものです。
08/10/24 23:03:27 CgrY7nMS
>>331
UpdateTextAA云いはyaneSDKの場合の説明ですが、
大抵のシステムでは文字の幅と高さを得る何らかの方法があるので
yaneSDK必須ということにはなりません。
あと、ルビについては、確かに大きなサイズを設定するとレイアウトは狂ってしまうかもしれませんが
普通はそういうことはしませんし、そういうことをして表示が少し変になっても多分誰も気にしないと思うのです。
単純に、
[その行で一番長い文字の高さ] + [その行で一番長いルビ文字の高さ] + [ルビがあるならルビと文字の間隔] + [何らかの固定マージン]
で行の高さを決めるのはどうなんでしょうか。
334:167
08/10/25 15:13:29 CxRTKNsw
拡張された文字列を描画する処理は、以下の通りです。
1.以下のような文字列があったとします(「ばら」および「すいしょう」はルビです)
ば ら
薔 薇
すい しょう
水 晶
2.以下のような変数を使用します。
x, y:文字列全体の描画位置(左上隅)
dx, dy:文字の描画位置(左下隅)
drx, dry:ルビの描画位置(左下隅)
3.変数の初期化を行います:dx = 0, dy = 0, drx = 0, dry = 0
4.dx = 0, dy += 「薔薇」の縦幅(「ばら」の縦幅を含む)
5.「ば
薔」を描画します。
5-1.(x+dx+(「薔」の横幅>「ば」の横幅 ? 0 : (「ば」の横幅-「薔」の横幅)/2), y+dy-「薔」の縦幅)に「薔」を描画します。
5-2.drx = dx + (「ば」の横幅>「薔」の横幅 ? 0 : (「薔」の横幅-「ば」の横幅)/2)
5-3.dry = dy - 「薔」の縦幅
5-4.「ば」を描画します。
5-4-1.(x+drx, y+dry-「ば」の縦幅)に「ば」を描画します。
5-4-2.drx += 「ば」の横幅
5-5.dx += 「薔」の横幅>「ば」の横幅 ? 「薔」の横幅 : 「ば」の横幅
6.「ら
薇」を描画します、処理は5.と同じです(「ば」→「ら」、「薔」→「薇」)
335:167
08/10/25 15:15:19 CxRTKNsw
7.dx = 0, dy += 「水晶」の縦幅(「すいしょう」の縦幅を含む)
8.「すい
水 」を描画します。
8-1.「水」を描画します、処理は5-1.と同じです(「ば」→「すい」、「薔」→「水」)
8-2.drx = dx + (「すい」の横幅>「水」の横幅 ? 0 : (「水」の横幅-「すい」の横幅)/2)
8-3.dry = dy - 「水」の縦幅
8-4.「す」を描画します。
8-4-1.(x+drx, y+dry-「す」の縦幅)に「す」を描画します。
8-4-2.drx += 「す」の横幅
8-5.「い」を描画します、処理は8-4.と同じです(「す」→「い」)
8-6.dx += 「水」の横幅>「すい」の横幅 ? 「水」の横幅 : 「すい」の横幅
9.「しょう
晶 」を描画します。
9-1.「晶」を描画します、処理は5-1.と同じです(「ば」→「しょう」、「薔」→「晶」)
9-2.drx = dx + (「しょう」の横幅>「晶」の横幅 ? 0 : (「晶」の横幅-「しょう」の横幅)/2)
9-3.dry = dy - 「晶」の縦幅
9-4.「し」を描画します、処理は8-4.と同じです(「す」→「し」)
9-5.「ょ」を描画します、処理は8-4.と同じです(「す」→「ょ」)
9-6.「う」を描画します、処理は8-4.と同じです(「す」→「う」)
8-7.dx += 「晶」の横幅>「しょう」の横幅 ? 「晶」の横幅 : 「しょう」の横幅
こうすることで一文字単位でのサイズやカラーやフォントの変更が可能となり、文字の下端は確実に揃います。
336:167
08/10/25 15:21:08 CxRTKNsw
この実装だと字間・行間を調整する項目がありませんが、
縦幅と横幅を持った空のテキストトークンを挿入することで調整は可能です。
(実装上、下にしか間をもうけられないので最上行のルビの上に間はもうけられませんが)
>>333
WindowsAPIにありますね、AbyssLib内部ではそれで縦幅と横幅を得ています。
ルビに関しては考えすぎかなとは思います、ただ考えておかないと予想もつかない使い方をする方も世の中には居られるでしょうし…。
行の高さは、今現在は[その行で一番長い[文字の高さ+ルビの高さ]]で実装しています。間隔や固定マージンは上記のように実装する形を予定しております。
337:名前は開発中のものです。
08/10/25 23:05:50 eaoIqs7r
>>336
ああ、なるほど。結局、1文字とルビをセットにして、
・X座標はその文字とルビで横幅の短い方が長い方の中心にくるように
・ルビのY座標はその文字の真上になるように
各文字を描画していくということですね。
たしか、吉里吉里も同じようなことをしていたと思います。
338:名前は開発中のものです。
08/10/31 17:11:53 /pTuS2sL
ざっと命令眺めてみたんですが、立ち絵のクロスフェードが無いような気がします…
それと、つい10日前ほどから自分用の2Dのゲームライブラリを作っているのですが、
もし使えるところまで完成したら、ためしに組み込んでもらえませんでしょうか?
339:名前は開発中のものです。
08/10/31 18:27:49 umSO+5+k
どんだけ図々しいんだ・・・
340:167
08/10/31 19:36:53 J4+1Cdpc
拡張された文字列に字間と行間をもうける方法ですが、
以前に例に使った文字列(薔薇水晶(ばらすいしょう))を使って説明しますと、
1.字間(薔薇水晶の字間)
2.ルビ字間(ばらすいしょうの字間)
3.最上行のルビの上(ばの上)
4.最上行のルビと文字の行間(ばと薔の行間)
5.最上行の文字と次行のルビの行間(薔とすいの行間)、最上行と次行の行間(ともいえる筈)
6.最下行の文字の下(水の下)
とまず分類できます。
1.空のテキストトークンを挟めば簡単に字間をもうけられます
2.1.と同じです
3.仕様上不可能です(下にしか行間をもうけられないため)が、特に必要ないでしょう(多分)
4.ルビの縦幅をもうけたい行間の分だけ大きくします、そうすることで描画位置が上に上がり下に行間がもうけられます
5.4.と同じです
6.4.と同じですが、特に必要ないでしょう(多分)
こんな感じだと思われます、理論上………まだ、コーディングが完全に終わってないのでテストしていませんが(駄目じゃん)
このモデルで現在問題となっているのは、「複数文字に複数ルビを均等に割り当てることができない」ということです。
ひとつのテキストトークンに複数文字を収めることで理論上可能ではありますが、ただし文字送りの際に
その複数文字はひとつの文字とみなされて一気に出力されてしまいます(文字送りの問題があるから一文字単位で分割したわけで)
まあ、これは「鬼畜(きちく)」とかを表示する場合「ち」をどうするのかという問題上必ずしも悪仕様とはいえないわけですが………。
>>337
はい、そんな感じですね。
こうやってノベルゲームのライブラリを作ってると、Nスクと吉里吉里のガイドは必携です。
(萌え絵だったりするのd持っていると微妙に恥ずかしかったりしますが)
341:167
08/10/31 19:39:01 J4+1Cdpc
>>338
画面の更新はupdateという命令で一括で行うようになっています、それにクロスフェードを指定する引数がありますので。
詳しくはヘルプおよびサンプルを参照して頂ければと。
そうですね、より多くの動作実績を積みたいのでゲームライブラリへの組み込みは歓迎です。
ただ、その際に「ここが組み込みにくい!」とか「ここをこうしてほしい!」とかが出来れば欲しいのでご自分で組んで頂ければ嬉しいです。
ですが私が組み込んでも「組み込みにくい!」とかは感じられるかもしれませんので、ライブラリ開発の合間を縫ってではありますが
希望されるのであれば組み込みも承ります。その場合は、ライブラリの仕様とかを分かりやすいよう提供して頂ければと。
342:167
08/11/13 19:02:06 0ic4ACTC
なかなか作業が進まない、以前よりも時間は取れている筈なのに………orz
細かく作ってると色々と仕様に悩んだりもして、そういうのが大きい一因だったりもしますが(汗
たとえば、今現在選択肢を作り直しているのですが………。
選択肢のインターフェースとして表示する画像を、通常時、
カーソル時、ホールド時(上でマウスボタンがホールドされている状態のこと)と用意したとします。
で、カーソル時には通常時の位置から右に1ドット下に1ドット移動したように見せます(凹みを表現するため)
この場合、マウスカーソルの判定矩形は
1.通常時と同じ判定矩形
2.判定矩形を右に1ドット下に1ドットずらす
3.両方の判定矩形を合体させる
という方法があるわけです、とりあえずは1で設計してますが…。
343:167
08/11/20 15:44:26 MlFmxeHF
大分作業が進みました、今週末にはアップロードできそうです(といってもAbyssLibのみですが…)
あとはノベルエンジン本体のみ………!それにしても、ボトムアップでコーディングしていると途中の閉塞感が半端ないですね。
344:167
08/11/23 22:22:26 SovwNul/
まだ作業途中ではありますが、アップロードすると言った手前もありますし一部アップロードしてみます。
残るはNovelPlayer、NovelPlayer2、BasicCommands、サンプル等々………。
URLリンク(abysslib.hp.infoseek.co.jp)
345:167
08/12/03 14:34:22 Ci35IGPz
|
|Д`) ダレモイナイ・・
|⊂ ホウコクスルナラ
| イマノウチ
というわけで、進捗状況を報告してみます。
現在BasicCommandsに取り組んでおります、とりあえずVer1.200(with Ver1.070)は今週末にでも出せそうです。
346:名前は開発中のものです。
08/12/03 18:36:09 I9P09qK4
いやちゃんとチェックしてるよw
347:167
08/12/06 01:18:30 SivC+o41
>>346
おお、人がおられましたか!
チェックして頂けるだけでもありがたいかぎりなのですm(_ _)m
今週末に出すと申し上げましたが、間に合わなさそうな予感が………(急用が入ってしまったので)
現在デバッグ中、とりあえずはAbyssLib Ver1.200 + BasicCommands Ver1.07でリリースする予定です。
変更点を記しますと、
AbyssLib
・細かいバグを修正
・名前空間を導入
・演算子の拡張
単項と多項に分離:+、-
新規追加:^、~、!、|=、&=、^=
変更:!=(旧<>)
・汎用クラスの追加
vector_mystr(文字列の動的配列)、RubyTextToken(ルビテキスト(字単位))、
RubyTextTokenLine(ルビテキスト(行単位))、TextToken(テキスト(字単位))、
TextTokenLine(テキスト(行単位)、TextTokenSection(テキスト(文単位))を追加
・汎用関数の追加・削除・変更
削除:EditText
追加:SaveStringVM、SaveTextTokenSection、LoadStringVM、LoadTextTokenSection
変更:IsOpenedFile(非エクスポート関数に)
・TextTokenSectionにより、文字列管理の方法を変更(テキスト、発言者名、スプライトテキスト、既読履歴)
・今までマクロの書き換えでしか変更できなかった要素を動的に変更可能に
最大Z、最小Z、予約済みZ座標、ログの最大保持数、テキストウインドウのインターフェース、
ルビのフォント、ルビのサイズ、テキストの最大横幅/最大縦幅、発言者名の最大横幅/最大縦幅
テキストカーソルのインターフェース、選択肢のテキストのサイズ、選択肢のテキストのフォント、
選択肢のテキストの最大横幅/最大縦幅、選択肢のテキストのカラー(通常時、カーソル時、クリック時)
348:167
08/12/06 01:23:50 SivC+o41
・選択肢関連のメンバ関数をTaskManagerからDrawManagerに移す
・SoundManagerにvoice関連のメンバ関数を追加
・DrawManagerからマウスカーソル関連のメンバ関数を削除
・各種シーン(通常、既読履歴、セーブ、ロード、環境設定、メニュー)をクラス化
今まで関数として実装していたものをクラス化、継承によりより平易にシーンのコーディングが可能に。
・オブジェクトファイルの追加読込が可能に
BasicCommands
・今回、変更点は一切ありません!
つまり、ソースコードレベルでのバージョンアップはあってもスクリプトレベルでのバージョンアップはありません。
理由としてはそこまで作り込むと(ただでさえ四ヶ月も時間使ってるのに)リリースが更に遅れること、
DLLの方まで大きく弄るとデバッグが困難になるからです。とりあえずはVer1.06との完全互換ということで。
(厳密には演算子の変更により完全互換ではありませんが)
バグフィックスを終え次第、
・禁則処理
・タグの導入(テキストの文中でサイズやフォントを変更可能に、ルビなども)
・複数分割(長すぎるテキストを複数のテキストに自動で分割)
・表示位置調整(センタリング等)
・画面更新、画面効果の新規追加
・voice関連の命令を追加
・その他色々(for~next)など
といった感じのバージョンアップを行います。
349:167
08/12/06 01:24:54 SivC+o41
それを終えた後には、ドキュメントとサンプルの制作を行う予定です。
大規模アップグレードは今回が最後だと思われます………多分、きっと、そう信じたい(;´Д`)
350:167
08/12/08 17:47:16 78vP/8Ya
演算子のコンパイル処理が少し難航しています…。
それさえ直れば出せる状態(他は全部テスト済み)なので、明日か明後日には何とか…。
351:231
08/12/09 00:31:56 wZAstprl
久々の登場だぜ。
サンプルなら俺が続き書こうか?
352:167
08/12/09 15:41:40 /ec++oQN
デバッグ&テストが完全に終了しました!
今夜にはまとめて上げられるかと思います(ヘルプの再構築にはもう少し時間が掛かりますが)
>>231
ありがとうございます、書いてくださるのは大歓迎です。
以前の続きでも、新たなものでも歓迎ですので。
353:167
08/12/10 03:09:47 AjsWE5Kg
一応、今夜中ということでぎりぎりセーフでしょうか(;´Д`)
とりあえずはうpしてみます、WEB等の整理は明日からということで…。
URLリンク(abysslib.hp.infoseek.co.jp)
354:167
08/12/12 22:18:55 bYq3EUKY
今日中にWEBを更新しようと思ったが間に合わない予感がひしひしと………orz
まあ、八割方書き上げてますので明日には何とかなるでしょうけれど。
355:167
08/12/13 23:12:14 DDn1ptq5
なんか日記帳になっているような気がしないでもない感じが…。
新たに見つかったバグ修正に時間がかかっていました、恐らく明日にはきっと多分………。
356:名前は開発中のものです。
08/12/14 01:53:58 sKoU+e8z
わははw 楽しみにしてるよw
357:167
08/12/14 14:31:22 VFAvExy4
漸くテストを終え、アップロードしました!
今後の予定は………
1.ADVサンプルを最新版に対応させる(簡単な筈、バグがなければ…)
2.最新版のバグフィックス(1でバグが発見された場合)
3.BasicCommandsのアップグレード(禁則処理やタグ対応など)
といった感じです。
その後は命令を追加しつつ、サンプルを作っていければと…。
もう大規模なアップグレードは勘弁です_(。Д。)_
358:167
08/12/14 14:32:10 VFAvExy4
URLを付け忘れていたので…。
URLリンク(abysslib.hp.infoseek.co.jp)
359:167
08/12/16 23:52:59 ONuq9PqZ
進捗報告です。
案の定、バグが見つかりましたorz
テキストとテキストカーソルにまつわる根深いものです…。
現在バグフィックス中、それを終えたらアップグレードを進める予定です。
360:167
08/12/18 23:33:59 0tP/NWTQ
アップグレード完了しました、これでめぼしいバグは消えた筈…?
ただ、いくつか気になる点はあるのでそれは次回修正ということで。
次回はAbyssLibは若干の修正、BasicCommandsはインターフェース系命令の追加+テキストのタグ&ルビ対応になるかと思われます。
URLリンク(abysslib.hp.infoseek.co.jp)
361:167
09/01/06 21:56:54 nU3QTrEZ
あけましておめでとうございます、保守兼ねて経過報告をしておこうかと。
現在、今年度末までに完成を目標に鋭意コーディングを行っております。
今週末~来週末に公開予定です、現在30命令の追加を予定しております。
362:167
09/01/16 22:31:00 cvJFcqo9
経過報告です、現在34命令の追加を終えデバッグを行っております。
残るバグはあとひとつ…!土曜は用事により作業を進められそうにありませんが、日曜までにはアップグレードできるかと思われます。
363:167
09/01/18 01:49:47 30EBq5bL
デバッグ終了!これで今のところ見つかったバグは全て取れた筈………!
明日(もう今日ですが)にはアップロードする予定で頑張りますので!
364:167
09/01/18 23:24:23 30EBq5bL
アップロードしました!
現在、ウェブページは更新しておりませんが(まだ編集中です)
既に最新版をDLできます。リファレンスなどの更新もまだですが、サンプルが更新されていますので。
URLリンク(abysslib.hp.infoseek.co.jp)
365:名前は開発中のものです。
09/01/19 02:55:17 NS8A7eFv
乙~
366:231
09/01/19 15:57:15 zAW60pSD
よし、じゃあ話書き始めるか。
しばし待たれり。
367:167
09/01/20 21:11:23 yIGVGx3p
サイト(+オフラインヘルプ)の更新を終えました!
今回のアップグレードによる変更点は、
AbyssLibは
・立ち絵の優先順位の不具合を修正
・オブジェクトファイルの追加読み込みの不具合を修正
・GETSYMBOLをGETSYMBOLNAMEに変更
・BaseDrawManager::DrawRect関数の仕様を変更
・NullDrawManager::DrawRect関数の仕様を変更
・BaseDrawManager::_DrawRect関数を追加
・NullDrawManager::_DrawRect関数を追加
・INovelEngine::Initialize関数を追加
・NovelEditor::Initialize関数を追加
です。Ver1.201との互換性はありません(少し修正すれば動きますが)
BasicCommandsは
・スプライトテキストの不具合を修正
・voicevolume、playvoice、stopallvoice、stopvoice、loadvoice、unloadallvoice、unloadvoice、
charaspace、textposition、textmaxwidth、textmaxheight、talkerposition、talkermaxwidth、
talkermaxheight、textcursorshow、textcursornone、textcursorclick、textcursorgonext、
textcursorbacklog、textwindowdraw、textwindowimage、selectwindowdraw、selectwindowimage、
selectwindowunderspace、selecttextfont、selecttextsize、selecttextmaxwidth、selecttextmaxheight、
selecttextncolor、selecttextccolor、selecttexthcolor、selectclickse、selectcursorse、initializeを追加
です。
368:167
09/01/20 21:40:23 yIGVGx3p
より分かりやすく説明しますと、
・音声関連の命令が追加された(今はse相当の命令しかありませんが)
・レイアウト関連の命令が追加された(テキストウインドウ等のカスタマイズがコーディングを経ずに行えるようになった)
といった感じです、複雑なカスタマイズを行いたい場合はコーディングを経る必要がありますが…。
今後の予定としましては、
1.Ver1.080としてテキスト関連の命令を大量に追加する
今まで手をつけてこなかったテキスト関連の命令(タグ・ルビ等)を大量に追加する予定です。
今のところ考えているのは、
・禁則処理
・表示位置調節(字間、行間、センタリング)
・ウエイト、カラー、表示速度、サイズ、フォント、ルビ
といったところです。文中に立ち絵変更タグを埋め込めるとかも良いかもしれません(考え中)
2.Ver1.090として画面更新を大量に追加する
今は画面更新に限られたものしかありませんが、それらを大幅に追加する予定です。
今のところ考えているのは、
・シャッター(上下左右)
・カーテン(上下左右)
・スクロール(上下左右)
といったところです。
また、汎用的な画面効果ではありませんがプラグイン作成のサンプルも兼ねて
桜吹雪、雪、雨、蛍などの画面効果もお見せする予定です。
ここまで行うと、NScripterに大分近付けるかと思います。
369:167
09/01/20 21:51:43 yIGVGx3p
………大口叩いたようで怖いので補足しておきますと、コードの最適化(最低動作環境)、
モノクロ、マスクパターンを用いた画面更新、動画の再生などNScripterに劣るところはまだまだあります。
これは私の技術力の問題もありますが、組み込み前提のライブラリとしていることで「尖った」処理をライブラリ内に
組み込むことが困難なのも一因です。マスクパターンを用いた画面更新を一例にしますと、マスクパターンというのは
ピクセル単位の処理が必要になります。それをGDI(使う人は今時いないかな?)、DirectX、OpenGLなどのグラフィックス
ライブラリ(およびyaneSDKのようなそれらの補助ライブラリ)で簡単に組み込めるよう抽象的で直感的で汎用的なコードを
書くのは極めて難しいです。必ずどこかで無理が出てきますし、個々に特化したコードを書いた方が速度も確実に速いでしょう。
とはいえ、模索してみるよりも前に諦めるのも何でしょうし、
1と2を終えた時点で色々と模索してみる予定です。特にマスクパターンを使えると大きいでしょうから。
というわけで、
3.適宜バグフィックス、サンプル作成、「尖った」処理の組み込みを模索、要望に応じ新規命令を追加
といった感じになるかと思われます。2まで終わらせるとほぼ完成ということですね。
結構過疎ってますが、要望などは随時受け付けておりますので(´Д`)
370:167
09/01/22 17:58:02 IhANlxha
ADVサンプルを最新版対応に更新しました。
URLリンク(abysslib.hp.infoseek.co.jp)
371:167
09/01/26 02:18:37 ynCjmsaz
経過報告~。
現在、テキストの禁則処理とタグ・ルビの実装を行っています。
禁則処理は思っていたよりもずっと簡単で実装しデバッグも完了、
タグも現在実装中ですが今週前半には実装およびデバッグを終えられそうです。
恐らく今週末には公開できるんじゃないかなと………ただ、一連の処理でノベルエンジンが重くなりそうなのが懸念するところではあります。
(最適化は現在想定している命令を全て実装し終えてから行う予定です)
372:231
09/01/27 23:36:12 KYwumhzm
ふう、永久規制解除された。
今回のテーマは鬱ゲーごちゃ混ぜでいってみようかと思うんだ。
ホワイトで永遠なデイズだぜ(タイトル未定)
長くなりそうなんで忘れた頃にやって来るよ。
373:名前は開発中のものです。
09/01/29 18:25:47 SQf2/3Zp
ほ
374:名前は開発中のものです。
09/01/29 21:09:30 xqc1Yyrx
ageないと落ちる板でもないだろに
375:167
09/02/02 00:21:19 GLHf4EFM
マニアイマセンデシタ(カタカタ
バグはおおむね潰せたのですが、新たなタグの案が出るわ出るわ………。
公開は今週末に延期します、といいつつ今週前半あたりで公開してしまうかもしれませんが。
376:231
09/02/03 02:42:58 8DxvJwQ9
鬱ゲーの方は時間がかかるんでかわりにうp。
前回提供した話を小説として再構築した。読むにはOOoが必要
URLリンク(gamdev3.hp.infoseek.co.jp)
377:167
09/02/16 19:15:48 5uqmw6lW
現状報告です~…すみません、スランプ入っていてなかなか進んでおりませんorz
残るはテキスト表示速度の変更と待機、タグの命令化あたりです。今週末には間に合わせたいと思いますが…かなり怪しいです。
378:167
09/03/10 18:18:40 6BBIQUrc
お久しぶりです、忙しかったりスランプに陥ったりと開発が進行しておりませんでしたorz
が、ようやくテキスト周りが完成しました。サンプルなどを作成し、今週末までにはなんとか上げたいと思いますっ!
379:167
09/03/14 00:52:44 VZCXz39y
お待たせしました!…待ってた方が居たかはさておいて、と自分でしても虚しいツッコミを入れつつ。
BasicCommandsVer1.080、ようやく上がりました!
アップグレードの内容は、
・タグ命令を実装
・禁則処理を実装
・字間、行間、揃えを設定する命令を追加
上記の三つです、ちなみに今回AbyssLibには手を加えておりません。
タグ命令の実装によって、表現の幅が広がったのではないかなと思います。
次回の更新では画面効果や画面更新を増強し、以後はサンプルを上げていく形でいこうかなと思います。
ほぼ完成系と考えておりますが、欲しい機能等ありましたらリクエストあればお応えしますので!
URLリンク(abysslib.hp.infoseek.co.jp)
380:名前は開発中のものです。
09/03/15 18:53:09 UMEg0+0q
>>379
住人そのものが少ないこの板で報告するよりもvectorなどの配布サイトなりに登録した方が
もっと反応があると思うけど。。。。
381:167
09/03/26 21:48:58 A+IOHfQ7
現在の開発状況です、
画面更新の種類を追加中でNScripterでいうカーテンとシャッターを実装しました!
あとはスクロール、時間制限選択肢、揺れの改良、あたりを行ってからアップロードする予定です。
382:167
09/03/26 21:50:01 A+IOHfQ7
>>380
まだ完成には至ってないので、公開するわけにもいかず…。
もうすぐで、一応納得いくところまではいけるとは思いますが。
383:167
09/04/23 22:01:14 Q24jFjlE
保守です、社会人って時間がとれませんよねorz
ぼちぼち開発しております……五月中旬ぐらいには、アップロードできるかと。
上記に挙げた機能の他に、色々とささやかな機能を追加したりしていなかったりします。
384:167
09/05/30 23:02:55 5hhdziBP
久々に保守兼ねて、一ヵ月近くとあるバグに悩んでおりましたがようやく解決しました(´Д`)
まさか、ソースコードの方でなくスクリプトの記述ミスだなんて……orz
ともあれ、ぼちぼちと尚も開発は続行しております。報告遅れましたが、次バージョンは6月中旬の公開を目指しております。
385:名前は開発中のものです。
09/07/05 23:00:11 oMzkeICb
AndroidかiPhoneとかの変態組環境でエンジン作ってるドMはいないの?
OSのないDSとかさ。
386:名前は開発中のものです。
09/07/11 10:22:13 iXR2PxQZ
>>385
ここは違うの?
iPhone用のゲーム作ってるやついる?
スレリンク(gamedev板)
NintendoDS(NDS)非公式開発 Part3
スレリンク(gamedev板)
387:167
09/07/20 21:10:16 JA4VY8P5
お久しぶりです、仕事とスランプにやられておりました(´Д`)
現状は、新バージョン公開にあたって実装すべき機能を全て用意し終えたところです。
残るはテスト&デバッグ&サンプル作成&マニュアル作成です、来週~再来週中の公開を目処に頑張ります。
388:167
09/08/10 18:15:14 VxqqgNIh
お待たせしました、延期に延期を重ねましたがようやく新バージョンの公開です!
更新内容を以下に記します
AbyssLib
・描画タスクの種類に「矩形」を追加
・画面更新(通常時)を上書き可能に変更
・環境設定の保存/読み込みをプラグインにて拡張可能に変更
・ローカルデータの保存/読み込みをプラグインにて拡張可能に変更
BasicCommands
・スキップの待機時間を変更する命令を追加(waittimeskip)
・禁則文字を設定/追加する命令を追加
(setleadingchs、setfollowingchs、setfollowingweakchs、addleadingchs、addfollowingchs、addfollowingweakchs)
・新規画面効果を追加(flash2、quakex2、quakey2、quakexy2、quakex3、quakey3、quakexy3)
・新規画面更新を追加(update2)
以上のような感じです。
389:167
09/08/10 18:24:36 VxqqgNIh
次回更新の予定としましては、
・新たな画面効果を更に追加
・新たな画面更新を更に追加
・制限時間付きの選択肢(要検討)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・乱数(要検討)
・for、next、break(要検討)
・オブジェクトファイルをダイナミックリンク(要検討)
といった感じです。要検討が多いのは、必要か不要かをまだ見極めきれていないからです。
見ておられる方は、コメント頂ければなと思います。
あと、次回までにはといきませんが
・インタプリタ化
・他言語での利用(Luaあたりを予定)
なども考えております、そこまで終わらせれば一応更新は終わらせるつもりです。
URLリンク(abysslib.hp.infoseek.co.jp)
390:名前は開発中のものです。
09/08/10 18:28:58 FeJ9ZBK3
みてるよー
乙乙
391:167
09/08/13 20:05:11 B8ENj500
現在帰省中故に、EeePCにて作業を行っております。
なのですが……ScriptPlayer2が異様に重い!それに加えて、テクスチャのLockRectが上手くいっていない模様。
DirectX本のサンプルなんかは軽々と動くのに……!
392:167
09/08/13 21:47:47 B8ENj500
(大分時間が経ちましたが続きです)
で、ログ出力などして調べたところ……
DX9AのCreateDeviceにて、
・MaxPrimitiveCount<0xFFFF
・MaxVertexIndex<0xFFFF
・VertexShaderVersion<D3DVS_VERSION(1, 1)
・PixelShaderVersion<D3DVS_VERSION(1, 1)
上記の条件の何れかが成立した場合に、HALでなくREFを使用するようになっていました。
この条件のMaxVertexIndex<0xFFFFとVertexShaderVersion<D3DVS_VERSION(1, 1)が
EeePCのスペック的に引っかかるらしく、強制的にREFで動作していたようです。
条件分岐のところをコメントアウトしたところ、HALになり軽々と動きました。
作成する際に参考にする書籍を間違ったのかなぁ……?
現在、DX9Aのグラフィック部分を作り直し中です。以上。
393:167
09/08/25 20:18:11 6Vt5f2Of
現在の進捗状況です。
・以前のレスにもありますとおり、DX9Aを改良しScriptPlayer2の挙動を改善しました。
・新たな画面効果を追加しました(flash3:フラッシュを波関数を用いて実装)
・新たな画面更新を追加しました(移動補間:更新前の位置から更新後の位置に移動)
・制限時間付き選択肢を実装しました(制限時間は指定可、タイマ画像を表示可)
上記の実装を終えております、他につきましてはまだ検討中の段階です。
394:167
09/10/25 11:40:25 2PK1myMg
随分とお久しぶりです、スランプ気味であまり手をつけておりませんでした(´Д`)
現在、新たな命令の実装を終了したところです。これからテスト&デバッグに入る感じで。
新バージョンのお披露目は、11月中には行えればなと思います。
395:名前は開発中のものです。
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環境が潮流になるような気はしますので対応させてはいきたいところではあります(´Д`)