1 :
名前は開発中のものです。:
>>2ならこのスレは( ゚д゚)ウッウーしか書き込めなくなる
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ヴッヴー
( ゚д゚)ウッウー
( ゚д゚)ウ!ッウー!!(まて!この中に偽物が居る!!
(゜Д゜)ウッウー(7と9と10だな
11 :
名前は開発中のものです。:2007/01/23(火) 00:43:48 ID:3e9OV02d
< `∀´>ウェハッハー
( ゚д゚)ゥ.ゥー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
16 :
名前は開発中のものです。:2007/01/23(火) 19:09:02 ID:yuJ3I985 BE:280382944-2BP(1)
( ゚д゚)ウッウー
( ´;ω;`)ウッウッ
( ゚д゚)ウッウー
( ゚д゚)うッうー
( ´д`)エッエー
こんな流れ俺がぶち壊してやる!!
( ゚д゚)ウッウー
( ゚д゚)ウッ
( ゚д゚)ホ
( ゚д゚)ウッウー
( ゚д゚)ウッウー
< `д´>これだけで1000目指すニカ
27 :
691:2007/01/24(水) 22:16:10 ID:/HyBVl7M
あれー
ハッシュを再生成するたびに値が違ってくる。
いくつかのファイルひとつにまとめてパッケージ化できるようにして、
そのパッケージから画像とか音とか読み込んで実行できるようにした。
パッケージのヘッダをリストに読みこんでからバイナリサーチするとかなり遅いので、
変わりにハッシュテーブルって奴を作って検索するようにしてみたんだけど…。
うまくいかねえ
なんか間違ってるんだろうな。
28 :
691:2007/01/24(水) 22:38:40 ID:/HyBVl7M
( ゚д゚)ウッウー
30 :
691:2007/01/24(水) 23:34:40 ID:/HyBVl7M
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
この流れが続くようならレス番指定で削除依頼出すけど構わんよな
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ´д`)エッエー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
45 :
あげお ◆5GmpvWIah. :2007/01/28(日) 17:53:21 ID:TZQ/v+L8
( ゚д゚)ウッウーage
( ゚д゚)ウッウー
< `∀´>ウェハッハー
( ゚д゚)ウッウー
俺作ろうと思った。littleWitchのフローティング何とかシステムみたいなの。
けどモチベが続かなかった。
( ゚д゚)ウッウー
( ゚д゚)ウッウー
52 :
691:2007/02/01(木) 06:29:26 ID:wEL5KchW
このスレもうだめかもわからんね
( ゚д゚)ウッウー
( ゚д゚)ウッウー
>>56ならこれ以降このスレに( ゚д゚)ウッウーを書き込むと死ぬ
以降なんだから56も死ぬのか。
無茶しやがって・・・AA(ry
逆卍かよ
( ´д`)エッエー
気持ちはわからんでもないがそのインスパイアは不謹慎
ゲーム脳?(`∇´)
( ゚д゚)ウッウー
もはようございますヽ(’∇゚)ノおもしろい薬なのなこれパキシルっての
おもしろの薬だが入る気合が違いすぎるので変な時間に神経が覚めた
>>65 頭おかしい人の臭いがプンプンするんですが
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
71 :
167:2007/02/08(木) 03:30:11 ID:/tERQfL4
お久し振りで御座います(´Д`)
現在、プラグインに対しての仕様を調整してみたり各コンパイラでコンパイル可能かをテストしております。
どうやら、BCCは#pragma onceが無効な様子………全部書き直さなければいけないとなると、相当に面倒ですorz
#pragmaは実装がおもっきし各々のコンパイラ依存だから
他のコンパイラを意識するならあまり使っちゃダメなんだぜ
73 :
167:2007/02/08(木) 10:23:55 ID:/tERQfL4
>72
レス有難う御座います、確かにそうですね(´Д`)
ただ、#pragma onceくらいはBCCでも通ってくれないかなぁと(w
#pragmaでしか出来なさそうなこともありますし(#pragma packとか、こちらはBCCでも通りました)
74 :
167:2007/02/08(木) 10:31:42 ID:/tERQfL4
(続きです)
#pragma onceは#ifndef〜#define〜#endifで実現できますが、
#pragma packはプロジェクトの設定でしか設定できませんから
「プロジェクトの設定依存」になってしまいます。ソースコードで確実にパディングを設定するなら、#pragma packしかないという嫌な事態に(´Д`)
それはコンパイラごとに#ifdef で分けるしかないかも
76 :
167:2007/02/08(木) 16:11:53 ID:/tERQfL4
>75
幸い、#pragma packはBCCでもVCでも通用するようです(´Д`)
対応コンパイラはBCCとVCにする予定なので、パディングに対しては#pragma pack頼りでOKみたいで。
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
もはようございますヽ(’∇゚)ノおもしろい薬なのなこれパキシルっての
おもしろの薬だが入る気合が違いすぎるので変な時間に神経が覚めた
欝かな。
82 :
名前は開発中のものです。:2007/02/10(土) 16:05:30 ID:G56bUwyX
だれか3Dプラグイン作ってくれい
( ゚д゚)ウッウー
( ゚д゚)ウッウー
セーブデータのロード時にバックログや絵を復元したいんだけど、
セーブの内容やロードの処理って普通どうやってる?
( ゚д゚)ウッウー
( ゚д゚)ウッウー
あ、ついでだから回答しておくか・・・
インタプリンター式なら初期フラグから指定行を読み返せばいい。
コンパイラ式なら現在のSSとってまんま圧縮パッキングすればいい。
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー、やよいはかわいいなあ
( ゚д゚)ウッウー
【速報】 ( ゚д゚)ウッウー注意報が発令されました
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
( ゚д゚)ウッウー
おれが高校生の頃、一人で下校していたら、おれの前を明らかな障害者が歩いていた 片足引きずりながら( ゚д゚)ウッウー言ってた
なんかしゃくに障ったので、おれはその障害者の真似をして歩くことにした 片足引きずりながら( ゚д゚)ウッウーすると突然、
正義感の強そうなおっさんが現れて「障害者の人を馬鹿するな!!」 って叫びながら、
障害者の方を殴った
( ゚д゚)ウッウー
98用にvi.exeってのを昔書いたんだけれどソースからなにから消してしまったな
ベクターに載った分は消えただろうし
つーか今からでは辛いなあ
magdヽ(’ー゚)ノmagd
( ゚д゚)ウッウー
( ゚д゚)ウッウー
>>102 オレが愛用してるエディタはあなたが作ったんですね
>>105 win使いがviなんて使ってんのか?
男ならedlinとNCSA line mode!
( ゚д゚)ウッウー
以前にこのスレでツールを開発していた者なんですが、復活してもいいですか?
たぶん誰も気にかけてなかったので・・・。
誰も気にかけてなかったのなら復活したところで
誰も気にかけないと思うので勝手に復活してください
110 :
108:2007/03/14(水) 15:57:53 ID:blrN6yFK
すっ、すば洞!(スコア:1)
それではお言葉に甘えて公開オナニー再開させて頂きます。m(__)m
( ゚д゚)ウッウー
113 :
108:2007/03/24(土) 14:27:08 ID:h9ByQLfQ
なんかすごいな
俺が作ってるのも変数の宣言や数式処理入れてるけど、ここまでは無理だな
115 :
108:2007/03/30(金) 23:00:44 ID:hoHnEPao
>114 さんどうもです。
自分が使いやすいものを求めて作ったら、変に高機能になってしまいました。
そして、誰も使ってくれなさそうになってしまいました・・・orz
今になってPGが使いやすくなればなるほど、非PGには使いにくくなるんだと痛感してます。
自分が初めてC言語を見た時の「なんじゃこりゃ!」って感情を皆さんも抱くんだろうなぁと。
116 :
114:2007/03/31(土) 02:01:45 ID:NnD6c3d2
そうなんだよ。最初は変数へ代入する概念もないから困る
でもプログラム言語っぽいとライブラリでユーザー自身が機能を増やせるからいいんだよなぁ
それをうまくやったのが吉里吉里?
117 :
108:2007/03/31(土) 04:26:06 ID:qKuNlYz8
吉里吉里のTJS(だっけ?)だけで作られたゲームってのがあまり見あたらない時点でこのツールは既に負け組なんですよ・・・orz
ですので現在は視野を広げて、ネットワークに強くてサーバーアプリも組めるように、セッション管理関数とマルチスレッド関数の実装中。
でも、ノベルを初めとした簡易ゲーム作成ツールなんです。どうか信じてください。orz
対戦型ノベルってジャンルがあれば、最強ツールなんだけどな(爆
そういや吉里吉里でネットワーク対応ノベル作ってるやついたなぁ
吉里吉里でネットワーク対応シューティングを作った人もいるよ
TJSオンリーで
120 :
114:2007/03/31(土) 11:11:20 ID:NnD6c3d2
>>117 そこまでやるなら、クラスライブラリにまとめたほうがよくね?
俺言語はXMLベースにしてGUIツールで編集できるの作ってる。
XMLだとAPIが充実してるからツール作るの楽だし
スクリプタはツール使えば良いだけ。
かつ、フォーマットがXMLの分外部ツールの開発が楽なんじゃないかと見込んでる。
自分で作ったXML APIの研究目的だけど。
Javaで作っててSEとMEで動くようになってるけど
MEだと容量制限にすぐ引っ掛かる。
122 :
108:2007/03/31(土) 13:06:09 ID:qKuNlYz8
TJS作品って色々出てるんですねぇ。今度家帰ったらちょっと遊んでみようかな。
>>118 どこらへんがネットワーク対応だったんでしょうか?すごく気になります。
>>119 ははー。あの言語結構早いみたいですしねぇ。ちょっと探して遊んでみます。
>>120 僕的には面白そうですが、更に難易度が上がってしまう。あと速度も落ちてしまいそうで・・・。
ってか、僕自体がクラスを100理解している訳ではないので。orz
まぁ、こいつが完成して次を作るなら十分アリかもしれないですね。何気にクラス自体は実装予定(非公開・自分用)なんで。
>>121 XMLは今も昔も賛否両論ですが、オープンソースにしたら面白そうですね。
OpenNovelFormatで食べていけるかも(笑)
あとMEで動くってのは興味深いですね。もしMIDPだけで動くなら色々妄想が・・・。
男性専用車両のきっかけになって、時の人になるかもしれません。(^^
>>113 wikiみたけどbench.zipはavast!では引っかからなかったよ。
誰か別のウイルスソフトでも調べてみてくれ。
124 :
108:2007/03/31(土) 14:03:49 ID:qKuNlYz8
どうもです。ちなみに僕はNOD32っす。
今試してみたらヒューリスティックでひっかかってるんで、つまりNOD32お得意の誤認識かな?
125 :
167:2007/04/09(月) 16:24:13 ID:Xr+r6OD+
御久し振りです、色々と多忙ではありますが制作中断といった事は無いので御安心を(´Д`)
って、見てる人が居られるかは分かりませんが………現在、コンフィグ&セーブ&ロードの実装中です。
遅くても今週末には、アップ出来ると思われます(´Д`)
126 :
108:2007/04/10(火) 19:42:31 ID:q9HEdKYe
期待してますよー。
128 :
108:2007/04/12(木) 19:14:25 ID:nWNHsMjN
ツールを作っている皆さんにお尋ねしたいのですが、OGGのデコードってどうやっていますか?
LGPLやBSDライセンスのソースを含めたくないのですが、自分でゴリゴリする以外に方法はないのでしょうか?
好き勝手に使ってくれ&それないりに早いソースとかはないかなぁと。
作者が日本人ならBSDライセンスでもいいんですが・・・。
129 :
名前は開発中のものです。:2007/04/12(木) 19:16:37 ID:bCgTq/qC
盛りage
>>128 自分は素直にOgg Vorbis使っているよ。
文句あるんだったら自分でゴリゴリ書けよクズ
それもできないんだったら文句言うなよヴォケ
幼稚な奴だな。
>>128 作ってる人じゃなくて、使ってる人で悪いんだけど。
デコードって再生?
vox.dllってなんか感染するようなライセンス条項だったっけ?
134 :
108:2007/04/14(土) 05:29:05 ID:tqnVCdUq
おはようございます。
>>133 うーん、vox.dllってのは再生用DLLですよね?もしこれの一部にXiph.orgのソースを使っていればBSDライセンスになりますが、
そうじゃなければ作者さん規定ライセンスでは。
まぁ、BSDライセンスはライセンス表記のみでソース開示義務はありませんので、大丈夫ではないでしょうか?
ちなみに僕の場合は、再生は自分で行うのでデコードだけして欲しいなぁと思ってます。
135 :
108:2007/04/14(土) 05:45:32 ID:tqnVCdUq
って、今DLしてみたんですが、vox.dllはBSDライセンスのようですね。
連続ごめんなさいm(__)m
>もしこれの一部にXiph.orgのソースを使っていればBSDライセンスになりますが
ならんよ。よく調べてみ。
137 :
108:2007/04/14(土) 12:05:00 ID:tqnVCdUq
ライセンス条項の提示と著作権情報の表示は必要だが他の作品にまでBSDライセンスが感染することはない
139 :
108:2007/04/15(日) 03:54:11 ID:6wojEilj
つまり、BSDライセンスなスタティックライブラリを使ったDLLがあったとして、
そのDLLを使ったプログラムをDLLと一緒に配布した場合、スタティックライブラリのライセンス表記はいらないと?
いや、ライセンスとか解説サイトとか嫁よ
BSD系ライセンスではいったんライブラリを介したからと言って表示義務が消尽することはないが
ライセンスそのものが伝播するわけではない
141 :
108:2007/04/15(日) 12:35:27 ID:6wojEilj
読んでるよ。
>表示義務が消尽することはないが
ライセンス内容がゆるいだけで、それを感染するといのでは?
一般的に139のようなパターンで配布した際に元ソースのライセンスを表記するのは一部の人間であって、
DLL作った人は「ライセンス表記してね」と補足するべきなんだから。
ライセンスそのものの話とライセンスにより求められる条件の話が
ごっちゃになってないか?
めんどくさいのこれ以上は俺パス
143 :
167:2007/04/15(日) 23:03:36 ID:qebyhrYj
今週末にアップと上記にありましたが、どうやら間に合いそうにありません(´・ω・`)
ビルドは既に終えたのですが、テスト&デバッグが未だで………水曜までにアップ出来たらな、と思いますorz
こんなに説明してくれてるのに理解できない108ワロタw
>>143 誰も待ってないから自分のペースで頑張りなさい
屁理屈っつーか、なんつーか。
「ライセンスの感染」という文脈に関して、地球人一般の感覚とずれてる節があるな。
146 :
108:2007/04/16(月) 15:07:45 ID:hvOLFbBv
108 ->
再配布時にBSDライセンスにしなくてもOKだけど、そのソースの著作権及び免責事項等を掲載しなくてはならない。
かつ、自分の公開したDLLが非BSDライセンスであっても、そのDLLを使うユーザーに対してその旨を伝えなければならないので、
結局はBSDライセンスもしくはBSDライセンスに近いものになってしまう。
その他の一般地球人 ->
BSDライセンスは再配布時に非BSDライセンスにしてもいいからBSDライセンスは感染しない。
そんなにオレってひねてる?
ツールを作ってみんなに無条件に再配布してもらう事を考えているならBSDライセンスなソースは「感染」という判断になると思うんだけど。
って、ごめん。もう止めるわm(__)m
ヒネてるつーか、GPL揶揄して感染言うのと程度違い過ぎって話でしょ。
気に病む事ぁないけど、「感染」って言葉が広まった経緯知ってる人達は
首傾げるだろね。
まあご自分で
>>134で仰ってる通り、その程度の感染に実害なかろ
>>146 GPLが「感染」っていわれるのは配布する側に同等のライセンス(=ソース公開強制)にする
以外の選択が無いからであって、表記だけ残しておけばあとはどうライセンス変更しても
かまわないBSDライセンスを感染というのはちょっとナンセンスかな。
ソースを公開するつもりなら、条件追加しても不便になるだけなので結果的に BSD ライセンスに
なることが多いとは思うけどソース非公開って条件を追加した上で「BSDライセンスに近いものになる」って
感覚には同意できない。
で、「無条件に再配布」って、自分の免責条項すらいれたくないってことだと、それはかなり
度胸がある話だとおもうんだ^^;
流用したときにこの手の表記をしなくて良いのは、public domain でなければ zlib/PNG ライセンス
ぐらいだろうけど、その場合も普通免責は残すか自分用に追加するよね^^;
話をもどすと ogg と vorbis を仕様から独自に書き直してBSDよりゆるいライセンスで
公開してる例はたぶんこの世に存在してないからあきらめたほうがいい。
ツールが主目的なら探すのも作るのも時間の無駄。
すごい便乗質問スマソ^^
例えば、自分の作っているBSDライセンスのライブラリ(A)が
別のBSDライセンスのライブラリ(B)を利用しているとする。
Aを公開するときには、Bの著作権表示を含めないといけない。
じゃあ、Aのライブラリを利用した他のライブラリ(C)を公開するときには
Aの著作権表示と、Bの著作権表示も必要になる?
それともBはいらない?
150 :
108:2007/04/17(火) 18:26:01 ID:L5YprR/N
>>148 それは147サンも言ってますが、おっしゃる通りです。
ちょっと感染という表現の使い方に間違いがあったと反省してます。
>で、「無条件に再配布」って、自分の免責条項すらいれたくないってことだと、それはかなり
>度胸がある話だとおもうんだ^^;
このソフトを利用したユーザーに対してはもちろんありますが、再配先に対するものはないという意味です。
つまり、何らかの問題が生じた場合は、作成者じゃなく再配布した人の責任だといいたいのです。
当然再配布するユーザーが利用規約を設けるでしょうけども。
>>149 必要。BSDライセンスの歴史のあるライブラリをみるとわかるけど、
コピーライト部分がどんどん延びていく宿命があります。
本家本元の宣伝条項つき旧BSDライセンスの場合は、「広告」にもこれを記載する
必要があって、わりとしゃれにならないので(+FSFからの廃止圧力もあって)廃止になりました
>>150 >再配布先に対する責任は無い
BSDライセンスの無保証条項ってまさにそれ目的なので 108 さんの目的とも合致してそうなものですが…
152 :
149:2007/04/17(火) 20:31:06 ID:aT9s3EU3
153 :
108:2007/04/18(水) 03:13:40 ID:6t8Zg9gZ
>>151 BSDライセンスはバイナリだけでも適用できるし、ベストと言えばベストなんですが、
自分のツールを使った人が再配布する際に表記を強制するのが嫌なんですよね。
たとえばPHPスクリプトとかを配布する際はphp本体と一緒に配布しないから、スクリプト自体のライセンス云々は作成者次第ですよね?
でもこういうツールはスクリプトとexe本体をセットで配布する事がほとんどだから
exeのライセンスに関しても再配布する人次第というふうにしたいんです。
(もちろん再配布する方へ無保証という事を納得して使ってもらいます。)
もし自分でexeを作ってゲームを配布するなら「何がおこっても責任を負えません」と書くだろうから、
自分でexeを作ったつもりで同じように書いてもらえればと。
あと、ライセンス云々とかって、開発者は(特に仕事でからんでる方は)当然のように受け入れる事ができるけど、
クリエーターさんとかってナカナカ受け入れれないと思うんですよ。
自分が開発初心者だった頃はそういった強制が「自分の作品を汚される」ってイメージだった事を覚えてます。
ってオレだけかもしれないけどw
ライセンスを考えるスレになってる…
155 :
名前は開発中のものです。:2007/04/18(水) 12:06:10 ID:e9xHz/mL BE:484416948-2BP(1000)
でもオープンソースが増えて必ずぶつかる問題だよね。
>>153 あ、なんか理解した。ツールを使う not プログラマな素人さんに対する配慮ってことね。
その人が自分のコンテンツに添付する形で実行ファイルを配布するとバイナリ配布に
なってしまってライセンス要件にひっかっかるのがいやだ、と。あんたかなりいい人だな(笑)
で、BSD系のライセンスの場合は、GPLやLGPLと違って、それにたいする配慮は比較的
簡単。記載位置はバイナリ中でかまわないので、うめこみのHELPなりバージョン表示なりに、
そのライセンス文章をうめこんでしまえばいい。
このスレにそった例としては、吉里吉里の実行ファイルとかが該当するかな。
吉里吉里は、吉里吉里ライセンス、またはGPLでの再配布が可能で、前者の場合は、
自分の作品に添付して配布する場合は、吉里吉里そのものに関する著作権表示は
マニュアルにもゲーム中のコンテンツにも一切不要になってる。たぶん108さんの
想定してるものとかなり近いと思うので、機会があれば吉里吉里ライセンスの一読をおすすめする。
その上で、内部で利用してるBSDライセンスあるいは近い形の表記が必要なライブラリに
ついては、CTRL+F12をおすか、起動時になんかオプションつけて実行すると表示される
詳細情報表示の部分にその著作権表示が出るようになってることで対応してる。
もちろんこの機能の封印は禁止されてる。
再配布の条件についてのドキュメントのすみっこに一応このあたりのことは書いた上で、
もし読まなくてざっくり配布しちゃってもライセンス違反にはならないので安心という
仕掛けで、この種のツールではわりと一般的な方法です。
157 :
108:2007/04/18(水) 13:29:59 ID:6t8Zg9gZ
>>156 親切な解説どうもありがとうございますm(__)m
おっしゃる通りexeを配布する時の考慮なんです。日本語下手ですいません。
実行エンジン自体はdllに全て収まっていて、DLL単体でCなりVBから使う時は著作権表記しろと書けばいいんですが、
(それが嫌なら自分で作れよって話なんで)
初心者向きである独自スクリプトを使った時にそういった制限というか約束事が生まれるのが非常に嫌でして。
> で、BSD系のライセンスの場合は、GPLやLGPLと違って、それにたいする配慮は比較的
> 簡単。記載位置はバイナリ中でかまわないので、うめこみのHELPなりバージョン表示なりに、
> そのライセンス文章をうめこんでしまえばいい。
ははー。バイナリに埋め込むってのは考えがつきませんでした。
というより、可能である事を知りませんでした。
吉里吉里ライセンスも目を通してみます。
ユーザーが編集可能なライセンス・利用規約ウィンドウをメニューから表示可能なようにして、
それの一番下かボタン押して別窓表示でBSDライセンスなソースのライセンス表記とexeの改造禁止を書いておけば、
それこそ何も考えずに使えますね。
そんな方向で検討してみます。
m(__)m
159 :
108:2007/04/20(金) 16:32:06 ID:JSUcGaj0
一応βがほぼ完成したんだけど、マニュアル作成で挫折してしまいそう。
せめて関数ライブラリだけでもと思い作り始めたが、全然終わる気配がない・・・orz
という事でβ公開はGW前ぐらいになりそうです。
頑張ってー
161 :
108:2007/04/20(金) 18:33:36 ID:JSUcGaj0
ご声援どうもです。m(__)m
今回公開予定の関数だけでも80程あるんで、かなりしんどいです。
ちなみに現段階で実装予定関数は120個。いかに簡単そうに見せるかが勝負になってきた(笑)
こう複雑になるとノベルゲームツールとしてはクソかもしれないけど、
当初目的通り、ノベルゲーム中のイベントでトランプゲームでキャラと戦ったりとか
そういった処理が普通にできるぐらいにはなりました。
どちらかというと、やっぱりノベル専門関数の実装が遅れてはいますが・・・。
全然関係ないけど、コミックメーカーって叩かれてるけどそんなに出来が悪いのかなぁと疑問に思った。
あれを普通に良くできているシステムと感じたオレはβを公開するのがちょっと怖くなった。
>>161 おいおい、コミックメーカーの批判読んだことある?
既読スキップ無し、バックログ無し、ムービースキップ無しだけでもかなりの痛手だぞ?
というか、そもそもコミメって、ぱらぱらアニメ以外のムービーって使えたっけ?
(確か、無理矢理実装していたマニアがいたはずだが、普通のコミックメーカーユーザーは
スクリプト公開されても理解できないだろうし、理解できたところでそんな面倒な事しないだろう)
短い絵本作るとか、コミックメーカーの機能の範囲内で作れるミニゲーム作るなら
いいだろうが、はっきりいっておすすめできない。
多くのコミックメーカーユーザーがどれくらいすごいかそもそも知らないだろ?
再配布、添付不可のspi平気で同封してる奴らだぞ?
結局どんないい作成ツールがあったところで、ユーザー次第だからなぁ…
ついでだから、サニガのノベルゲー作成ツールのアンケート投下してみる。
ttp://s-girl.info/vote/game.html
163 :
108:2007/04/21(土) 13:32:20 ID:tcVleHJJ
>>162 > おいおい、コミックメーカーの批判読んだことある?
8割ぐらいが理由なく批判しているように見える・・・。
まぁ作者の対応は本当によろしくないようだけど。
> 既読スキップ無し、バックログ無し、ムービースキップ無しだけでもかなりの痛手だぞ?
うーん、確かに痛いかもしれないけど、あれはあれで1つの完成系だと思う。
ちょっと触っただけで落ちたのは、そういうものなのか環境が悪いのかは分からないが。
なんにせよ叩かれすぎだと思う。
って、そういえば既読スキップ機能考えてなかった。orz
未読までスキップするとやばいよな。
> ついでだから、サニガのノベルゲー作成ツールのアンケート投下してみる。
みんな週に2本もフリーのゲームしてるねんなぁ。そんなに沢山作品があるとは(汗
>>163 そういえば以前、未読スキップ可、スキップキャンセル無し、バックログ無し、
という暴走ノベルをDLしてしまったことがあるとです…(つдT)
>>163 そこじゃなくて、ツールの詳細…
165 :
167:2007/04/25(水) 12:01:19 ID:EudGZbTv
166 :
167:2007/05/02(水) 11:14:17 ID:D4/4PV4X
167 :
167:2007/05/10(木) 18:43:05 ID:2eHYg+ep
スクリプトをDLL化し、実装から分離しました。
アップロードは今週末になるかと、また現在は既知の不具合としてBCC⇔VC間でのDLL⇔EXEのやりとりが不可能です。
………というか、すっかり寂れてしまってますな(´Д`)
ノベルでは背景・キャラの立ち絵・メッセージウィンドウなどを
レイヤという単位で一括して管理することが多いと思うのですが、
そのレイヤの設計、またレイヤのトランジション方法について質問があります。
もしレイヤにトランジションというものが無ければ、
これの設計はそんなに難しく無いと思うのですが、
トランジションがあるために自分にはとても難しいものに感じられます。
具体的に困ってしまう例として
・(一つのレイヤはもちろん)複数のレイヤをまとめてトランジションしたい場合
・優先順位の違うレイヤ同士でトランジションしたい場合
があります。
たとえば、優先順位の違うレイヤ同士でトランジションを行いたい場合、
その中間に描画されるべきレイヤをもトランジションに含める必要があります。
169 :
168:2007/05/12(土) 23:58:23 ID:NQu8FU6d
>>↑の続きです
また、複数レイヤのトランジションで例えばクロスフェードなどの場合は
個々のレイヤをレイヤ単位の不透明度付きで描画していってもうまくいかないため
(トランジションが30%まで進んでいる場合、
レイヤ1を不透明度30%で描画、その上にレイヤ2を不透明度30%で描画、
さらにレイヤ3を不透明度70%で描画しても、
レイヤ1:レイヤ2:レイヤ3:の不透明度は30:30:70にはなりません)
おそらく途中にバッファを介して、
1、開始前に表示されるレイヤすべてをバッファ1に描画
2,終了時に表示されるレイヤすべてをバッファ2に描画
3,バッファ1とバッファ2でトランジション
というちょっとやっかいな手順を踏む必要があります。
なので、すべてのレイヤに
A,トランジション前に表示されているのか?
B,トランジション後は表示されているのか?
の情報をつける必要があるのですが、
これをやるのに自分の中では面倒な方法しか思いつかず
(トランジション開始前に、すべてのレイヤの属性を設定するなど)
吉里吉里のような感じではできそうにありません。
優先順位の違うレイヤのトランジションは別にできなくても構わないと思うのですが(^^)、
複数レイヤのトランジションは何とかサポートしたいです。
170 :
168:2007/05/12(土) 23:58:55 ID:NQu8FU6d
>>↑の続きです
NScripterでは複数レイヤのトランジションはサポートしていないように見えます。
吉里吉里では各レイヤに表画面と裏画面を用意してトランジションを行っていますが、
1,BGのみのトランジション
2,子レイヤのみのトランジション
3,BG&子レイヤのみのトランジション
で場合分けがされており、
また片方のレイヤが無い場合や、トランジション後に表裏のレイヤ内容を
ポインタのみ入れ替えるか/内容をコピーするかなどと
いろいろな場合が想定されており、自分には大変複雑なものに見えます。
しかしながら、表/裏画面をレイヤ単位で導入することはなかなか上手いやり方だとも思います。
個人的には設計はできるだけシンプルなものにしたいのですが、
実際にトランジション実行を記述するスクリプトのことも考えると、
なかなかそれがうまくいきません。
みなさんはいったいどうやっていますか?
智恵を貸してください。よろしくお願いします。
171 :
168:2007/05/12(土) 23:59:49 ID:NQu8FU6d
>>167 おお! おめでとうございます!
これからも頑張ってください^^
>>168 とりあえず吉里吉里の仕様をもう少しきちんと調べてみることからはじめては?
吉里吉里のレイヤの機能としてのトランジションは単純。隠れバッファに
リアルタイムで合成した結果を本来のバッファの代わりに合成系に参照させてるだけ。
・複数のレイヤを別個にトランジションはできる
これはトランジションがレイヤ単体の機能だからできて当然。
・複数のレイヤをいっしょにトランジション、は、トランジションの機能じゃない(後述)
・優先順位の違う(画面に同時に出てる)レイヤ同士でトランジションはできない。
正確には実行はできるが、更新されるのは「トランジションを実行したレイヤ」だけ。
トランジション先のレイヤは単なる元データで処理がおわった瞬間にさしかわる。
これは仕様で、吉里吉里では、表示レイヤと非表示レイヤ間でしか
トランジションさせないのが定番。
実際のところ、吉里吉里は、「トランジション機能」と「親子レイヤ機能」の
2種類の機能の組み合わせで画面の表現を実現してるのに注意。
親子レイヤってのは、168が
>>169 でいってるバッファを介して〜に該当するものね。
吉里吉里の合成系は、子を親が確保したバッファにいったん合成するのを再帰合成してる。
つまり、168 が言うところの「やっかいな手順」は別の基本機能なので、
トランジション機能的にはその結果だけを使えばよいので単純なままで問題ない。
吉里吉里の「子レイヤをふくめたトランジション」ってのは、
トランジション処理を、この親子合成処理の前にするか後にするかの違い。
分割統治で個別のロジックをシンプルにしてる例ですね。
吉里吉里本体はシンプルなんだが、KAGはたしかにかなり複雑。
これは「裏」「表」を参照する固定名の変数の維持にこだわってるせいで、
動的にレイヤを生成・廃棄するような概念をとれば素直に扱えるはず。
173 :
167:2007/05/14(月) 00:54:31 ID:qwgQqJvf
テスト&デバッグは完了したのですが、一つだけ原因不明なバグが残り………。
それを解決してからアップロードすることにします、とはいえ解決するのはいつになるやらorz
それと、BCCへの対応を打ち切りました。DLLでクラスのやりとりをする時、BCCとVCでは色々と
違いすぎて完全に対応するのが無理なのです。主に、マイクロソフトの独自仕様が悪いのですがorz
>168
ありがとうございます、ノベルツール作成中なら住人になりませんかと誘ってみたり。
>>172 吉里吉里本体はMDIアプリのような感じでレイヤーを管理しているのですね。
確かに、これならかなり上手く実装できそうです。
ありがとうございました。
あと、吉里吉里のリサーチについてなのですが、
自分は本体のソースをみて挫折した記憶がありますorz
今のところ付属のリファレンスしか参考になるものがないのですが、
仕様はいったいどうやって調べたのですか?
サイトや本などでも構いませんので、教えて頂けると嬉しいです^^
>>167 クラスエクスポートを異なるコンパイラ間で行うのは難しそうですね。
あと、ありがとうございます。
自分は手が遅い方なのでなんとも言えないのですが、
そのうち参加できればいいなと思います^^
>>174 普通に「TJS2リファレンス」を片手に「吉里吉里2リファレンス」を
精読すればだいたいのところはわかると思うぞ>仕様。
「Kag System リファレンス」は別に読まなくてもいい。
親子合成やトランジション時の細かい挙動はちょっとリファレンス
だけではよくわからないので、そういう時は十数行レベルの
サンプルをかいて確認。画像ロードとかが簡単に動くから
サンプル書くのは難しくない。
本体のソースはなかなか手がでないけど、けっこう数がある
サンプルプラグインのソースを見れば、内部的なレイヤの挙動は
だいたいわかると思う。おおむね原理は想像の範囲内。
吉里吉里のプラグインは VC でも BCC でも MinGW でも
書けるってのは便利だね。
176 :
167:2007/05/15(火) 18:53:59 ID:5BtIaTXv
バグが見つかったので、ようやくアップロードできそうです。
とはいえ、今週は多忙なのでやはり週末になるかと思われます(´Д`)
>>175 なるほど〜
とりあえずは、サンプルプラグインを参考にしながら
開発を進めていきたいと思います。
ありがとうございました。
>>176 了解です。
178 :
167:2007/05/19(土) 22:35:15 ID:+FLBuyt4
というわけで、色々とバグを修正の末Ver0.97をアップロード致します(´Д`)
基本的な機能はほぼ完成した状態です、後は多少煮詰めればVer1.0に上げようかなと。
インターフェースを弄るスクリプトの命令が存在しませんが、それは仕様とさせて頂きます(´Д`)
(ヘルプにて記述している通り、プログラマが組み込み用途に用いることが前提なので………………)
http://abysslib.hp.infoseek.co.jp/index.html
> シミュレーションゲームやロールプレイングゲームなどに、AVGのシステムを組み込みたい方を対象としています。
この組み込み方についてのチュートリアルはつけなくていいのか?
180 :
167:2007/05/21(月) 08:58:51 ID:LQe2eeUy
>179
もちろん付けますよ、ええ(;´Д`)
現在、プログラマ向けのヘルプは記述中な状態で………。
181 :
167:2007/06/17(日) 22:41:47 ID:z3UGnVRR
うわぁ、閑散としてるなぁ………まあ、私も書き込んでいなかったのですが(´Д`)
現在、尚もヘルプを記述中です。記述中なのですが、少し更新してみました(。。
182 :
167:2007/06/24(日) 19:12:41 ID:pmjsdB4s
スランプを脱し、HTMLでリファレンスを記述中です。
また、多少のバグフィックスを行いました。具体的には、
・「DMA」を「TMA」に変更
・CommandHeap::GetIteratorにエラーチェックを追加
といった些細なものです。一部のクラス名が変更されましたが、まだ正式版ではないということで………(;´Д`)
183 :
167:2007/06/26(火) 01:49:50 ID:8MbLCTwn
尚もHTMLでリファレンスを記述中、こうしてヘルプを書いてみると些細なバグがぽろぽろと出てきますね………。
というわけで、多少のバグフィックスを行いました。具体的には、
・「DRAWMANAGER_CHPRIORITY」を「TASKMANAGER_CHPRIORITY」に変更
といった些細なものです。今回もシンボル名の変更ですが、列挙子のシンボル名なのでまあ問題はないでしょう(´Д`)
184 :
名前は開発中のものです。:2007/07/28(土) 23:24:17 ID:dq8f9rET
期待age
185 :
114:2007/08/05(日) 15:06:22 ID:oDdNXnxw
久しぶりにスレ発見
俺のも形になってきたが、800*600の画像を二枚重ねるだけでFPS割れする
DirectXまじうざす
ほしゅ
過疎ってるけど、がんがって〜!
187 :
名前は開発中のものです。:2007/10/19(金) 00:17:35 ID:MlCrP2zp
よーし、Javaで作るぞ
188 :
167:2007/10/20(土) 12:27:25 ID:DeAtrpzg
189 :
167:2007/10/22(月) 00:50:42 ID:/UJ8IviV
リファレンスが完成致しました(今週末という条件からは約半時間程オーバーしましたが)
次は、プラグインの作り方を書いていこうかと。
190 :
167:2007/11/05(月) 09:34:56 ID:vUmvc+qv
PluginTemplate(プラグインのテンプレートプロジェクトファイル)を追加しました。
プラグインの書き方は、これからヘルプに追加していく予定です。
ガンガレage
192 :
名前は開発中のものです。:2008/01/09(水) 12:18:19 ID:01/Y0s2Y
今度使ってみるage
やっぱプログラムの技術が付いてくると
自分で開発ツール作りたくなってくるんかな
すいません、基本的なことなんでしょうが考えても答えが出なくて…OTL
クロスフェードトランジションなんですが、普通にアルファブレンディング
したら背景が透けて見えてしまいますよね?例えば
背景(100%) * 立ち絵1(50%) * 立ち絵2(50%)
と合成をしたら、見える結果は
背景(25%) 立ち絵1(25%) 立ち絵2(50%)
となってしまいます。
吉里吉里等他のノベルツールを見る限り、重なっている部分は透過せず、
重なってない部分は背景が透過するようになっていますが、このようなトランジション
を実現するためにはどうしたらいいのでしょうか?
ブレンド関数から等式たてて解けよ
そのブレンド関数を教えてもらえませんでしょうか?どうも条件分岐が
必要な気がするのですが…。
吉里吉里のソースをみて、何とか解決の糸口がつかめそうです。
ありがとうございました。
合成先のα値を考慮しなくていいのなら、
立ち絵同士を一度作業用ビットマップに半透明アルファ合成したあと、
その結果を背景にアルファ合成するのが一番簡単だと思うよ。
α値を考慮する場合は合成関数が複雑(で低速)になるけど、
素直に背景から順に描画できるから、クロスフェード自体は単純にできる。
フォトショップのレイヤ合成式とかが参考になるかも。
まぁ階層レイヤのサポートとかがないのなら前者でいいと思うが。
ところで、テキストの遅延描画ってどう扱ってる?
今の仕様だと、レイヤへの画像処理は一度内部でキューイングして、
フレーム更新時に一括描画するようになってるんだけど、
ノベルでテキスト描画が30FPSや60FPSじゃちと遅すぎる。
だからといってテキストだけ例外扱いするのも汚いし……。
レイヤへのテキスト描画→親レイヤを更新→画面を更新
というパイプラインを考えていたんだけど。
>>198 ありがとうございます。難しく考えすぎていたようです。
吉里吉里でも大方そのとおりに処理してました。
>ところで、テキストの遅延描画ってどう扱ってる?
Windowsのテキスト描画APIはよくしらないのですが、グリフのキャッシュ
はしてますか?テキスト描画はかなり時間を食う処理なので、せめて一度
現れたグリフはキャッシュしておかないと(AAを使う場合は特に)遅いです。
そのFPSはいくらなんでも遅すぎるので、おそらくキャッシュせずにいちいち
フォントを描画しているからだと思うのですが…
200 :
167:2008/02/21(木) 19:31:37 ID:5b5pMclc
201 :
167:2008/02/21(木) 19:33:08 ID:5b5pMclc
>193
そういう人は結構居るんじゃないかと(私はその一人です)
やっぱり、自分の技術の証となるのは自分で作ったものなわけで。
どちらにせよある程度の規模のものになると、エンジンを作ることになりますしね。
203 :
167:2008/02/22(金) 20:55:09 ID:jh5iaM9E
楽しみにしてますよ〜
205 :
167:2008/02/28(木) 12:15:32 ID:DcPvHY26
206 :
167:2008/03/01(土) 20:03:40 ID:bCAcnPBr
サイト全体を色々と変えるのには手間がかかります、もう一週間ぐらいはかかりそうです(´Д`)
なので、アンケートでも取ってみます。
現在、AbyssLibのScriptPlayerはyaneSDKを用いて制作しております。
ですが、他のライブラリを用いても制作できるようにAbyssLibは作っております。
ですので他のライブラリでScriptPlayerを作ってみようかと思うのです、オススメのライブラリはありますでしょうか?
DirectXが最多票になってしまう気がしますが、オススメのライブラリをお待ちしておりますm(_ _)m
どういう意味でのライブラリを求めてるのか知らないけれど、
移植も考えるならSDLとか?
208 :
167:2008/03/02(日) 10:50:11 ID:fWG1GsJc
>207
ゲーム制作に多用されているライブラリを、と考えております。
勿論、AbyssLibはライブラリを使わずDirectX(まあDirectXもライブラリですが)を用いて動作させることも可能です。
個人的には、LunaかSDLかぐらいが有名なゲームで用いられるライブラリかな、と。
まあ、D3DXでぱぱっと作っちゃっても構わないわけですが…ウインドウの初期化処理とかがめんどくさいんですよ、ええ(´Д`)
209 :
167:2008/03/02(日) 11:41:14 ID:fWG1GsJc
そして書き忘れていたので追記を
Ver1.00になった際に、(yaneSDKを用いているScriptPlayerを除き)VC2008での動作を確認しております。
まあ、常識的なコードの書き方をしているから当たり前の話なのですが(´Д`)
Irrlicht とかが画面だすのは簡単だたよ。
ソース読んでないのですが、yaneSDKにアクセスする部分はラッパーで
包んであるのでしょうか。お疲れ様です。
Irrlichtは私も使ってますが、2D機能が弱くて、追加で2〜3k行程度の2Dライブラリ
を自作しました。
なのであんまりお勧めしません。
212 :
167:2008/03/02(日) 18:50:01 ID:fWG1GsJc
一週間かかると書きましたが、一日で何とかなりました(´Д`)
改装も終了しましたし、これからはサンプルを用意しつつ要望をフィードバックしていこうかと。
現時点での「他のライブラリ」の候補は、DirectX、Luna、SDLあたりで。
>210
ググって調べてみたところ、本格的な3Dライブラリなようですね。
3Dゲームにも使えるということを証明する為に実装を………何だか、勉強が必要な気がします(3Dの)
>211
そうですね、グラフィック機能・サウンド機能・ユーザー入力機能の全てをラッパーで包んであります。
よって、どのライブラリからでも純粋仮想関数を継承し実装する形で利用できるかなと。
まあ、まだ机上の理論なので実際に他のライブラリを使うと不具合が出るかもしれませんが。
213 :
167:2008/03/02(日) 19:00:02 ID:fWG1GsJc
あの、今自分用の小型エンジンを作ってて、
スクリプトはコンパイル方式を採用しているのですが、
スクリプトの修正&コンパイル後も
セーブデータの互換性を保つ方法ってどんなのがありますか?
具体的な例を挙げると、
スクリプトをコンパイル&公開 …… 1
バグ発見のためスクリプトを修正
修正パッチを公開 …… 2
の1と2の間でセーブデータの互換性を保ちたいのです。
現状では、仮想マシンの作業メモリと実行アドレスを保存することで、
任意の位置でのセーブを実現しています。
ただ、コードに変更がないことを前提にロードしているので、
スクリプトを変更してコンパイルすると、
戻って欲しい位置に復帰してくれないという状況です……。
>>214 >現状では、仮想マシンの作業メモリと実行アドレスを保存することで、
この方式でセーブしている限り無理です。抽象化したセーブデータの構造を
とらないと、この問題に対応するのは難しいです。
216 :
167:2008/03/03(月) 02:02:06 ID:0A1OCtBB
>214
此方と同じ方式ですね、此方はその辺は諦めきっております(´Д`)
諦めるのもひとつの手かと、誤字脱字の修正レベルならセーブデータに互換がありますし。
………答えになっていませんですか、そうですか(;´Д`)
なるほど、位置情報でセーブする限りは難しいということですね……。
誤字脱字はさすがに修正できないと困るので、
シナリオはデータベース化してスクリプトから分離しようと思いますが、
商業エンジンとかの演出強化パッチとかってどうやってるんでしょう。。。
一行ごとにユニークなラベルを振るとか……?
ポインタの概念が分かってればそうやろうとは思わんかね?
219 :
167:2008/03/05(水) 14:37:22 ID: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:2008/03/05(水) 14:39:36 ID:8GmHp0Qk
>218
ポインタでたとえると、スクリプトの修正はメモリを弄る(データの再配置など)に該当すると思います。
ポインタの概要というのは位置情報のセーブと同じでそれではできないような気がします。
以上、思いつくままに書いてみました。間違ってたら申し訳なく(´Д`)
221 :
214:2008/03/08(土) 12:20:15 ID:25l4JxkE
みなさんどうもありがとうございます。
あれからいろいろと発想を変えて考えてみましたところ、
やはりスクリプトを変更可能な形での完全復帰は難しいと言うことで、
逆に、現状のスナップショット的なシリアライゼーションを
システムのサポートから外してしまおう、という結論にたどり着きました。
これにより、スクリプトに実装できるオブジェクトの幅が広がると同時に、
プログラム構造の簡便化が図れるのではないかと思っています。
もちろんセーブ・ロードはゲームに必須の機能なので、
代わりにデータベースファイルへのアクセス用オブジェクトをサポートして、
状態の保存と読み込みを各スクリプトに一任するという形にするつもりです。
とりあえず明日までに実装してみて、駄目そうならまた考えてみます。
>>221 スクリプト側に状態保存を一任とかすると、すごいバグの温床になるよ……(経験者談)
アドベンチャー系のゲームの場合は、発想をまるごとかえて、
・オブジェクトへのプロパティ設定が実際に画面や音声に反映されるのを遅延する仕組み
を作ったうえで、
・任意のシナリオファイルの頭から指定行(再生位置)まで以下の2種の再生ができるプレイヤー
a. 画面を更新しつつ再生
b. 画面更新なしでプロパティの設定のみ行い、再生して位置がきたら全オブジェクトの画面を構築
をつくっておけば、どんなに複雑な処理をしてしまっても、セーブ情報としては、
フラグ系+現在のシナリオ+現在の行(テキスト)番号
だけでよくなる。
ロードするときには該当位置まで一気に内部再生してしまうわけ。
常に前回からのプロパティ差分を記録、とかデータの保持を工夫すれば逆再生も可能。
シナリオをいじると、行が前後する可能性はあるけど、たかだか数行程度なので、
ユーゼの許容範囲内。使えないことに比べると断然よい。
あと、長すぎるとシナリオ末尾のロードにすごく時間がかかるようになってしまうので、
適度にシナリオを切り分けて、その頭では常に全オブジェクトが破棄されたところから開始、
とか工夫する必要はある。フラグ系も常にシナリオの間で処理するようにしておかないと危ない。
一般的な ADVなら、よっぽど変なことをしてない限りは、100kぐらいまでの分量なら2〜3秒
以内に読み飛ばせると思う。
223 :
167:2008/03/22(土) 22:31:09 ID:Mh8Q2q/k
お久し振りです、関数をひとつ追加しVer1.01に格上げしました(´Д`)
現在は、DirectX9を使用したScriptPlayer2を作成中です。
意外と、直接DirectXを弄るのって面倒ですね(´Д`)
224 :
167:2008/03/27(木) 21:20:23 ID:AYfrO4G4
225 :
167:2008/04/05(土) 20:03:27 ID:S56PFwNU
そして誰もい(ら)なくなった(´Д`)
セーブ/ロード/環境設定のバグを修正し、新規に関数を加え、
既存の関数の仕様を修正しVer1.03にしました。スクリプトの仕様も若干変えており、
BasicCommandsがVer1.01になっております。とりあえずこれで暫く据え置いて、
DirectX9.0cで動作するScriptPlayer2の開発を続けます(´・ω・`)
これが完成すれば、3Dゲームにノベルエンジンを乗せるといった
変態的なことが出来るようになる筈です。
http://abysslib.hp.infoseek.co.jp/index.html
>>225 いつか使わせてもらおうかと思っているのでがんば。
>このクラスは単独で利用される事を前提に設計されています
シングルトンは?
228 :
167:2008/04/06(日) 21:40:25 ID:KQbfR7n9
昨日頑張ったので今日はお休みです、Nezが面白いです('='
>226
頑張ります(´・ω・`)
>227
Singletonパターンはポリモーフィズム不可となってしまいます。
NovelPlayerは派生前提のクラスですので、そうしてしまうとまずいのです(´Д`)
………しかし、ググってみるとMonoStateパターンというのがあるのですね。
これなら、派生と唯一の保証が同時にできそうです。次回アップグレード時には変更しておこうと思います。
229 :
167:2008/04/24(木) 00:27:18 ID:tTzhnCFW
230 :
167:2008/05/23(金) 20:30:14 ID:ceSRwxFD
お久し振りです、現況報告をしておきます。
今現在、引き続きScriptPlayerを作成しております。
グラフィック機能とユーザー入力機能の作成を完了、
現在はサウンド機能を手がけるまえにスクリプトのtext命令における
改行処理を改善しております。
以前のtext命令における改行処理は、文字サイズ×文字数で規定サイズを超えないかを
チェックし、超えていた場合改行を挿入するという形にしておりました。
ですが、これだとプロポーショナルフォントの場合に明らかにおかしなことになってしまいます。
ですので、今はGetGlyphOutlineを利用し一文字一文字のサイズを取って改行処理を行うようにしてます。
………ですがここで問題発生、なぜか一部の文字列で文字が途中で切れるといった現象が発生してしまっています。
数日間原因を追っているものの原因は不明で、さきほどようやくyaneSDK内に原因があることを突き止めました。
これを突き止め、改善した後にスクリプトおよびAbyssLibのバージョンを上げることになります。
Java SEとJava MEでスクリプト互換なADVエンジン作ってる俺もここにいて良い?
java ME版はとりあえず画像・エフェクト・サウンド以外は実装されてるから実機で動くブツがあるんだが。
232 :
167:2008/05/24(土) 16:15:18 ID:wIfHDoSg
>231
一人だけだと寂しいので、是非どうぞ(´Д`)
233 :
231:2008/05/27(火) 14:58:53 ID:LVQuf83F
234 :
167:2008/05/31(土) 15:29:52 ID:cDHtMtgR
>233
落としてみました〜…が、どうすれば動作するのやら(´Д`)
Javaは弄ったことがないので分かりませぬ、教えて頂ければと。
235 :
167:2008/05/31(土) 15:40:40 ID:cDHtMtgR
そしてAbyssLibをVer1.05に、プロポーショナルフォントの問題は原因不明です(;´Д`)
yaneSDK内のバグであるのは明らかなのですが…折を見て精査しようと思います。
とりあえずはScriptPlayer2のSound周りを実装していこうと思います、完成したら
漸くサンプルの製作に取り掛かれますので(´・ω・`)
236 :
167:2008/05/31(土) 15:41:16 ID:cDHtMtgR
>>234 PC上で実行するならJDKとWTKインストールしてパス通してjadをダブルクリックで
インストールがエミュレータ上で開始されるからインストールが終わったらメニューから開始。
実機ではMIDP2.0端末なら動くから端末のインストール方法に従う。
BSDで公開してるから再うpおkだからOAPでもいけると思うよ。
ソース?まだ公開しない。
238 :
167:2008/06/24(火) 17:33:27 ID: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
239 :
167:2008/06/24(火) 17:36:27 ID:sm4oPcBg
>>237 ありがとうございます、って携帯端末用なのですかっ!?
凄いですね、でも何だか同じニッチ仲間のかおりがしますw
240 :
167:2008/06/24(火) 17:56:55 ID:sm4oPcBg
ああ、あとScriptPlayerのプロポーショナルフォントについてのバグですが、
調べてもまったく原因が分かりませんorz ですので、修正は後回しにしようかと…。
241 :
231:2008/06/25(水) 03:42:36 ID:XEInH/6C
シナリオ書けるけど書こうか?
242 :
167:2008/06/25(水) 22:20:04 ID:IYU4+aQR
VC2003にてScriptPlayer2の動作テストを完了させました。
というわけで、VC2005、VC2008用でテストを行おうとしたところ…。
SDKの問題にぶち当たりました、DirectMusicが入ってないとか何とか…。
もう本当にマイクロソフトは………。
>>231 宜しければ是非にお願いしたいです。
作品ではなくサンプルですので、お気楽に提供してくださればと。
スクリプトの記述は此方で行いますので、演出効果の指定などあれば嬉しいです。
243 :
167:2008/06/27(金) 02:10:02 ID:ir5KQ5HR
ScriptPlayer2をアップロードし、他色々と細かなことを行いました(詳細は更新履歴を参照してください)
今後の方針は
1.ScriptPlayer2の強化(ストリーミング再生対応)
2.サンプル製作(ADVサンプル、SLGサンプル、STGサンプル)
といった感じで考えております。バグ報告、要望などなど大歓迎です。
さて、それじゃあ寝ます。明日早いのに………λ
http://abysslib.hp.infoseek.co.jp/index.html
244 :
231:2008/06/28(土) 21:19:12 ID:XOIOwuqi
>>241 おkわかった。
演出指定とフラグ・分岐指定はマなら分かる程度の疑似言語でかいとくよ。
というかうpろだがないのでどこか使える場所を教えてほしい。
245 :
231:2008/06/29(日) 17:51:00 ID:I2D0z5Pb
246 :
167:2008/06/29(日) 19:23:41 ID:nXA5Td6M
今現在、Oggのストリーミング再生に取り組んでいるのですが…DirectSoundが分かりづらいですorz
ネットを漁っても資料があまりなく…ぽつぽつとあったのを見比べながら、手探りで作ることになりそうです。
>>231 ありがとうございます、ダウンロードさせて頂きました!
来週末ぐらいまでには、形にしたいと思いますので〜。
がんばれちょうがんばれ。
ツールを作ってみたいのですが、どこから手をつけていいのかわかりません。
一応C言語ならわかります。
環境、Visual C++ 2008 EE
249 :
167:2008/06/29(日) 20:50:52 ID:nXA5Td6M
ちょwwwDiablo3www発売までにある程度完成させないと作業放り投げちゃいそうwww
…Oggのストリーミング再生は、とりあえず設計とヘッダだけ完成しました(´・ω・`)
とりあえず、来週末までには何とかできそうです。
それにしてもDirectX Graphicsの本はあってもDirectSoundの本はないのですね、
Soundの方が分かりにくいと思うのに…。
>>248 ゲームを作るにせよツールを作るにせよ、
C++をはじめに勉強するのをオススメします。クラスを覚えたら色々と幸せになれるかと。
250 :
231:2008/06/29(日) 21:00:49 ID:GLV8FDV4
>>246 問題は絵師が居ないことだな。
シナリオはかなり話が荒いが4時間で全て作ったんで勘弁してくれ。
251 :
167:2008/06/29(日) 21:49:02 ID:nXA5Td6M
>>231 絵は著作権フリーのものを漁ってみようかなと。
サンプルなので、寧ろ大仰でない方がありがたいですw
252 :
167:2008/07/05(土) 22:03:00 ID:EM8uOWnZ
ここ最近、調子が良いのか毎週末無駄にレスしてますね(´Д`)
進捗報告です、まずはじめにADVサンプルは手をつけてすらおりませんorz
231さん、本当に申し訳ないです…代わりに、Oggのストリーミング再生は75%ほど完成しております。
デバッグを含め、調子が良ければ明日にはアップロードできるかと。ADVサンプルはそれから手をつけ、来週末までに完成させます。
>>252 IDirectSoundNotifyは挙動が怪しいことは知ってるかな?無駄な心配かもしれないけど。
254 :
167:2008/07/06(日) 19:32:31 ID:afX0fIC8
19時26分現在、設計し直したサウンド周りのテストを行っております(´Д`)
何事もなく無事に終われば、ScriptPlayer2に反映させる予定です………間に合うのかなぁ(´Д`)
>>253 はい、存じておりますよ。
・再生位置がずれる
・停止→再生時にノイズが乗るの二つですね?
前者はサウンドドライバが原因なのでDSBCAPS_LOCSOFTWAREを指定することで、
後者は無音バッファを常に再生することで解決可能らしいです。今現在はそういった実装を行っております。
255 :
167:2008/07/07(月) 01:40:12 ID:B1iyMnC8
………間に合いませんでした(;´Д`)
理由は今の今まで、無音バッファの作成→再生に苦労していたことです。
DirectSoundBufferへの渡し方を間違えており………今、漸く無音バッファの作成と再生に成功しました。
ScriptPlayerへの反映はこれからです、とはい今日は遅いのでもう寝ます。
今週前半にアップロードできればなぁ、と(;´Д`)
256 :
231:2008/07/07(月) 03:58:42 ID:QupOJ94Q
スクリプト化はまだですかいね?
本題だが、もろに続くシナリオで伏線張りまくりなわけだが
ぶっちゃけ続き考えてあるからどうせなら制作速報VIPで一本つくらね?
熱くてロボットなシナリオを用意してますよ。
257 :
167:2008/07/07(月) 17:19:28 ID:B1iyMnC8
とりあえずScriptPlayer2への反映が完了しました。
恐らく、今夜にはストリーミング再生対応版をアップロードできるかと思われます。
>>231 >>252の通り全く手をつけられておりません、すみません(;´Д`)
258 :
167:2008/07/07(月) 23:18:25 ID:B1iyMnC8
強化ScriptPlayer2をアップロードしました。
変更点は、
1.ストリーミング再生に対応
2.対応音声形式からMIDIを除外
です。
MIDIに対応することも可能なのですが、
それを行うとコンパイルするのに過去のSDKから
DirectMusicコンポーネントを持ってこないといけなくなりますので…(´Д`)
ScriptPlayerおよびScriptPlayer2は一段落、
今後はバグフィックスと機能拡張に努めていこうと思います。
1.バグフィックス
2.機能拡張(要望次第で)
3.サンプル制作(シナリオを頂いているADVと要望を頂いているSLGを優先的に、STGなんかも作れればいいかなと)
http://abysslib.hp.infoseek.co.jp/index.html
259 :
167:2008/07/09(水) 14:15:15 ID:3maLZ88e
今日はお休み〜ヽ(´―`)ノ
というわけで、現在ADVサンプルに手をつけております。
早ければ、今週末にはお見せできるかなと………。
それとScriptPlayer2についてなのですが、
現在完成しており手をつけるとしたらD3DXから離れるぐらいです。
D3DXから離れることで、
・DLL Hell(特にD3DXのは酷い)から逃れられる
・それにより、DirectX 9.0cさえ入っていれば確実に動作する
といった二点が挙げられます。それに対し、
・DirectX 9.0cの最新版さえ入れてれば確実に動作するからいんじゃね?
・D3DXからDrawPrimitiveに移行するのが面倒臭い
・そもそも3Dゲーム作ってるんじゃなし多少遅くてもD3DXでいんじゃね?
・そもそも、ScriptPlayer2自体ライブラリへの組み込みサンプルだし…
といった感じなのですが、ここをご覧の方々はどう思われますでしょうか?
260 :
167:2008/07/09(水) 14:23:14 ID:3maLZ88e
>>231 レスし忘れがありましたので。
ライブラリ・サンプル制作の傍らにとはなりますが、
余裕は割とありますので此方は別に構いませんよ。
261 :
231:2008/07/09(水) 14:41:58 ID:Fwq47F32
>>259 移植性を高めるためにOpenGL/AL使うとか。
>此方は別に構いませんよ。
ロボットものとしてはやっぱりロボット操縦して戦うパートもほしいわけで、
元もと組み込み用途なら理論上できるよね。
誰か3Dアクション作れる人は居ないかね?
ちゃんとやるなら絵師も欲しいし。
262 :
167:2008/07/09(水) 16:06:47 ID:3maLZ88e
>>231 移植は…ライブラリ製作開始時には考えていたのですが、今は考えていないのですよ(;´Д`)
理由は単純に移植性を考えるとWindowsAPIすら使うことができなくなるわけで………。
そうですね、組み込み用途なので理論上可能です(実証はこれからサンプルを作るということで)
3Dは…勉強しなきゃ駄目ですね、ずっと今まで2Dオンリーでしたので。
263 :
231:2008/07/09(水) 17:41:31 ID:gE4cMeoC
じゃあまずはサンプルで上げた部分の完成が先か。
264 :
167:2008/07/10(木) 00:10:00 ID:MfiFXGOk
報告です。
………すみません、今週末までにADVサンプル完成しないかもorz
今までの単体機能テスト的なサンプルとは異なり、こじんまりとしたゲーム製作的なサンプルだと色んな不具合が出ています。
今出ている不具合の解決だけでも、AbyssLibとBasicCommandsのアップグレードが必要になりそうです。
解決策はもう分かっているのですが、問題はマニュアルの修正が………orz
と、とりあえず00だけでもでき次第お披露目しますので(;´Д`)
265 :
231:2008/07/10(木) 10:56:36 ID:f30wTD23
単体テストはパスして統合テストはパスしなかったんですね。わかります。
というか統合テストやった?
266 :
167:2008/07/10(木) 17:03:53 ID:MfiFXGOk
>>231 単体テスト的なサンプルというのは、ひとつひとつの命令をテストするサンプルのことです。
つまり、今までこの命令とこの命令とを組み合わせると…とかをやっていなかったわけで。
そういうのは、実際に作ってみないと露見しないと思うのですよ。
というわけで現在はライブラリを修正中、今日中に全て終わると良いなぁ。
267 :
167:2008/07/11(金) 20:09:54 ID:Av6xBhfZ
報告〜
不具合の修正が完了しました、あとはZipをまとめるのとマニュアルの修正だけ…。
明日朝までには何とかっ…!
268 :
167:2008/07/12(土) 01:42:42 ID:ucE3c2Sf
アップデート完了しました、まだ直したいところは沢山ありますが今はここまでということで(;´Д`)
禁則処理が載ってるページってあるのでしょうか、情報求む………。
KAGのソースコードかfirefoxの禁則処理やってる部分
270 :
167:2008/07/12(土) 19:27:21 ID:ucE3c2Sf
細かい不具合も修正しましたので改めて告知です(´Д`)
AbyssLibをVer1.06に、BasicCommandsをVer1.02にアップグレードしました。
主な変更点は、
・INovelEngine、NovelEditor、NovelPlayerクラスの仕様を変更
・デフォルトの命令実行中の入力受付を有効から無効に変更
・menuon、menuoff、menuを削除、fadeinu、fadeoutu、cleartextを追加
といった感じです。これから、頑張ってADVサンプルに着手します(;´Д`)
>>269 情報ありがとうございます、調べたところそもそもどのファイルに禁則処理があるのやら………orz
Zip等でまとめて落とせれば検索ですぐに見つかるのですが、リポジトリではそれもできず………。
かなり時間がかかることになりそうです、とりあえずは後回しということで………。
http://abysslib.hp.infoseek.co.jp/index.html
271 :
167:2008/07/13(日) 15:35:12 ID:DUwTLjOJ
現在ADVサンプルを製作中、ルートAは完成しました。
残るはBとC…!
272 :
167:2008/07/14(月) 17:43:00 ID:ZdsQOuQq
スクリプトは完成しました。
あとはパッケージングと多少のコーディングでADVサンプルは完成です。
ゲーム的なものを作ることでいくつかの課題が見えてきました。
今週および来週は現状で明らかになった課題を修正していこうと思います。
273 :
231:2008/07/14(月) 23:05:03 ID:kiTDyCSg
kagの禁則処理はMassageLayerクラスでやってる。
インスタンス変数に禁則文字もっててprocessCh(ch)メソッド内で最初に禁則文字が来るかどうか判定して描画してる。
ミス、MessageLayerね
275 :
231:2008/07/16(水) 00:58:36 ID:OOab/yF9
>>167 全ルートクリアしたら設定集見れるようにしてりゃれ
276 :
167:2008/07/16(水) 17:25:40 ID:0TqCQX6E
進捗報告
現在、諸事情によりかなり多忙となっております(;´Д`)
開発の手を止めることはありませんが、月末まで鈍ってしまうかもしれません…。
ADVサンプル
現状スクリプトは完成しており、ScriptPlayerを少し弄れば公開可能な段階です。
ですが
>>275の要望もありますので、タイトル等のインターフェースも追加します。
よって公開は今週末、ないし来週前半ぐらいになるかと思われます。頑張りますのでっ(;´Д`)
AbyssLibおよびBasicCommands
ADVサンプルの公開後は、AbyssLibおよびBasicCommandsの大規模アップデートを行う予定です。
単体テスト的なサンプルとは異なり、実際のゲーム製作なサンプルを手がけていると色々と問題が見えてきましたので。
こちらは大規模なのと多忙なのが重なり、月末あたりの公開になりそうです。今現在、主な変更点として考えているのは、
・NScripterとの比較・修正
・画面効果の見直し(修正・追加)
・全命令の見直し(スキップ時の動作など)
・画面効果の強化(多重可能、より多彩な表現を可能に)
・text命令の大幅な変更(禁則処理、複数分割、センタリング、途中での色・サイズ・スピード・フォント変更対応)
といった形で考えております。
277 :
167:2008/07/16(水) 19:11:59 ID:0TqCQX6E
方向性
製作開始から四年とちょっと、公開開始から一年とちょっとが経ちました。
漸く近頃になって実用的なサンプルが見せられるようになりそうで、そのことにより方向性がより明確になりそうです。
・スクリプトは超簡単に
スクリプトは超簡単にします、BASICレベルぐらいを目指します。
スクリプトの比較対象は上記にも挙げておりますが、NScripterです。
もう少しAbyssLibおよびBasicCommandsの仕様が安定したら、GUIで製作可能なIDEも製作してみようかなと。
・要VC、要プログラマ、組み込み用途
個人的な感傷ですが、やはりゲーム開発はプログラマが居てこそ!
ですので、ウインドウタイトルの変更などのレイアウト系の命令はあまり作りません。
作ったとしても、プログラマなら直にソースコードを弄った方がずっと楽だろうだからです。
上記のような感じでニッチでノーフューチャーな感じのノベルゲームツールではありますが、
少なくとも使用者は一人(=私)存在しますので製作中止はないと思いますw
生きてる?
279 :
167:2008/07/24(木) 01:55:34 ID:6ZdIsG3r
>>278 一応生きておりますよ、半分死んでおりますが(;´Д`)
想定以上の多忙さで、来週前半ぐらいまではまったく動きが取れなさそうです。
よって、ADVサンプルは来週末ぐらいになりそうな予感が…が、頑張りますのでっ(´Д`)
乙
281 :
167:2008/07/28(月) 23:50:29 ID:D3UUe4Dt
漸く動きが取れそうです、とりあえずは現状報告を。
・ScriptLinkerのバグ修正
現状、上記を終えてADVサンプル制作とAbyssLibのアップグレードを並行して行っております。
お披露目できるのは今週末になるかなと、次いで上記の大規模アップグレードを施していく予定です。
282 :
231:2008/07/30(水) 02:13:37 ID:vJo0vBYR
283 :
167:2008/08/02(土) 01:27:23 ID:f++r0Ae5
284 :
167:2008/08/03(日) 14:48:10 ID:i2UvYafj
………間に合いそうにありません(;´Д`)
スクリプトは既に完成しているのですが、謎のバグが解決できず…。
もう少しお待たせすることになるかな、と…。
Irrlichtと一緒に使おうとしているんだけれど、
いまいちうまくいかない<AbyssLib
>>284 バグ取り大変だけど、頑張ってください。
286 :
167:2008/08/05(火) 22:58:12 ID:WpKVSQZT
おお、使ってくださっている方が!m(_ _)m
Irrlichtですか…使ったことないのでよく分かりません、すみません(;´Д`)
一応、DirectX9.0cをベースにした自作簡易ライブラリでは動作しているのでyaneSDK依存ではない…筈です(´Д`)
ただ、当たり前の話ですが2Dを前提に組んでいる為3Dライブラリでは導入が難しいかもしれません。
そのあたり、次のバージョンアップではより導入を簡易にできればなと考えております。
(実装にif-thenすら使わせず一命令ラップするくらいですむようなレベルでできればな、と)
バグは…ボタンが反応しなくなってしまうというものです(´Д`)
発生する時としない時があるのが余計に厄介で…今週末までには何とか解決しようと思いますorz
287 :
167:2008/08/05(火) 23:40:07 ID:WpKVSQZT
質問・要望等があれば伺いますのでっ。
3Dライブラリ使いな人の意見も聞いてみたいです。
288 :
231:2008/08/05(火) 23:45:31 ID:3N+FVzaq
AbyssLibって内部的なAPIはなに?D3D9じゃないの?
WinAPIやらMFC+CPUでごりごりな自前の2D描画層って感じ?
いっそ内部OpenGLにするって手もあるよ。
Irrlichtがバックエンドに何使ってるかは忘れたが・・・w
あとADVエンジン層の呼び出しプロセスがマンドクセてんなら組み込み言語にポートするってのもあるよ。
ピアな部分は組み込み言語用に実装して初期化やらは組み込み言語で書いて
埋め込む側は組み込み言語初期化してスクリプト呼び出しでおk。
ツクールのRGSSや吉里吉里/KAGみたいに2重構造になるけど。
>>286 うまく報告出来るか分かりませんが、
どこで詰まっているかを今度書いてみます。
290 :
167:2008/08/06(水) 00:35:18 ID: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:2008/08/06(水) 00:36:21 ID:qvQ+5RLz
>>289 ありがとうございます、ご報告を楽しみにしておりますので。
292 :
231:2008/08/06(水) 01:11:31 ID:Lv1L32N2
>>290 要するに細かい部分はインターフェース層用意してあるからそっちで実装してねって事か。
純粋仮想関数のオーバーライドはjavaとかC#とかやってると設計上普通に使うから今時負担にはならんと思うよ。
293 :
167:2008/08/06(水) 01:25:50 ID:qvQ+5RLz
バグ取れた-----(゜∀゜)-----!!!………何このケアレスミスorz
yにすべきところをコピペでxにしていたという…このバグ、該当箇所の関数を
一切弄っていなかったことを考えると関数の実装当時(初公開以前)からあったのですねorz
ともあれこれで正常にボタンが動作するようになった筈です、早速試して可能であれば今週末にADVサンプルをあげますので!
>>290 そういうことですね、ユーザーフレンドリーではありませんが柔軟性は高い筈です。
今後の課題はよりプログラマフレンドリーにすることです、速度低下はADVパートだしとあまり気にしていなかったりします(´Д`)
295 :
167:2008/08/06(水) 03:22:43 ID:qvQ+5RLz
うっは、192でした………orz
AbyssLibおよびBasicCommandsのアップグレードは明日(というかもう今日)行います。
ADVサンプルは今週末の完成を目指します。
AbyssLibの大規模アップグレードは今月末の完成を目指します。
とりあえずは上記の予定です。
296 :
167:2008/08/07(木) 00:21:06 ID:8axzCyIL
またエンバグ………今週末までには何とかっ!
297 :
167:2008/08/07(木) 12:30:56 ID:8axzCyIL
AbyssLibおよびBasicCommandsのアップグレードを行いました。
AbyssLib:不具合を修正のみ
BasicCommands:新規命令(nop)を追加
これで大体のバグは潰せている………筈です、きっと、願わくば(´Д`)
当分はこれを安定版としつつ、大規模アップデートを今月末までに完了させる予定です。
waitとかsleepではなくnopですか。渋いな。
299 :
167:2008/08/07(木) 15:17:20 ID:8axzCyIL
あはははは、またバグが、またバグがっ………!(゜∀゜)
根深いものではなく単純なものなので簡単に直せるのですが…どうしてこう、エンバグするのかとorz
やっぱり、一人でのバグチェックには限界がありますね…結構、見落としがぼろぼろとあります。
>>298 ………sleepの方が分かりやすいですよね、はいorz
waitは既に使っているので、sleepを使わせてもらおうと思います。
バージョン管理やるべ。過去のソース追えて楽だぞ
301 :
167:2008/08/08(金) 02:46:56 ID:Q5Dc92Vt
一通りバグを確認、明日(というかもう今日)中に全て片付ける予定です
エンバグというと微妙に語弊がありますね、今まで気付かなかったバグがぼろぼろと出てきています。
主にメニューの呼び出し禁止命令やテキストウインドウを非表示にする命令などあまり使っていなかったもので…。
出る度にバグは減っているのだ、と思って自らを誤魔化してみたり(´Д`)
>>300 ですよね、ですがどうやってするものやらさっぱりさっぱりですw
今のところ、前バージョンとはDFで差分検出して検証しつつデバッグ等はしておりますね。
DFで差分みながらなんてそんな前世紀的な……
とりあえず subversion、あるいは TortoiseSVN でぐぐるんだ。
サーバたてなくても、ローカル、あるいは、適当なネットワークフォルダでも
運用できるから、早急な導入をおすすめする。
DFで差分見ながらなんてそんな!とか言おうとしたらすでに言われた件。
ついでにBTS導入するのをお勧めするよ。
そのうちソースじゃなくてバグの方追えなくなるからw
鯖立ててtracなんてどう?
304 :
167:2008/08/08(金) 17:07:02 ID:Q5Dc92Vt
発見した不具合をあらかた修正しました。
AbyssLibおよびBasicCommandsのアップグレードは明日明後日になりそうです。
これから、再チェックを行いますので………。
>>302 >>303 情報感謝です、勉強して導入を検討してみますね。
305 :
231:2008/08/09(土) 20:39:22 ID:RxHiriqz
リファクタリングしてたらバグ取れた。
リファクタリングになってねぇw
AbyssLibおよびBasicCommandsのアップグレードを行いました。
AbyssLib:不具合を修正のみ
BasicCommands:nopをsleepに変更
今度こそ、大体のバグは潰せている筈………一応、ADVサンプルで何度か試してみました。
そろそろ、安定版になりたいなぁ…それじゃあ、今からADVサンプル制作にかかります。
今のところ、残すはCGモードと設定を見られるようにするモードのみです。
http://abysslib.hp.infoseek.co.jp/index.html
307 :
167:2008/08/11(月) 16:07:05 ID:rWv/Paab
ADVサンプル、完成しましたっ!
今夜にはアップロード予定ですっ…!
とりあえず今からはテストと添付テキストを用意せねば…。
そして231氏すみません、結局考えた結果クリア後の設定表示を省きました。
粋なインターフェースを思いつかなかったというのと、スタンダードなサンプルにするというのが主な理由です。
代わりに、設定のテキストファイルを添付する形にしようかと思います。
308 :
231:2008/08/11(月) 23:09:21 ID:WZ10t0Jr
>設定のテキストファイルを添付する形にしようかと思います。
それでおk。readonly属性付けてね。
でもう夜なわけだが
マダカネ?AAry
wktk
309 :
167:2008/08/12(火) 00:54:27 ID:ZamgD3kn
お盆休みのバイト納めにうきうきしていると…あ、こんな時間orz
はめを外しすぎました、明日中にはアップロードできると思いますorz
(一応、こそこそと色んな付加要素も作っていたり。こういうことも出来るぞ、的な)
310 :
167:2008/08/12(火) 18:41:15 ID:ZamgD3kn
311 :
231:2008/08/12(火) 22:02:40 ID:T5rKjtuP
GJ!
さて話の続きは考えてあるのだが。どうしようか・・・。
312 :
167:2008/08/12(火) 23:05:48 ID: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:2008/08/16(土) 19:57:10 ID:av1TojkH
java ME MIDP 2.0向け ADVエンジンのソース公開しますた。
ttp://sourceforge.jp/projects/lixm/downloads/32555/Ayane_src_2008_08_16.zip このエンジンはプログラマ向けのADVエンジンフレームワークであってプログラミングできない人向けではありません。
開発には最低でもJDK+WTKを必要とします。
ちなみに私の開発環境は
JDK6u4
WTK2.2+パッチ
eclipse
eclipseME
です。
CLDC1.1+MIDP2.0な環境なら理論上動きますがRAMを多く食うのでjavaヒープの少ない端末ではOutOfMemErrがでると思います。
また、ターゲットとする端末向けにカスタマイズする必要がある部分があるかもしれません。
ライセンスはBSDなので著作権表示さえしてもらえればソースの改変等は自由です。
まだドキュメントを用意してないので知りたい事があればソースを読んで下さい。
・・・以上! わかったらとっととダウンロードしなさいよね!?
314 :
167:2008/08/18(月) 15:04:32 ID:aHmAcXWQ
お盆も終わりましたね、また忙しくなります(´Д`)
そろそろフルスロットルをと頑張り中です、とりあえず斜体と太字を扱えるように現在ソースを弄っております。
此処が完成したら、多分ルビとかは簡単に実装できるでしょうし………新バージョンは、今月末にはお披露目できるかなと思います(願望
316 :
167:2008/09/07(日) 16:50:05 ID:FG5ygJhj
お久しぶりです(´―`)
DAT落ち防止も兼ねて、報告をと。
現在、スランプ中にて遅々として進まぬ状態です…が、何とかコーディングは四割方終わらせました。
まあ、デバッグやテストを含めると全体の二割といったところですが………遅くとも、今月末には大規模アップデートを行ったAbyssLibをお見せできると思います(´Д`)
おお 期待してまさ!!
318 :
167:2008/09/13(土) 16:38:48 ID: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:2008/09/14(日) 00:29:14 ID:A3GkI6HQ
俺ならこれで実装する。
1.ルビのフォント
A.固定(ルビを振る文字のフェースを使う)
2.ルビのサイズ
B.スクリプト内で変更可能
3.ルビのカラー
C.スクリプト内で変更可能(Bのように順ずるのも含めて)
4.ルビのスタイル
B.フォント・サイズ・カラーはルビ中で変更可能
最低限、吉里吉里とNスクに出来ることくらい実装しないと再開発する意味がないかと。
変更可能なら固定のときの統一したのも作れるからいいんでない?とプログラミングの知識のないやつが苦労も知らず
321 :
167:2008/09/15(月) 14:16:37 ID:RanEnJ2T
アンケートにお答え感謝です。
一応、B、B、C、Bにしておこうかと。
>>319 ですよね、ちなみに調べたところ
NScripterはB、B、B、不明(恐らくA)、
吉里吉里は不明(恐らくAか文字に順ずる)、A、不明(恐らくAかB)、不明(恐らくA)です。
>>320 苦労は然程ないのですよ、複雑で面倒ではありませんが難しくはありませんので。
ただ、スクリプトの自由度を高めれば高めるほどスクリプトが複雑怪奇になるのが問題です。
ルビのサイズを例にしましょう
まず、ルビの存在を認めるのなら文章に行間を設けなければなりません。
そしてルビのサイズを固定でなく可変にするなら、当然行間も固定でなく可変でなければなりません。
ところが、行間を可変にすると見た目が著しく悪くなることがあります。ルビのサイズをとある一行だけ72ptにした場合を考えてみてください。
また、ルビは通常文字に被さるべきものではありませんが文字に被せたいと思う人が居るかもしれません。
以上のことを考えると、ルビのサイズを可変にするなら1.各行の行間を個別に設定できるようにする、2.デフォルトの行間を設定できるようにする、
3.ルビのサイズ>行間なら行間を拡張するかのフラグの三つが必要になり、ユーザーはデフォルトの行間を設定、ルビのサイズを設定、
それに合わせての行間を設定、行間を自動で拡張するかのフラグの設定の四つを行う必要が生じます。
この方法は自由度が高い反面、設定しなければならないこと、覚えなければならない仕様などが増大します。
個人的に、こういった仕様は悪仕様だと思うのです。自由度を制限する反面、扱いやすいものを提供すべきかなと。
自由度の限りなく高いノベルゲームツールを求めるのでしたら、マイクロソフトのサイトに世界中でデバッグされてバグが限りなく少ないであろう
ものがあるわけですし(VS2008ですね)
322 :
167:2008/09/15(月) 14:21:58 ID:RanEnJ2T
個人的にはNScripter>吉里吉里です、扱い易いのが非プログラマには良いでしょうし。
今のところ、ライブラリ側では自由度を高くしておきスクリプト側で制限をかけるというのが一番いいかなと思っております。
(吉里吉里のKAGとかはそんな感じっぽいですね)
なので、今後はそういった方向で開発していこうかと思っております。
323 :
167:2008/09/25(木) 20:57:34 ID:9u2Ww/ne
DAT落ち防止を兼ねて報告を。
今現在、AbyssLibのコーディングを六割方終わらせました。
今現在までに行ったことは、
・全ソースコードの見直し:いくつかバグを発見し修正(追加要素でエンバグする可能性大ですが)
・文字列の拡張:テキスト、発言者名、文字列スプライトなどでタグを用いて文中でフォントなどの変更が可能に。
・ルビ:文字列の拡張に伴い、ルビの使用が可能に。ルビでもタグを用いて文中でフォントなどの変更が可能です。
・音声を実装:SE、BGMに加えて音声関連のメンバ関数をサウンド用デバイスクラスに実装しました。
今後は、
・DefOut:現在、定数は#defineで定義していますがそれを外部ファイルから変更可能にします。
・シーンのクラス化:既読履歴、環境設定などのシーンをクラス化してNovelPlayerクラスから分離させます。
・オブジェクトファイルの追加ロード:オブジェクトファイルを追加で読み込むことが可能になるようにします。
といった感じです。AbyssLibの変更に付随して他も変更しなければなりませんし…恐らく、来月末ぐらいまではかかるかと思われます。
文字のフォントをいじれるのはいいですね
太文字とか使いたいし
>>321 そもそも行間のサイズを行の文字列から計算するのはどうなんでしょうか。
326 :
325:2008/10/21(火) 22:10:54 ID:dVrZK8u0
ルビと文字をかぶせたい場合に備えて、
ルビと文字の間隔は指定できた方がいいかもしれません。
このあたりはTexとか吉里吉里を参考にするといいと思います。
327 :
167:2008/10/22(水) 22:49:32 ID:quMdw/pV
月末にAbyssLibだけでも公開できればと思うのですが…間に合うのかなぁ?(;´Д`)
>>325 行間のサイズを行の文字列から計算すると言いますと?
ちなみに今現在の使用は「ライブラリ側では行間を一切考慮しない」です。
行間に関する処理は全て非ライブラリ側(DLL)側に委任し実装させます。
現在のところ、ルビと文字の間隔は指定可能です…裏技めいた方法で、ですが。
その辺の仕様はDLLで吸収し、何の変哲もない間隔指定をスクリプトに追加する予定で。
>>327 > 行間のサイズを行の文字列から計算する
表示する段階でおそらく一行分の文字情報(文字の幅や高さなど)はすべてそろってると思うので、
そこから一行の高さを計算するということです。
つまり、一番縦に長い文字が行の高さを決定します。
リーディングも計算してあげて下さい。
というか、yaneSDK使ってるのなら、
CTextFastPlane オブジェクトの UpdateTextAA() 後に
行の高さと幅が決まるので、
GetSize でその値をそのまま持ってくればいいのかもしれません。
331 :
167:2008/10/24(金) 22:40:22 ID:kr1qcbwb
>>328 各行の縦幅(高さ)はその方法で算出していますね、問題は行間(行と行、行とルビ)なわけで…。
>>329 リーディングとは何でしょうか?
>>330 ScriptPlayerのグラフィック機能とサウンド機能にyaneSDKを使用しておりますが、
AbyssLibそのものにはCとC++とWindowsAPIのみを使用しております。
yaneSDKをAbyssLibそのもので使うと、yaneSDK必須になってしまうわけで…。
332 :
167:2008/10/24(金) 22:56:09 ID:kr1qcbwb
なんだか曖昧な話をしてしまっているような気がしますので、今現在における文字列の実装を以下で説明致します。
拡張された文字列に関わるクラスは、以下の通りです。
RubyTextToken
ルビの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅
RubyTextTokenLine
ルビの文字情報(行単位) vector<RubyTextToken>に縦幅と横幅の取得関数を付加したようなもの
TextToken
テキストの文字情報(字単位) 格納する情報は、
テキスト、サイズ、カラー、フォント、透過度、ボールドか?、イタリックか?、横幅、縦幅、ルビ
TextTokenLine
テキストの文字情報(行単位) vector<TextToken>に縦幅と横幅の取得関数を付加したようなもの
TextTokenSection
テキストの文字情報(文単位) vector<TextTokenLine>に縦幅と横幅の取得関数を付加したようなもの
RubyTextTokenSectionはありません、実装しようかとも考えたのですが深く考えると脳味噌が死にそうなので止めましたw
(実装した場合、ルビを改行したりといった変態的なことが可能にはなるのですが)
>>331 UpdateTextAA云いはyaneSDKの場合の説明ですが、
大抵のシステムでは文字の幅と高さを得る何らかの方法があるので
yaneSDK必須ということにはなりません。
あと、ルビについては、確かに大きなサイズを設定するとレイアウトは狂ってしまうかもしれませんが
普通はそういうことはしませんし、そういうことをして表示が少し変になっても多分誰も気にしないと思うのです。
単純に、
[その行で一番長い文字の高さ] + [その行で一番長いルビ文字の高さ] + [ルビがあるならルビと文字の間隔] + [何らかの固定マージン]
で行の高さを決めるのはどうなんでしょうか。
334 :
167:2008/10/25(土) 15:13:29 ID: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:2008/10/25(土) 15:15:19 ID: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:2008/10/25(土) 15:21:08 ID:CxRTKNsw
この実装だと字間・行間を調整する項目がありませんが、
縦幅と横幅を持った空のテキストトークンを挿入することで調整は可能です。
(実装上、下にしか間をもうけられないので最上行のルビの上に間はもうけられませんが)
>>333 WindowsAPIにありますね、AbyssLib内部ではそれで縦幅と横幅を得ています。
ルビに関しては考えすぎかなとは思います、ただ考えておかないと予想もつかない使い方をする方も世の中には居られるでしょうし…。
行の高さは、今現在は[その行で一番長い[文字の高さ+ルビの高さ]]で実装しています。間隔や固定マージンは上記のように実装する形を予定しております。
>>336 ああ、なるほど。結局、1文字とルビをセットにして、
・X座標はその文字とルビで横幅の短い方が長い方の中心にくるように
・ルビのY座標はその文字の真上になるように
各文字を描画していくということですね。
たしか、吉里吉里も同じようなことをしていたと思います。
ざっと命令眺めてみたんですが、立ち絵のクロスフェードが無いような気がします…
それと、つい10日前ほどから自分用の2Dのゲームライブラリを作っているのですが、
もし使えるところまで完成したら、ためしに組み込んでもらえませんでしょうか?
どんだけ図々しいんだ・・・
340 :
167:2008/10/31(金) 19:36:53 ID:J4+1Cdpc
拡張された文字列に字間と行間をもうける方法ですが、
以前に例に使った文字列(薔薇水晶(ばらすいしょう))を使って説明しますと、
1.字間(薔薇水晶の字間)
2.ルビ字間(ばらすいしょうの字間)
3.最上行のルビの上(ばの上)
4.最上行のルビと文字の行間(ばと薔の行間)
5.最上行の文字と次行のルビの行間(薔とすいの行間)、最上行と次行の行間(ともいえる筈)
6.最下行の文字の下(水の下)
とまず分類できます。
1.空のテキストトークンを挟めば簡単に字間をもうけられます
2.1.と同じです
3.仕様上不可能です(下にしか行間をもうけられないため)が、特に必要ないでしょう(多分)
4.ルビの縦幅をもうけたい行間の分だけ大きくします、そうすることで描画位置が上に上がり下に行間がもうけられます
5.4.と同じです
6.4.と同じですが、特に必要ないでしょう(多分)
こんな感じだと思われます、理論上………まだ、コーディングが完全に終わってないのでテストしていませんが(駄目じゃん)
このモデルで現在問題となっているのは、「複数文字に複数ルビを均等に割り当てることができない」ということです。
ひとつのテキストトークンに複数文字を収めることで理論上可能ではありますが、ただし文字送りの際に
その複数文字はひとつの文字とみなされて一気に出力されてしまいます(文字送りの問題があるから一文字単位で分割したわけで)
まあ、これは「鬼畜(きちく)」とかを表示する場合「ち」をどうするのかという問題上必ずしも悪仕様とはいえないわけですが………。
>>337 はい、そんな感じですね。
こうやってノベルゲームのライブラリを作ってると、Nスクと吉里吉里のガイドは必携です。
(萌え絵だったりするのd持っていると微妙に恥ずかしかったりしますが)
341 :
167:2008/10/31(金) 19:39:01 ID:J4+1Cdpc
>>338 画面の更新はupdateという命令で一括で行うようになっています、それにクロスフェードを指定する引数がありますので。
詳しくはヘルプおよびサンプルを参照して頂ければと。
そうですね、より多くの動作実績を積みたいのでゲームライブラリへの組み込みは歓迎です。
ただ、その際に「ここが組み込みにくい!」とか「ここをこうしてほしい!」とかが出来れば欲しいのでご自分で組んで頂ければ嬉しいです。
ですが私が組み込んでも「組み込みにくい!」とかは感じられるかもしれませんので、ライブラリ開発の合間を縫ってではありますが
希望されるのであれば組み込みも承ります。その場合は、ライブラリの仕様とかを分かりやすいよう提供して頂ければと。
342 :
167:2008/11/13(木) 19:02:06 ID:0ic4ACTC
なかなか作業が進まない、以前よりも時間は取れている筈なのに………orz
細かく作ってると色々と仕様に悩んだりもして、そういうのが大きい一因だったりもしますが(汗
たとえば、今現在選択肢を作り直しているのですが………。
選択肢のインターフェースとして表示する画像を、通常時、
カーソル時、ホールド時(上でマウスボタンがホールドされている状態のこと)と用意したとします。
で、カーソル時には通常時の位置から右に1ドット下に1ドット移動したように見せます(凹みを表現するため)
この場合、マウスカーソルの判定矩形は
1.通常時と同じ判定矩形
2.判定矩形を右に1ドット下に1ドットずらす
3.両方の判定矩形を合体させる
という方法があるわけです、とりあえずは1で設計してますが…。
343 :
167:2008/11/20(木) 15:44:26 ID:MlFmxeHF
大分作業が進みました、今週末にはアップロードできそうです(といってもAbyssLibのみですが…)
あとはノベルエンジン本体のみ………!それにしても、ボトムアップでコーディングしていると途中の閉塞感が半端ないですね。
344 :
167:2008/11/23(日) 22:22:26 ID:SovwNul/
345 :
167:2008/12/03(水) 14:34:22 ID:Ci35IGPz
|
|Д`) ダレモイナイ・・
|⊂ ホウコクスルナラ
| イマノウチ
というわけで、進捗状況を報告してみます。
現在BasicCommandsに取り組んでおります、とりあえずVer1.200(with Ver1.070)は今週末にでも出せそうです。
いやちゃんとチェックしてるよw
347 :
167:2008/12/06(土) 01:18:30 ID: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:2008/12/06(土) 01:23:50 ID:SivC+o41
・選択肢関連のメンバ関数をTaskManagerからDrawManagerに移す
・SoundManagerにvoice関連のメンバ関数を追加
・DrawManagerからマウスカーソル関連のメンバ関数を削除
・各種シーン(通常、既読履歴、セーブ、ロード、環境設定、メニュー)をクラス化
今まで関数として実装していたものをクラス化、継承によりより平易にシーンのコーディングが可能に。
・オブジェクトファイルの追加読込が可能に
BasicCommands
・今回、変更点は一切ありません!
つまり、ソースコードレベルでのバージョンアップはあってもスクリプトレベルでのバージョンアップはありません。
理由としてはそこまで作り込むと(ただでさえ四ヶ月も時間使ってるのに)リリースが更に遅れること、
DLLの方まで大きく弄るとデバッグが困難になるからです。とりあえずはVer1.06との完全互換ということで。
(厳密には演算子の変更により完全互換ではありませんが)
バグフィックスを終え次第、
・禁則処理
・タグの導入(テキストの文中でサイズやフォントを変更可能に、ルビなども)
・複数分割(長すぎるテキストを複数のテキストに自動で分割)
・表示位置調整(センタリング等)
・画面更新、画面効果の新規追加
・voice関連の命令を追加
・その他色々(for〜next)など
といった感じのバージョンアップを行います。
349 :
167:2008/12/06(土) 01:24:54 ID:SivC+o41
それを終えた後には、ドキュメントとサンプルの制作を行う予定です。
大規模アップグレードは今回が最後だと思われます………多分、きっと、そう信じたい(;´Д`)
350 :
167:2008/12/08(月) 17:47:16 ID:78vP/8Ya
演算子のコンパイル処理が少し難航しています…。
それさえ直れば出せる状態(他は全部テスト済み)なので、明日か明後日には何とか…。
351 :
231:2008/12/09(火) 00:31:56 ID:wZAstprl
久々の登場だぜ。
サンプルなら俺が続き書こうか?
352 :
167:2008/12/09(火) 15:41:40 ID:/ec++oQN
デバッグ&テストが完全に終了しました!
今夜にはまとめて上げられるかと思います(ヘルプの再構築にはもう少し時間が掛かりますが)
>>231 ありがとうございます、書いてくださるのは大歓迎です。
以前の続きでも、新たなものでも歓迎ですので。
353 :
167:2008/12/10(水) 03:09:47 ID:AjsWE5Kg
354 :
167:2008/12/12(金) 22:18:55 ID:bYq3EUKY
今日中にWEBを更新しようと思ったが間に合わない予感がひしひしと………orz
まあ、八割方書き上げてますので明日には何とかなるでしょうけれど。
355 :
167:2008/12/13(土) 23:12:14 ID:DDn1ptq5
なんか日記帳になっているような気がしないでもない感じが…。
新たに見つかったバグ修正に時間がかかっていました、恐らく明日にはきっと多分………。
わははw 楽しみにしてるよw
357 :
167:2008/12/14(日) 14:31:22 ID:VFAvExy4
漸くテストを終え、アップロードしました!
今後の予定は………
1.ADVサンプルを最新版に対応させる(簡単な筈、バグがなければ…)
2.最新版のバグフィックス(1でバグが発見された場合)
3.BasicCommandsのアップグレード(禁則処理やタグ対応など)
といった感じです。
その後は命令を追加しつつ、サンプルを作っていければと…。
もう大規模なアップグレードは勘弁です_(。Д。)_
358 :
167:2008/12/14(日) 14:32:10 ID:VFAvExy4
359 :
167:2008/12/16(火) 23:52:59 ID:ONuq9PqZ
進捗報告です。
案の定、バグが見つかりましたorz
テキストとテキストカーソルにまつわる根深いものです…。
現在バグフィックス中、それを終えたらアップグレードを進める予定です。
360 :
167:2008/12/18(木) 23:33:59 ID:0tP/NWTQ
361 :
167:2009/01/06(火) 21:56:54 ID:nU3QTrEZ
あけましておめでとうございます、保守兼ねて経過報告をしておこうかと。
現在、今年度末までに完成を目標に鋭意コーディングを行っております。
今週末〜来週末に公開予定です、現在30命令の追加を予定しております。
362 :
167:2009/01/16(金) 22:31:00 ID:cvJFcqo9
経過報告です、現在34命令の追加を終えデバッグを行っております。
残るバグはあとひとつ…!土曜は用事により作業を進められそうにありませんが、日曜までにはアップグレードできるかと思われます。
363 :
167:2009/01/18(日) 01:49:47 ID:30EBq5bL
デバッグ終了!これで今のところ見つかったバグは全て取れた筈………!
明日(もう今日ですが)にはアップロードする予定で頑張りますので!
364 :
167:2009/01/18(日) 23:24:23 ID:30EBq5bL
乙〜
366 :
231:2009/01/19(月) 15:57:15 ID:zAW60pSD
よし、じゃあ話書き始めるか。
しばし待たれり。
367 :
167:2009/01/20(火) 21:11:23 ID: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:2009/01/20(火) 21:40:23 ID:yIGVGx3p
より分かりやすく説明しますと、
・音声関連の命令が追加された(今はse相当の命令しかありませんが)
・レイアウト関連の命令が追加された(テキストウインドウ等のカスタマイズがコーディングを経ずに行えるようになった)
といった感じです、複雑なカスタマイズを行いたい場合はコーディングを経る必要がありますが…。
今後の予定としましては、
1.Ver1.080としてテキスト関連の命令を大量に追加する
今まで手をつけてこなかったテキスト関連の命令(タグ・ルビ等)を大量に追加する予定です。
今のところ考えているのは、
・禁則処理
・表示位置調節(字間、行間、センタリング)
・ウエイト、カラー、表示速度、サイズ、フォント、ルビ
といったところです。文中に立ち絵変更タグを埋め込めるとかも良いかもしれません(考え中)
2.Ver1.090として画面更新を大量に追加する
今は画面更新に限られたものしかありませんが、それらを大幅に追加する予定です。
今のところ考えているのは、
・シャッター(上下左右)
・カーテン(上下左右)
・スクロール(上下左右)
といったところです。
また、汎用的な画面効果ではありませんがプラグイン作成のサンプルも兼ねて
桜吹雪、雪、雨、蛍などの画面効果もお見せする予定です。
ここまで行うと、NScripterに大分近付けるかと思います。
369 :
167:2009/01/20(火) 21:51:43 ID:yIGVGx3p
………大口叩いたようで怖いので補足しておきますと、コードの最適化(最低動作環境)、
モノクロ、マスクパターンを用いた画面更新、動画の再生などNScripterに劣るところはまだまだあります。
これは私の技術力の問題もありますが、組み込み前提のライブラリとしていることで「尖った」処理をライブラリ内に
組み込むことが困難なのも一因です。マスクパターンを用いた画面更新を一例にしますと、マスクパターンというのは
ピクセル単位の処理が必要になります。それをGDI(使う人は今時いないかな?)、DirectX、OpenGLなどのグラフィックス
ライブラリ(およびyaneSDKのようなそれらの補助ライブラリ)で簡単に組み込めるよう抽象的で直感的で汎用的なコードを
書くのは極めて難しいです。必ずどこかで無理が出てきますし、個々に特化したコードを書いた方が速度も確実に速いでしょう。
とはいえ、模索してみるよりも前に諦めるのも何でしょうし、
1と2を終えた時点で色々と模索してみる予定です。特にマスクパターンを使えると大きいでしょうから。
というわけで、
3.適宜バグフィックス、サンプル作成、「尖った」処理の組み込みを模索、要望に応じ新規命令を追加
といった感じになるかと思われます。2まで終わらせるとほぼ完成ということですね。
結構過疎ってますが、要望などは随時受け付けておりますので(´Д`)
370 :
167:2009/01/22(木) 17:58:02 ID:IhANlxha
371 :
167:2009/01/26(月) 02:18:37 ID:ynCjmsaz
経過報告〜。
現在、テキストの禁則処理とタグ・ルビの実装を行っています。
禁則処理は思っていたよりもずっと簡単で実装しデバッグも完了、
タグも現在実装中ですが今週前半には実装およびデバッグを終えられそうです。
恐らく今週末には公開できるんじゃないかなと………ただ、一連の処理でノベルエンジンが重くなりそうなのが懸念するところではあります。
(最適化は現在想定している命令を全て実装し終えてから行う予定です)
372 :
231:2009/01/27(火) 23:36:12 ID:KYwumhzm
ふう、永久規制解除された。
今回のテーマは鬱ゲーごちゃ混ぜでいってみようかと思うんだ。
ホワイトで永遠なデイズだぜ(タイトル未定)
長くなりそうなんで忘れた頃にやって来るよ。
373 :
名前は開発中のものです。:2009/01/29(木) 18:25:47 ID:SQf2/3Zp
ほ
374 :
名前は開発中のものです。:2009/01/29(木) 21:09:30 ID:xqc1Yyrx
ageないと落ちる板でもないだろに
375 :
167:2009/02/02(月) 00:21:19 ID:GLHf4EFM
マニアイマセンデシタ(カタカタ
バグはおおむね潰せたのですが、新たなタグの案が出るわ出るわ………。
公開は今週末に延期します、といいつつ今週前半あたりで公開してしまうかもしれませんが。
376 :
231:2009/02/03(火) 02:42:58 ID:8DxvJwQ9
377 :
167:2009/02/16(月) 19:15:48 ID:5uqmw6lW
現状報告です〜…すみません、スランプ入っていてなかなか進んでおりませんorz
残るはテキスト表示速度の変更と待機、タグの命令化あたりです。今週末には間に合わせたいと思いますが…かなり怪しいです。
378 :
167:2009/03/10(火) 18:18:40 ID:6BBIQUrc
お久しぶりです、忙しかったりスランプに陥ったりと開発が進行しておりませんでしたorz
が、ようやくテキスト周りが完成しました。サンプルなどを作成し、今週末までにはなんとか上げたいと思いますっ!
379 :
167:2009/03/14(土) 00:52:44 ID:VZCXz39y
お待たせしました!…待ってた方が居たかはさておいて、と自分でしても虚しいツッコミを入れつつ。
BasicCommandsVer1.080、ようやく上がりました!
アップグレードの内容は、
・タグ命令を実装
・禁則処理を実装
・字間、行間、揃えを設定する命令を追加
上記の三つです、ちなみに今回AbyssLibには手を加えておりません。
タグ命令の実装によって、表現の幅が広がったのではないかなと思います。
次回の更新では画面効果や画面更新を増強し、以後はサンプルを上げていく形でいこうかなと思います。
ほぼ完成系と考えておりますが、欲しい機能等ありましたらリクエストあればお応えしますので!
http://abysslib.hp.infoseek.co.jp/index.html
>>379 住人そのものが少ないこの板で報告するよりもvectorなどの配布サイトなりに登録した方が
もっと反応があると思うけど。。。。
381 :
167:2009/03/26(木) 21:48:58 ID:A+IOHfQ7
現在の開発状況です、
画面更新の種類を追加中でNScripterでいうカーテンとシャッターを実装しました!
あとはスクロール、時間制限選択肢、揺れの改良、あたりを行ってからアップロードする予定です。
382 :
167:2009/03/26(木) 21:50:01 ID:A+IOHfQ7
>>380 まだ完成には至ってないので、公開するわけにもいかず…。
もうすぐで、一応納得いくところまではいけるとは思いますが。
383 :
167:2009/04/23(木) 22:01:14 ID:Q24jFjlE
保守です、社会人って時間がとれませんよねorz
ぼちぼち開発しております……五月中旬ぐらいには、アップロードできるかと。
上記に挙げた機能の他に、色々とささやかな機能を追加したりしていなかったりします。
384 :
167:2009/05/30(土) 23:02:55 ID:5hhdziBP
久々に保守兼ねて、一ヵ月近くとあるバグに悩んでおりましたがようやく解決しました(´Д`)
まさか、ソースコードの方でなくスクリプトの記述ミスだなんて……orz
ともあれ、ぼちぼちと尚も開発は続行しております。報告遅れましたが、次バージョンは6月中旬の公開を目指しております。
AndroidかiPhoneとかの変態組環境でエンジン作ってるドMはいないの?
OSのないDSとかさ。
387 :
167:2009/07/20(月) 21:10:16 ID:JA4VY8P5
お久しぶりです、仕事とスランプにやられておりました(´Д`)
現状は、新バージョン公開にあたって実装すべき機能を全て用意し終えたところです。
残るはテスト&デバッグ&サンプル作成&マニュアル作成です、来週〜再来週中の公開を目処に頑張ります。
388 :
167:2009/08/10(月) 18:15:14 ID:VxqqgNIh
お待たせしました、延期に延期を重ねましたがようやく新バージョンの公開です!
更新内容を以下に記します
AbyssLib
・描画タスクの種類に「矩形」を追加
・画面更新(通常時)を上書き可能に変更
・環境設定の保存/読み込みをプラグインにて拡張可能に変更
・ローカルデータの保存/読み込みをプラグインにて拡張可能に変更
BasicCommands
・スキップの待機時間を変更する命令を追加(waittimeskip)
・禁則文字を設定/追加する命令を追加
(setleadingchs、setfollowingchs、setfollowingweakchs、addleadingchs、addfollowingchs、addfollowingweakchs)
・新規画面効果を追加(flash2、quakex2、quakey2、quakexy2、quakex3、quakey3、quakexy3)
・新規画面更新を追加(update2)
以上のような感じです。
389 :
167:2009/08/10(月) 18:24:36 ID:VxqqgNIh
次回更新の予定としましては、
・新たな画面効果を更に追加
・新たな画面更新を更に追加
・制限時間付きの選択肢(要検討)
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
・乱数(要検討)
・for、next、break(要検討)
・オブジェクトファイルをダイナミックリンク(要検討)
といった感じです。要検討が多いのは、必要か不要かをまだ見極めきれていないからです。
見ておられる方は、コメント頂ければなと思います。
あと、次回までにはといきませんが
・インタプリタ化
・他言語での利用(Luaあたりを予定)
なども考えております、そこまで終わらせれば一応更新は終わらせるつもりです。
http://abysslib.hp.infoseek.co.jp/index.html
みてるよー
乙乙
391 :
167:2009/08/13(木) 20:05:11 ID:B8ENj500
現在帰省中故に、EeePCにて作業を行っております。
なのですが……ScriptPlayer2が異様に重い!それに加えて、テクスチャのLockRectが上手くいっていない模様。
DirectX本のサンプルなんかは軽々と動くのに……!
392 :
167:2009/08/13(木) 21:47:47 ID: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:2009/08/25(火) 20:18:11 ID:6Vt5f2Of
現在の進捗状況です。
・以前のレスにもありますとおり、DX9Aを改良しScriptPlayer2の挙動を改善しました。
・新たな画面効果を追加しました(flash3:フラッシュを波関数を用いて実装)
・新たな画面更新を追加しました(移動補間:更新前の位置から更新後の位置に移動)
・制限時間付き選択肢を実装しました(制限時間は指定可、タイマ画像を表示可)
上記の実装を終えております、他につきましてはまだ検討中の段階です。
394 :
167:2009/10/25(日) 11:40:25 ID:2PK1myMg
随分とお久しぶりです、スランプ気味であまり手をつけておりませんでした(´Д`)
現在、新たな命令の実装を終了したところです。これからテスト&デバッグに入る感じで。
新バージョンのお披露目は、11月中には行えればなと思います。
いつか使おうと思っているので、ゆっくりでもがんばってください!
396 :
167:2009/10/25(日) 19:20:12 ID:2PK1myMg
命令のテスト&デバッグを完了、とりあえずは問題なさそうです。
実装したのは、
・乱数
・ループ(for、next、break相当)
・動的ロード(loadobject、gotod、gosubd)
以上のような感じです。
あとは、サンプルを用意してサイトも修正して……もう少しばかりかかりそうですね(;´Д`)
>>395 ありがとうございます、更新遅めですが生温かく見守ってくださいw
397 :
167:2009/10/31(土) 23:00:24 ID: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あたりを予定)
上記のような感じです、大分終わりが見えてきました。
>・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
組み込み用だからパーティクルエンジン持っててくれれば自分で実装しちゃう気がしないでもない。
399 :
167:2009/11/01(日) 22:04:09 ID:fO+ZFCbG
書き忘れてましたが、
・ScriptPlayerをVS2005以降でコンパイルできるよう修正(これはyaneSDKを弄くる必要があるので難しいかも)
・ジャンル複合サンプルの作成(ADV+RPGやADV+SLG、ADV+STGなど)
上記の内容も近いうちにお見せできたらいいなと考えております。
>>398 ええ、恐らくは可能かと。
あくまでもそのサンプルをひとつ作ってみようかなと考えてる感じですね。
HSPでノベルゲームを作っている者ですが……
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。
こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?
複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。
もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。
なにかよい方法があればご教授願います。
HSPでノベルゲームを作っている者ですが……
いわゆるファイルを扱う命令の場合(WIN API関数も含む)、
ハードディスクに実際に存在するファイル名を引数に指定する必要があります。
こういった命令郡をメモリーにロードしたファイルデータで扱う
汎用的な方法ってありませんか?
複数ファイルをパッキングし、そこから欲しいデータの収得まではできたのですが
外部ファイルを引数に取る命令郡の場合、取り出したデータをファイルに書き出してやらないと
目的の動作を達成できません。
そして、そういった方法は、ちょと強引すぎるように感じています。
もとからデータのポインタを引数に取る命令ならよいのですが、
外部ファイルを引数に取る命令郡の場合では、どうしていいかわかりません。
なにかよい方法があればご教授願います。
すみません。
2重に書き込みしてしまいました。
何が聞きたいのか全然分からないぞ。
ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと
言っているように見えるわけだが…
ファイル名を引数にとるAPIの動作を、ファイルポインタで実現する方法が
知りたいのかな? もしそうなら、具体的に何をするAPIなのかを列挙しないと
個々のAPIでそれぞれ違うんじゃないの?
404 :
401:2010/01/04(月) 22:20:10 ID:/uva6imH
>>ファイル名を引数にとるAPIを、ファイル名を引数にしないで利用したいと
意味としてはそのようなものです。
ですが、関数の仕様を考えれば
BMP表示API関数 LoadBitmap()はファイル名を引数にしないと使えないことはわかります。
BMPの表示なら SetDIBitsToDevice() で問題は解決できますが
いわゆる音楽再生系のAPI関数は音楽データのポインタを受ける関数が少ないように思います。
MCI系は全滅に近いような気がします。
素材ファイル郡をひとつにパッキングして、
適時そこからデータを取り出して使う方式をとった場合、
使えなくなる関数があまりに多かったもので、どうしたものかと困っている所です。
結局なにがしたいのかを例で示すと――
@ビットマップのデータはメモリーにロードされている。
Aしかし、ハードディスクにファイルは存在していない。
Bでも LoadBitmap() 関数を使いたい。(第二引数はLPCTSTR lpBitmapName)
上記のように
ファイル名を引数にとるAPIを、ファイルが存在していないのに使いたい(データはある)。
というわがままな願いです。
パッキングをあきらめることも、解決策のひとつであると わかってはいるのですが……。
>>404 LoadBitmapってことは、HBITMAPが欲しいのかな?
それなら、CreateDIBSectionあたりをつかって、DIBを作って得られたメモリに対して、
自分でアーカイブ内の画像を展開するコードを書けばそれで終了。
libpngでもlibjpegでも好きに使え。
406 :
404:2010/01/05(火) 14:32:32 ID:2qPkcFNe
説明がわかりづらくてすみません。
自分としては、hoge( LPCTSTR lpFileName ); のような関数郡、
LoadBitmap( LPCTSTR lpBitmapName )
mciSendString( LPCTSTR lpFileName )
自作関数( LPCTSTR lpFileName )
他人製作のライブラリ関数( LPCTSTR lpFileName )
このような関数郡をファイルをひとまとめにしたパックファイルしかない状況で
使用する一般的な方法があるなら知りたいです。
ただ……
市販のゲームでもoggファイルだけは**.oggのままリリースされているのを
見かけるあたり――一般的な方法は無いのかもしれませんが……。
無理にHSPを使うのをやめるのが一番簡単だと思うよ
かえって足枷になってる感じを受ける
408 :
404:2010/01/06(水) 02:06:21 ID:9wpjbsCw
C言語もできることはできるのですが、力不足のため
WINDOWSの低レベルな部分には手が出ません。
なので、自分の場合、難しいことはHSPにまかせてしまう
そんな低レベルな素人プログラマーです。
とりあえず、吉理吉理の場合 XP3 というパックファイルに
画像から音楽ファイルまでひとつにまとめて
自在に取り出して使っているので
吉理吉理のソースファイルからヒントを見つけてみようと思います。
素人の無茶な質問のご相手ありがとうございました。
409 :
167:2010/02/08(月) 00:55:31 ID:JYU5rbtP
お久しぶりです、仕事がデスマでなかなか作業に着手できておりません(´Д`)
ですがぼちぼちと進めております、とりあえずは忘備録的に。
・動作確認
Windows7での動作確認を行いました。特に問題はないようです(精査したわけではありませんが……)
ただしDirectX9をエンジンにした方のみです、yaneSDKをエンジンにした方につきましては下記を参照で。
・yaneSDKの問題
どうやらyaneSDKをエンジンにするとWindowsVistaならびに7で不具合が起こるようです。
具体的には、画面に何も表示されません。解決方法としては、「ScriptPlayer.exeのプロパティ」→
「互換性」→「デスクトップ コンポジションを無効にする」をチェックで画面が正しく表示されるようになります。
この問題を修正しようにも、何処から手をつけていいものやら……古いDirectXを使っている時点でかなり難しい
気がします。DwmEnableComposition APIを使用しても上手くいかないので……。
次回更新予定は、
・桜・雪・雨・蛍などの特殊演出(プラグインとしての実装を予定)
上記のものです、それに付随してAbyssLibの実装自由度を高めます。
具体的には、AbyssLib内のswitch文のほとんどをプラグイン対応に改めます。
これにて、ほぼ全ての要素を外部から操作可能になる筈です(具体的に言いますと、
外部から操作不可能なパラメータはテキストカーソルの種類とシーンの種類のみとなります)
あとは次々回にLua対応物やインタプリタを用意して、その後は
様々なサンプルを用意していく予定です。次々回以降のアップグレードは、
今のところ内容が思いつかないので予定がありません。バグ修正ぐらいになる……筈です。
以上、とりあえずは顔出しついでにで(´Д`)
410 :
167:2010/04/19(月) 20:26:26 ID:rE22Ttc/
お久しぶりです、いまだにデスマです(;´Д`)
とりあえず、現状をば。
・特殊演出(降雪)がほぼ完成
近いうちにそれだけをまとめてアップロードしようと考えております。
また、特殊演出の基盤が完成したので他(雨・桜・蛍)にも順次着手予定です。
次回アップデートは、GW終わりあたりを目処にして現在頑張っております。
411 :
167:2010/07/18(日) 12:26:06 ID: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:2010/07/18(日) 12:30:05 ID:4gCLox02
12.スクリプトの拡張
fadein、fadeout命令の拡張
色んなことができるように。fadeinu、fadeoutuの存在理由がなくなりましたが、互換性維持のためそのままにしておく予定です。
また、パラメータ数が増えましたが互換性維持のためシュガーシンタックスとしてデフォルト引数を持たせておきます。
forcetextwindow命令の追加
8に伴いテキストウインドウの強制表示を行える命令を新たに追加しました。
13.音量設定を減衰率を考慮したものに変更
以前は7000でほとんど聞こえなくなっていたものが、0で聞こえなくなるようになりました。
413 :
167:2010/07/18(日) 12:34:12 ID:4gCLox02
今まで、そしてこれから
現状は上に挙げました通りで、今のところゲーム制作の方で手一杯な状況です(;´Д`)
とりあえずは、これからについて記していきます。
・現在制作中のゲームをフィードバックしていきます
それによりより現実に即したスクリプト作成を心がけます。
テキストウインドウ強制表示は、フィードバックから生まれました。
・なるべく早めに特殊エフェクトの完成を目指します
アルゴリズムの見立てが終わっている雨ならびに蛍の実装を早めに行います。
今は忙しいですが、まあ隙を見つけて少しずつ進められればと……。
・マイルストーンをいい加減立てます
このままずるずるいくと、ゲーム制作後に手がけることになりそうなので……。
とりあえず、お盆前後には形はどうあれ上げるようにします。
以上です、見ている方がおられるかは分かりませんが(;´Д`)
64bit対応は?
415 :
167:2010/07/18(日) 19:17:59 ID:4gCLox02
>414
ご質問ありがとうございます。
64bit対応は現在のところ考えておりません。
理由としましては、単純に開発環境を有しておらず動作テストを行うことができないからです。
64bit対応プログラミングにおきまして注意すべきところは、以下のようになります。
@int型やlong型が32bitから64bitに拡張される(場合がある)
Aポインタが64bitに拡張される(場合がある)
B0xFFFFFFFFが[-1]にならない
Cアライメントが4バイトから8バイトに拡張される
DWin32APIなどの関数の一部で32bit対応のものと64bit対応のものを変更する
Eアセンブラのレジスタ、命令を書き換える
@〜Cに影響するようなコードの書き方はしておりませんが、
DEについては未知数です。ですので、64bit環境での動作は保障できません。
ただ、いずれは64bit環境が潮流になるような気はしますので対応させてはいきたいところではあります(´Д`)
416 :
167:2010/08/29(日) 17:59:39 ID:zUSxxtwK
現状報告です。
……お盆前後を過ぎても上げられておりません(;´Д`)
理由としましてはフレームワークの再構築を行っているのですが、
そちらでバグが多発して修正に手間取っているからです。
とりあえず今のところ、セーブ/ロード周りをクラス化しました。
これにより、派生クラスさえ作ればパックファイルからでも何からでも
ファイルの読み込み・書き込みが行えるようになります。
とりあえず現在の作業が終わって、今まで作成したサンプルの動作テストが完了して
からアップロードしようと考えております。現在、ゲーム制作も請け負っているため
結構時間がかかりそうです。早くても九月下旬ぐらいでしょうか……が、がんばります(;´Д`)
はい先生!
>派生クラスさえ作ればパックファイルからでも何からでもファイルの読み込み・書き込みが行えるようになります。
こういうのは委譲の方がいいと思います。
418 :
167:2010/08/29(日) 20:23:33 ID:zUSxxtwK
>417
レスをありがとうございます(´Д`)
>はい先生!
>
>>派生クラスさえ作ればパックファイルからでも何からでもファイルの読み込み・書き込みが行えるようになります。
>
>こういうのは委譲の方がいいと思います。
委譲……ですか?
今現在の実装は、このような感じです。
//クラスA(セーブ/ロードを行うクラス)
class A{
void Save(IIOStream* stream){
Stream->Save(Param1);
Stream->Save(Param2);
}
void Load(IDataReader*
Stream->Load(&Param1);
Stream->Load(&Param2);
}
};
//セーブ/ロードクラス
class IIOStream{
419 :
167:2010/08/29(日) 20:25:05 ID:zUSxxtwK
……途中で切れてしまいました(;´Д`)
//セーブ/ロードクラス
class IIOStream{
public:
~IIOStream(){}
};
class IOStream1 : public IIOStream{
void Save(param p){
fwrite(p);
}
void Load(param* p){
};
420 :
167:2010/08/29(日) 20:30:25 ID:zUSxxtwK
……プログラマの性で、ついつい「Tab→Enter」を使用でこの様です(;´Д`)
void Load(param* p){
fread(p);
}
大体こんな感じで、データ入出力は個々のクラスにパラメータとして渡す形になってます。
確か、機能を別クラスとして作成して処理を委ねるのが委譲でしたっけ?
あ、レスの書き方が悪くて分かりにくいかもしれませんが
「派生クラス」は「データ入出力クラスの派生クラス」のことです。
こんな感じでいいのでしょうか、何かアドバイスありましたらお願いします(´Д`)
421 :
417:2010/08/30(月) 07:31:51 ID:pptN1p2m
>>418 ふむ、そういう実装でしたか。少し想像と違いました。そういう時はBuilderパターンの変化球ですかね。
>機能を別クラスとして作成して処理を委ねるのが委譲
委譲についてはこの通りです。
別クラスにするのでHogeHogeする側がHogeHogeされる側について詳細を知る必要がなくなり、
かつ、継承と委譲は相互に置き換え可能です。
んでBuilderパターンですが組み立てる側と組み立てる流れを管理する側に分けて最終的に"製品"をreturnします。
Builder
getInstance(discriminator):Builder
buildPart1()
...
buildPartN()
...
getProduct():Product
Director
build(builder:Builder):Product
これがBuilderパターンの基本です。
Builder.getInstance(discriminator)はpublic staticなファクトリメソッドです。
これで取得したインスタンスをDirector.build(builder:Builder)にわたしDirectorは結果であるProductを返します。
DirectorはbuildメソッドでBuilderの各メソッドを適切に呼び出します。
それらメソッドのアクセスはBuilder(又はそのサブクラス)とDirectorのみにします。
422 :
417:2010/08/30(月) 07:58:28 ID:pptN1p2m
さらに、Builderは機能ごとに継承するか委譲するかを考えます。
委譲する場合は以下になります。
Builder
getInstance(discriminator):Builder
buildPart1()
...
buildPartN()
...
setProvider(p:BuildProvider)
getProvider():BuildProvider
getProduct():Product
BuildProvider
buildPart1()
...
buildPartN()
...
getProduct():Product
Builderの実装はプロバイダに投げ、getInstance(discriminator)で適切にプロバイダを設定します。
ここから先、今回の件に特殊化した内容で書きます。
423 :
417:2010/08/30(月) 08:00:09 ID:pptN1p2m
BuilderをProcessorとしましょう。
データの読み書きのために入出力とデータをカプセル化したクラスが必要です。
Stream
InputStream->Stream
read(date:Date)
OutputStream->Stream
write(date:Date)
Date
Processor
getInstance(discriminator):Processor
processPart1()
...
processPartN()
...
//以下必要に応じて
getDate():Date
setDate(d:Date)
setStream(s:Stream)
getStream():Stream
Dateはセーブ・ロードを行う実データです。Streamと一緒にProcessorに渡して読み書きします。
これら一連の処理をDirectorに管理させます。
こんなかんじです。Javaだとシリアライザが組み込まれてるのでそれが使えるんですがね。
424 :
167:2010/09/08(水) 00:05:32 ID:F8SH4g+3
●購入記念に、当スレの過去ログを1から追ってみたりしてます。
私が参加したのは前スレからなんですなぁ、そもそも「私」じゃなくて「漏れ」でしたしw
当然というか何と言うか、前スレから参加したので1スレも2スレも見ておらずADVRUNの人がいるとかびっくりですよ。
……閑話休題、現在の進捗状況です。
別のこと(同人ゲームの制作請け負い)を優先に行っており
進捗はあまり捗っておりませんが、一応自分で立てたマイルストーンは達成しました。
ですので、バイナリ・マニュアル・Webサイトの更新を実施後アップロードする予定です。
425 :
167:2010/09/08(水) 00:06:14 ID:F8SH4g+3
で、今後行う予定のこと一覧↓
・特殊演出
雪は完成済み、あとは雨・桜・蛍を予定。
あくまでも特殊演出の「サンプル」のつもりで作成予定。こんな演出も組み込めるよ的な感じですね。
・インタプリタ化
リアルタイムでコンパイルかけてメモリに展開→実行でいいのでしょうか?
製品にはコンパイル済みのシナリオファイルを添付するものと考えてますので、
速度面であまり早くなくてもいいのではないかなと考えております。
・他言語での利用
Luaあたりでスクリプトファイルを書いて、
それを読んでノベルエンジンを動かせたらなと考えております。
形式としましては、AbyssLibに追加ではなく外部拡張ライブラリを考えております。
・ジャンル複合サンプルの作成
ADV+RPGやADV+SLG、ADV+STGなど。
元々、当システムのメリットは組み込み用途なので……。
・アウトラインプロセッサ、IDE(統合開発環境)の作成
この辺もまあ作れたらなと、生産性向上に。
作成時にはC#を勉強しつつさくさくっと作る予定。
プレイヤーに.NET FrameWork導入強要は厳しいですが、開発者相手なら別にいいですよね?w
・環境依存性を徐々に改善していく
WindowsAPIを全て関数化して一箇所に集めて置換を容易にする、Unicode対応にするなど。
・ソースコードのリファクタリング
今回一度行いましたが、次回はdoxygen対応に行いたいです。
SVNは導入してみましたが、doxygenも導入すると便利そうです。マニュアル書くのはもう嫌ですw
・マクロの用意
Cの「#define」のようなテキスト置換的マクロを用意する予定。
あれば色んな命令のエイリアスが作成できるので、多少は入力が楽になる……筈。
・マルチウインドウ
最近のノベルゲームでは稀によく見ますので。
426 :
167:2010/09/08(水) 00:07:03 ID:F8SH4g+3
とりあえず行う予定のない一覧(過去ログ見つつ)↓
・動画再生
組み込み用途なので、ゲーム開始時のOP動画ならプログラマさんが再生すればいいかなと。
ただ、最近のノベルゲームでは合間に動画再生を挟むこともあるので作るかもしれません。基本優先度は最下位ですが。
・低スペックマシン・過去OSの対応
もうXP以降のOS対応でいいんじゃないでしょうか(一応WindowsAPIの縛りはマクロで入れてますが)
インターフェースクラスライブラリということで高級アルゴリズム(過去ログ表示)などしかないライブラリですので、
低スペックマシン対応は個々のプログラマさん(またはフレームワーク)による対応になります。ですので、しないというよりはできません。
大体このような感じですね、何か希望する機能がありましたらレスいただけましたらと(´Д`)
427 :
167:2010/09/08(水) 00:22:57 ID:F8SH4g+3
428 :
167:2010/09/08(水) 00:23:39 ID:F8SH4g+3
そして書き忘れてました、417さん丁寧な説明ありがとうです!参考にします!
429 :
167:2010/09/12(日) 09:53:05 ID:MVUJyKep
現在までのスレを読了、気付けば開発開始から6年ほど経っているのですなぁ(´Д`)
6年も続けてこれたと言うべきか、6年経ってもこの様と言うべきか……(多分後者)
長老って名乗っていいかもしれませんなぁw
まあそんなどうでもいいことはさておいて。
大体のテストは完了し、あとはウェブページやHTMLヘルプを更新すれば
アップロード可能になります。たいした更新ではありませんが、今月末にはまあ上げられるかなと(。。
430 :
167:2010/09/13(月) 01:06:06 ID:e+66nL0f
今月末と言いつつも、何とか今日中に上げられました!……ってもう月曜日やん('A`)
ともあれ、一応一区切りつきました!とりあえず、しばらくは同人ゲーム制作の方に戻ります。
締め切りがっ……!
431 :
167:2010/09/13(月) 06:05:28 ID:e+66nL0f
432 :
167:2011/01/05(水) 00:25:46 ID:x17xsyhy
お久しぶりです、すっかり過疎ってますなぁ(´Д`)
同人ゲーム制作の請負が一段落したので、色々と得られたものを元にアップグレードしていこうと思います。
今年度末までには一度上げられたらなぁと……ただ、本業がデスマーチなんですよね。困ったものです(´Д`)
>> インフォシークからのお知らせ
>> 「iswebライト」は2010年10月31日をもってサービス提供を終了いたしました。
>> 長年ご愛顧いただきありがとうございました。
いやんばかん
>>433 うおおっ、そうでしたっ!
ページは移転済みなのに、ここに載せ忘れており……。
近日中にURLを載せますのでっ!
435 :
167:2011/03/24(木) 07:59:04.63 ID:1s3ZKAzd
名前を入れ忘れてますが、167ですか
436 :
167:2011/03/28(月) 22:20:53.14 ID:xCKPkIC5
437 :
名前は開発中のものです。:2011/03/29(火) 20:22:40.80 ID:4kqLIzs4
yy
438 :
167:2011/06/13(月) 20:37:33.13 ID:HXWa/DbF
お久しぶりです、すっかり過疎ってますなぁ(´Д`)
(同じ台詞を半年前に、というか6レス前でしてますな)
とりあえず現状をば。
ようやく、AbyssLibのDoxygen対応作業が完了しました。
現在、変更点の再確認やサンプルなどの動作確認を行ってるところです。
サイトも全面改装して、色々とより分かりやすい内容でお送りしていきたいと考えております。
とりあえず、(できたら)今週末には最新バージョンをお見せできるかなと。
のぞいてはいるよ。
サイト改装するのなら、AbyssLib採用の作品を載せて欲しいかも。
見てみたい。
俺も定期的にのぞいてる。
残念ながらゲーム作成の予定はないが、167の人柄は好きだ。
頑張ってください。
441 :
167:2011/06/18(土) 23:58:13.93 ID:vd4FH/ii
お久しぶりです……と言うほどは、まだ経っていませんよね?(´Д`)
アップデートファイルのうpとサイトの改装が終わりましたので、ご報告をと。
http://abysslib.sakuraweb.com/index.html 【アップデート内容】
・AbyssLib
NovelPlayer::Resume呼び出し時にテキスト・発言者がクリアされるように変更
実際にゲームに組み込んでみてのフィードバックです。
suspendでノベルパート終了→ゲームパート→NovelPlayer::Resumeでノベルパート再開といった流れで、
上記の変更を行っていない以前のAbyssLibだとsuspend実行時に表示されてたテキスト・発言者名が一瞬見えます。
格好悪いので変更しましたw
ソースコードをDoxygenに対応
ゲームプレイヤーにメリットは全くありませんが、私ならびにAbyssLib利用者にはメリットがいくらかあるかなと。
私は今後バージョンアップ毎にリファレンスを書き直す必要がなくなりますし、AbyssLib利用者は固定フォーマットのリファレンスを読めます。
ソースコード上でもコンパイラ対応をVC2005以降に変更
以前にVC2003を切り捨てましたが、ソースコード上でも切り捨てました。
いや、まあ一部ソースをコメントアウトすれば普通にVC2003でも使えるかとは思いますが。
・BasicCommands
駄目文字による不具合を修正
実際にゲームに組み込んでみてのフィードバックです。
駄目文字で文字列置換が変になる現象が発生しましたので修正を行いました。
タグ命令実行時にガードタイムが無視される不具合を修正
effect命令実行中にスキップが行われるとテキストウインドウが正しく表示されない不具合を修正
・ScriptCompiler
駄目文字による不具合を修正
・ScriptPlayer2
ユーザー入力用デバイスでマウスカーソル・マウスホイールの入力のキャプチャを行っていなかった問題を修正
Altキー押下時にゲームが一時停止してしまう問題を修正
・その他
公開サイトを改装
チュートリアルをより分かりやすく、リファレンスをDoxygenドキュメントに、FAQを追加
特にプログラマ向けリファレンスで抽象クラスの実装例を掲載したのとFAQの追加は大きいかなと。
442 :
167:2011/06/19(日) 00:07:07.35 ID:SvacW21g
とりあえず、今後の予定をメモを元にざっと書き出してみます。
優先度:高
・アニメーションタグ
・描画タスクリストのクリア
・セーブ/ロードを行う命令を追加
・特殊エフェクト(雪・雨・桜・蛍)
・グローバルデータ、環境設定、既読履歴の一本化
・fadein、fadeout、fadeinu、fadeoutuの統廃合
・flash、quakex、quakey、quakey、quakexy命令の統廃合
優先度:中
・進化した既読履歴
・マルチウインドウの導入
・フルパスチェッカーを追加
・マクロ命令(#defineライク)
・セーブ/ロードのコメント対応
・オートセーブ/クイックセーブ
優先度:低
・インタプリタ化
・動的解析・実行
・ジャンル複合サンプル
・特殊命令(動画再生など)
・Luaでの利用(外部拡張ライブラリ)
・アウトラインプロセッサ、IDEの作成
・環境依存性を徐々に改善(OS、文字コード)
・シーンライブラリの提供(外部拡張ライブラリ)
・テキスト命令の拡張(インタプリタに変更することで動的な命令実行を可能にする)
今現に進んでいるのは特殊エフェクトですので、まずはそれを最優先で進められればと。
まあ、同人ゲームの制作請け負いやその他(仕事や勉強や趣味)でてんやわんやではありますが……。
443 :
167:2011/06/19(日) 00:11:22.88 ID:SvacW21g
>>439-440 おお、こんな構ってちゃんな独り言に反応ありがとうございます(´Д`)
>>439 AbyssLib採用の作品は、「日常の終わり方」です。
ただ、上記作品はあくまで「ADVサンプル」なので他ジャンルとの複合も作りたいところではあります。
簡単なRPGチックなものならすぐに作れそうですが、そんなんでいいのでしょうか?(マップ歩いて話しかけたら、ADVパートに以降みたいな)
>>440 ありがとうございます、かなり猫を被ってますのでお恥ずかしいかぎりです(´Д`)
444 :
167:2011/08/13(土) 20:25:44.77 ID:Jx+QSm0S
お久しぶりです、とりあえず現状をば。
……あまり進んでおりません、原因は転勤と夏バテです(;´Д`)
とりあえず、現在行いました改修内容は以下になります。
・画像の回転・拡縮に対応しました
今までは元々がyaneSDK対応ライブラリだったこともあり回転・拡縮はサポートしておりませんでした。
今回、サポートするように変更を加えました(といっても実装はなく、あくまでインターフェース面のサポートですが)
これで、新規にエフェクトなどを追加する際には色々とやり易くなるかなと考えております。
かけている時間に比するとあまり進んでおりませんが、まあぼちぼちと今後も次期バージョンに向け作業を進めていきます。
445 :
名前は開発中のものです。:2011/09/08(木) 16:55:47.99 ID:Rn99QBFa
ノベルデータのXMLで標準タグみたいなものってあるんでしょうか?
446 :
167:2011/09/19(月) 13:36:03.75 ID:B1spqzys
お久しぶりです、現状冬コミ準備で忙しく進んでおりません(;´Д`)
>>445 ノベルデータのXMLと仰られますと?
そもそも標準規格のようなものを聞いたことがないのですが……。
447 :
167:2011/11/06(日) 21:13:59.47 ID:BAbg9SN1
お久しぶりです、現状久々に開発を再開しております(´Д`)
現在、命令の統廃合と特殊演出の開発を進めております。
雪エフェクトが概ね完成となり、あとは命令体系を構築するのみです。
他公開予定エフェクト(雨・桜・蛍)も雪エフェクトのアルゴリズムの流用でいけそうです。
(蛍エフェクトだけは若干難しいかもしれませんが)
何にせよ、次期バージョンは年内か年度内にはお見せできるかなと思われます。
とりあえず、今はまあそんな感じです。
448 :
167:2012/10/14(日) 23:26:49.47 ID:LOIyUeEB
気付けば一年が経っておりました(´・ω・`)
お久しぶりです、と言っても見ておられる方がいるかは分かりませんが。
仕事多忙など、色々ありましたがそろそろ制作を再開します。
今はとりあえず、既存プログラムを全てVS2010、VS2012に移行中です。
移行する際に色々と問題が見つかっているので直していってる感じです。
つきまして、VS2012を導入したのでパフォーマンス改善に取り組む予定です。
特殊エフェクトをお見せする前に、まずは基本をきちんと実用レベルまで引き上げようかなと。
まあ、そんな感じでぼちぼち再開していきます。
>>448 頑張ってください
他にも見てる人はいると思います
450 :
167:2012/10/31(水) 22:40:09.06 ID:mBkHI3vn
とりあえずひとつだけ決めました。
今月、新バージョンを公開します。
理由は制作を再開がてらにSVNを確認したところ、
現在公開しているバージョンとの差異がそれなりにあるためです。
現在これから取り組むことは新規画面エフェクトとパフォーマンス改善がありますが、
それらにどれくらい時間がかかり次にいつ公開できるのか今のところ目処が全く立っておりません。
つきましては今の状態で新バージョンを一度公開し、
腰を据えて上記の課題事項に取り組んでいこうと思います。
とりあえず、新バージョンの更新点は以下のものになりそうです。
・駄目文字バグを修正
・その他細かいバグを修正
・拡縮・回転の概念を追加
テキスト(ルビ含む)、画像の拡縮・回転が可能になりました。
ただし、当然ではありますが描画ライブラリが対応している必要があります。
・拡縮・回転の概念の追加にあわせてタグ命令を追加(<rotate R></rotate>)
・fadeinu、fadeoutuを廃止
fadein、fadeoutにフラグという新たなパラメータを追加しました。
(続きます)
451 :
167:2012/10/31(水) 22:41:59.82 ID:mBkHI3vn
・命令の統廃合・変更
以下の命令で統廃合・変更を行いました。
(個人的に命令の名前に2とか3とかつけるのは意味分からなくなりがちだと思うので……)
flash2→flashに統合
quakex2→quakexに統合
quakey2→quakeyに統合
quakexy2→quakexyに統合
flash3→flashwに変更
quakex3→quakexwに変更
quakey3→quakeywに変更
quakexy3→quakexywに変更
selectimage0→selectimagefixに変更
selectimage1→selectimagebarに変更
selectimage2→selectimageanimに変更
selectimage3→selectimageanimbarに変更
・全ソリューションをVisual Studio2010、Visual Studio2012に対応させました
とりあえず、今月中に公開できればなと思っております(´Д`)
452 :
167:2012/11/04(日) 22:45:42.93 ID:H1GCdANk
4日中に公開できるよう準備してましたが、急遽延期することにしました(´Д`)
どうやら複数のバグがあるようなので……(AbyssLib外のライブラリに原因がありそうですが……)
453 :
167:2012/11/11(日) 20:58:13.94 ID:OAbqnrSy
新バージョンを公開しました!(
http://abysslib.sakuraweb.com/)
変更点はざっと以下の通りです。
全般
・全ソリューション/プロジェクトをVisualStudio2010および2012に対応
AbyssLib
・画像/テキストの拡縮・回転に対応
・ローカルデータを読み込み時に不正終了する問題を修正
BasicCommands
・古いエクスポート関数の定義が残っていたのを削除
・AbyssLib側の画像/テキストの拡縮・回転対応に命令を対応
・fadeinu、fadeoutuを廃止(代わりにfadein、fadeoutにパラメータを追加)
・回転のタグ命令を追加(<rotate R>、</rotate>)
・駄目文字による不具合を修正(今度こそ最終版だと思いたい……)
・effect命令、setselect命令の統廃合/変更を実施(〜2とか末尾に数字付けてた命令名を変更)
ScriptPlayer
・半透明描画時に不正終了する問題を修正
CPUIDの取得処理(yaneSDK内のもの)に問題があったようなので修正しました。
ハンドアセンブルを止めて、Releaseビルドでの最適化を切って解決?(本来切ったら駄目ですが……)
・起動時にディスプレイコンポジションを無効化するよう修正
今までは「exeファイルに各自で設定してね♪」というスタイルでしたが、
あんまりに無責任だと感じたのでプログラム内で自動で無効化するよう修正しました。
ScriptPlayer2
・デバイスロストからの復帰に失敗する可能性がある問題を修正
今まで問題にはなってませんでしたが、マルチディスプレイにすると復帰に失敗するようになったので修正。
復帰時の処理の条件チェックに漏れがあった(hr==D3DERR_DEVICENOTRESETがなかった)のを直しただけです。
・フルスクリーン時にメッセージボックスが正常に表示されていなかった問題を修正
SetDialogBoxMode(true)で問題解決、むしろ何故今まで放置していたのやら……(;´Д`)
サンプル
・上記修正にあわせて、修正/追加
454 :
167:2012/11/11(日) 21:04:40.37 ID:OAbqnrSy
大体、前レスのような感じの更新を行いました。
今回大きいのは、拡縮・回転のサポートだと思ってます。
むしろ、何故今まで付けなかったのかと突っ込まれそうですが……。
あとはVS2010、2012にも諸々を対応させました。
他には、各種命令の統廃合や変更を実施してます。
今まで「〜2」とか「〜3」とかいい加減な命名をしてたので直しました。
今後は新規命令の追加のみで、既存命令の名前等は変更しないよう心がけます。
あとは、プレーヤー側のバグ修正でしょうか。
今まで気付かなかったもの、見過ごしていたものがあったので全部まとめて直しました。
AbyssLib外のバグ(yaneSDK、DX9Aの問題)ですが、プレーヤー使う人には関係ないので(;´Д`)
大体こんな感じです、次回の目標はパフォーマンス改善と特殊命令(雪などの演出命令)でしょうか。
色々と他にも取り組んでいるものが多々あるので時間がかかってしまうと思いますが、
見ている方は気長に見守ってくだされば幸いです(´Д`)
455 :
167:2013/02/11(月) 23:19:30.80 ID:s/l3+Exg
お久しぶりです(´Д`)
現在、パフォーマンス改善に取り組んでおります。
ソースコードの改修を終え、パフォーマンスを計測してみたのですが……正直、あんまり改善されておりません(;´Д`)
456 :
167:
改行と間違えてうっかり書き込みを……orz
パフォーマンスはあまり改善できてませんが、
インターフェースライブラリだけに仕方がないかなと。
実装ライブラリ(DX9A)のパフォーマンスは、大分改善できたりしております。
とりあえず、3月末までには公開して次の新たなステップへ進めていきたいところです……。