▼ノベルゲームツールを作っちゃうぞ!Ver3.0at GAMEDEV
▼ノベルゲームツールを作っちゃうぞ!Ver3.0 - 暇つぶし2ch548:名前は開発中のものです。
06/02/22 12:32:43 C9qpiN3s
>>547
ScriptPlayer.exeに何かファイルをドロップして起動すると何故か「scenario.datの読み込みに失敗しました」ってエラーが出る。
ScriptPlayer.exeのショートカットにファイルをドロップした場合はエラーは出ない。
コマンドプロンプトからScriptPlayer.exe ファイル名 ってやった場合もエラーは出ない。
当方xp

549:167
06/02/22 23:16:44 rz2Srb/I
久々に覗いたら驚き、試用有難う御座います>548
ScriptPlayer.exeは、scenario.datをドロップするのでなく、
scenario.datを同一フォルダに入れてから実行するプレイヤーです('='

550:名前は開発中のものです。
06/03/08 00:41:58 dKMmOLme
保守、皆さんどうされたのでしょう?(´Д`)
此方は画面エフェクトを実装中、細かいバグフィックス&テストが終了したらうpします。

551:167
06/03/08 00:42:52 dKMmOLme
↑167でした(´Д`)

552:vvm-man
06/03/09 14:30:48 g1/35kxr
仕事忙しくって

553:167
06/03/14 10:35:35 9RaMK6me
ヤター、遂に画面エフェクト実装でけたー(・∀・)
幾つかリファクタリングしてから、またうpします(・∀・)
残りは、命令×1と基本インターフェース(セーブ画面とか)位かナァ………

554:名前は開発中のものです。
06/03/14 12:45:19 8mCWQi2N
>>167

555:167
06/03/16 02:14:44 kXwRfSNn
URLリンク(abyss-21.hp.infoseek.co.jp)
というワケで、再度うpです。何だかんだで1年、来年度までにはver1.0まで上げられるかなぁ…

556:名前は開発中のものです。
06/03/16 16:21:58 q/76/AzF
がんばれよー

557:名前は開発中のものです。
06/03/18 11:02:37 UMm8GE3I
習作として、ノベルゲームのエンジンを作ろうかと考えているんですが
windows APIだけで書いていった方が早いんでしょうか?

それともDirectXに頼った方が結果としては早くなるんでしょうか?

558:vvmの人
06/03/18 14:35:34 5ymkOHBU
マジレスすると、作りたいものと人による。

あと、忠告というか、自分の感想。
ブラウザで動かそうと思うとドつぼ逝き。

559:vvmの人
06/03/20 18:17:18 +rk1DVk5
さて、製作復帰。
UPはしてないけど、セーブシステムをだいぶマシにした。
もうちょっとでセーブシステムがうまい事いくと思う。

ただし、セーブシステムは、関数だけ用意されているので、セーブ用のメニュー項目とかは自分で組んでくれと言う放置プレイ。
ROM(ライク)タイプセーブとテキストタイプセーブが実装されている。

ROMに保存しただけでは持ち運び及び保管が出来ないデータなので、テキストに出力して保管、持ち運びする仕様。

今WEBで見られるのは両方を同時に行う方式。
ROMに書き出してその場でテキスト書き出ししてる。
ROMがあるって実感がないかもしれないが、気にしないでくれたまえ。

あと、影文字を本当にどうにかしようと思っている。

でも、ある意味今が一番最適な構造といえばそう。
リファクタリングでどうにかするしかないが、かなりの茨の道だと、そう思う。

560:vvm-man
06/03/20 22:36:19 +rk1DVk5
とりあえずOperaに対応してみた。

Mac動くようになったかな。

セーブは効かなくしてる。
ロードは効くはず。
まぁ、あまり期待しないけどね。
LinuxのKHTMLベースブラウザはダメだったし。

561:167
06/03/21 10:17:04 K9MYbsUg
復帰乙です、此方はリファクタリングで手一杯(´Д`)

562:vvmの人
06/03/21 12:52:48 xGzwIbzh
問題:
vvmの動作検証をしたいがために、会社にMac miniを買ってもらう俺は勝ち組か。

563:vvmの人
06/03/21 16:44:14 xGzwIbzh
サンプルに一部背景を適用してみた。
背景があるだけでかなりゲームらしくなることに驚きを隠せない。

あと、一部の構造を変更してやや高速化した。

564:167
06/03/23 00:50:14 EBMQVq5v
リファクタリングは一応終了、後はデバッグとテストです(´Д`)
………それにしても、寂しいですなぁ(;´Д`)

>vvmの人
間違い無く勝ち組でしょうな(´Д`)
ネクロマンサー、実は密かに楽しみにしておりますよ(w

565:vvmの人
06/03/24 15:26:52 T38kkrxy
>564
ども、そういってもらえると、少しはやる気が出てきます。
私も167さんの、動作確認程度ですが見てますよ。

566:167
06/03/24 22:42:53 GQ12ZG3w
とりあえずサンプルを統合、シンプルかつスマートに(´Д`)
もう今後はリファクタリングはしないと思います、多分………圧縮ファイルも、7MBから3MBにサイズダウン。


>vvmの人
有難う御座います、何か不備があれば教えて下さればと~。
URLリンク(abyss-21.hp.infoseek.co.jp)


567:167
06/03/24 22:44:02 GQ12ZG3w
ミスった、URLは三行目に入れるつもりだったのに………orz

568:名前は開発中のものです。
06/03/24 23:38:03 ZoqpcoHp
>>566
お疲れさまです。久しぶりに来たらアップデートの嵐で驚きました。
さっそくver0.85のサンプルを試そうと思ったのですが、最新のRelease.zipにバイナリと
シナリオデータが見あたりませんでした。

こちらで何か見落としていたら、すみません。


569:167
06/03/25 04:09:24 9XT4+TTh
>568
………すんません、今確認したら開発データを丸ごと放り込んでましたorz
即刻、修正します(;´Д`)

570:167
06/03/25 04:20:06 9XT4+TTh
というワケで上げ直しました、これで多分問題は無い筈………?

571:167
06/03/25 04:22:43 9XT4+TTh
URLを貼り忘れていたので………
URLリンク(abyss-21.hp.infoseek.co.jp)

572:167
06/03/26 23:34:53 Hnhm8WCR
ver0.9完成、最近はゲームで遊ぶよりもゲームを作る方が楽しいっす(´Д`)
あとは基本的なインターフェースの作成のみ、春先には完成すると思われます(´Д`)

573:515
06/03/28 02:29:07 fVLBisSj
なんとか「とらスクリプト」が実用に耐えうるくらいにはなったが
既に開発の必要性が無くなったために開発凍結。

スクショおよび配布ページ
URLリンク(aqinomoto.hp.infoseek.co.jp)
URLリンク(aqinomoto.hp.infoseek.co.jp)

Ver0.2xからの変更点
・セーブ/ロード実装
・オプション一部実装
・その他バグ取り

Ver0.30からの変更点
・メニュー表示、クイックセーブ/ロード実装、オートセーブ仮実装

永久に未実装
・各種オプション。
・メッセージ自動送り
・サウンドの再生やロード状況の保存。現在ロードから復帰してもBGMが再生されない。
・セーブデータのDES暗号化。現状は単なるテキストファイル

574:名前は開発中のものです。
06/03/28 10:05:26 wvaW2pBo
へー。JAVAか。珍しいな

575:名前は開発中のものです。
06/03/28 20:45:49 WGJXL/KA
>>515 キューの綴りはqueueでっせ。

576:515
06/03/29 01:49:01 i7UVe3Gc
>>575
プログラムは前にqueweからqueueに直しておいたのに
説明書のほうが直ってなかったな。指摘サンクス


オプション周りを少しだけ修正した。

Ver0.40からの修正点
・未実装オプションの一部を実装

577:vvmの人
06/03/29 18:42:43 lEYiwxA9
久しぶりに「見える」更新。

メッセージの瞬時表示「吉里吉里/KAG」におけるクリックスキップに対応。
URLリンク(f58.aaa.livedoor.jp)


578:vvmの人
06/04/03 22:02:58 hI1qJhnr
Macmini入手。

safariで動作確認をしてみる。
一応動いた!

エンジン部分はまともに動作しているようだが、フレームなどの部分に問題が残っている様子だ。
コレがブラウザの問題なのかこちらのプログラムの問題なのか、これからきちんと調べて解決に導きたいところ。

linuxは相変わらず。
全くもって可愛くないOS/ブラウザ。

579:名前は開発中のものです。
06/04/05 23:23:39 MyZkcpxZ
スクリプト一切必要なくて作れる、超初心者用ツール
きぼんぬ

580:167
06/04/06 19:37:44 nxdwbvdf
無理です(´Д`)

GUI中心に設計するにせよ、スクリプトプレイヤーに命令を認識させるにはスクリプトが必要となります。
スクリプト不要の超初心者用ツールを作成する場合にも、まずはスクリプトの作成が必要なワケです(分かりにくくてスマソ)

581:名前は開発中のものです。
06/04/06 20:37:16 xII7W1kh
>>579
ムリ。
なぜムリかは「日本語プログラミング言語ひまわり」の初心者講座か、
HTMLの書き方講座でも読むといい。

582:名前は開発中のものです。
06/04/06 22:18:58 riGCpeIp
そうか・・無理か・・

583:名前は開発中のものです。
06/04/07 00:52:48 W95bMVpC
>>579
URLリンク(www.geocities.co.jp)

584:167
06/04/08 00:48:28 TXbTzl/4
>582
それに、スクリプトの方が些細な変更を必要とする場合には強いです(´Д`)
ウィザードでやるよりは、テキストを直接弄った方が早いですからね。
理想を言えばGUIも用意出来れば良いのですが、それはスクリプトが完成してからという事で(w

585:167
06/04/08 00:52:43 TXbTzl/4
そして、遅れながら少しばかりVerUpです(´Д`)
メニューを実装し、サンプルを少しばかり変更しました↓
URLリンク(abyss-21.hp.infoseek.co.jp)


586:名前は開発中のものです。
06/04/08 18:11:21 UKz6R2RN
>>579 カードワースはそれに近いかも

587:名前は開発中のものです。
06/04/20 06:49:30 A/navkxa
>>585
お疲れさまです
もしかすると、サンプルに"scenario.dat"がないかも……

588:167
06/04/22 13:37:16 +VNS60dN
また少しばかりの修正です
URLリンク(abyss-21.hp.infoseek.co.jp)
>>587
忘れてましたorz
scenario.datを追加しておきました。

589:名前は開発中のものです。
06/04/22 22:58:05 YTJU8ysj
>>588
お疲れさまです
動きました

マウス中ボタンでのMENU呼び出し、いい感じですね

サウンドテスト、やっと理解しました、1BGM+2SEだったのね orz

立ち絵の重ねは、説明が「ちゃんと抜けていませんが」のままですが、
綺麗に抜けてる男性キャラだけにしたんですね
綺麗に重なってます

さすがにここまでくると、ワクワクしますね~


590:167
06/04/23 13:19:12 5QwwU/Iz
>589
テスト有難う御座います、現在は環境設定(コンフィグ)を設計中です(´Д`)
サウンドテストとか、分かりにくいものはスクリプトも併せて見て頂ければと………。
画像は見苦しいので、変更しときました。つ~か、スクリプトのテキストも変更しないと………(;´Д`)

591:167
06/05/05 20:00:54 5FMQIL84
そろそろ保守です(´・ω・`)
色々と設計について悩んでみたり、とりあえず環境設定関連は出来たのですが………。

592:名前は開発中のものです。
06/05/06 09:05:00 kTNY6/qK
新しいソフトは需要無いから
そんなもんつくるくらいなら
吉里吉里のGUI作って欲しい

593:名前は開発中のものです。
06/05/06 10:26:46 ghc4/18a
LMより使い易いのなら使いたい

594:名前は開発中のものです。
06/05/06 11:12:43 YJjHpKkz
てゆうか、プログラム書ける人なら、
吉里吉里開発の手伝いしたほうがいいんじゃ?

595:名前は開発中のものです。
06/05/06 12:12:12 r+LL5WiO
プログラム書ける奴などごまんといる
そいつらみんな吉里吉里の手伝いするのか?

596:名前は開発中のものです。
06/05/06 12:46:11 7fCb94KP
プログラムの記述は個人の癖がでかいからな。
複数いると余計ややこしくなるだけだ。

597:名前は開発中のものです。
06/05/06 20:49:44 8UmfB2k8
はいはい、知ったかちゃんは黙っててね

598:名前は開発中のものです。
06/05/07 01:45:30 J4oBuySu
>>591
167氏、乙~。
問題発生?

599:167
06/05/09 17:15:36 LPXuVbyH
GW中は、オンラインセッションにかまけてました(´Д`)
おかげで、作業は進行ならず………駄目だなぁ、ちゃんと作業も進めないとorz

>592
そんな殺生なお代官様(´Д`)
…というのは冗談にしても、需要が最低一つあるから(=自分用)作っているのですよ(´Д`)
吉里吉里だと、自作のACTやSTGとスタティックリンク出来なさそうですし(知ったかだったらすんません)

>594
ADVを作りたいプログラマなら手伝う気もするのですが、
ACTやSTGやRPGを作りたいプログラマは手伝いに興味を示さないかと。



てゆ~か、吉理吉理が自作のプログラムと連結出来るのなら即効で開発なんて止めます(´Д`)

600:167
06/05/09 17:16:50 LPXuVbyH
>598
セーブ&ロードが正常に行えないというバグが発生しましたが、解決済みで。
後はセーブ&ロードのインターフェースを残すのみで1.0は完成です、とりあえず簡易セーブ&ロードを実装した状態で近日公開予定で(´Д`)

601:名前は開発中のものです。
06/05/09 18:11:49 WCk3HW4o
スタティックリンクはソースからコンパイルしないとできないけど
自作プラグインを作ればなんでもできるはず>吉里吉里

あとはそもそもシューティングとかアクションゲームとかを吉里吉里のみで
作ったりするやつもいる

602:名前は開発中のものです。
06/05/09 20:12:21 S4Y9zZ7Q
吉里吉里/tjsのみでなら誰でも作れると思うけど

603:名前は開発中のものです。
06/05/09 20:26:23 cAgedhhX
吉里吉里のtjsってどういう仕組みなの?

604:167
06/05/09 21:59:34 LPXuVbyH
>601
詳細有難う御座います、って吉里吉里凄いっすね(別に舐めてたワケでもありませんが
ただ、まあ………其の辺りは、プログラマとしての矜持というか習作というか就活というか(謎

他人のプラグインを作るのって結構ブラックボックスとかの関係で面倒ですし、自分で作った方が何と無く愛着持てますし。
まあ、車輪の再発明にはなってますが………スタティックリンクが出来る辺りで、まあここはひとつ(何が

605:名前は開発中のものです。
06/05/09 22:19:06 svQFW73b
167がプラグインを作ればって話じゃないか?
吉里吉里はオープンソースだから、ブラックボックスになる部分はないだろ

606:167
06/05/09 22:49:51 LPXuVbyH
>605
いえいえ、他人のアプリにおけるプラグインを自作するのが大変という事で(´Д`)
って、オープンソースなんですか!?………知ったかでした、すんません(´Д`)
とりあえず、ソースを落として色々と参考にさせて貰いますか(´Д`)

607:名前は開発中のものです。
06/05/10 19:05:49 FuoB26pA
吉里吉里という優れたものがあるのは承知の上で、新たにツールを作っちゃおうってのがこのスレなのでは?

人の作ってるものを「そんなもん」呼ばわりしたり、「吉里吉里を手伝ったほうがいい」とか言ったりするのは、
このスレの有志諸氏にめちゃくちゃ失礼だと思うのだがいかがか。


608:167
06/05/10 22:22:14 V2Rq4Ynr
まあ流れ的には微妙なふいんきですが、過疎スレですしそれも良いかと(というか、他の人はどうなったのかなぁ………)
寧ろ、吉里吉里使いさん達には「こういう機能があったら~」的な希望とか聞ければ嬉しいかもしれません(´Д`)

609:名前は開発中のものです。
06/05/11 22:29:32 1IlvvsJV
スクリプトを弄らずにメニューや、メッセージフレームなどの画面レイアウトを
構築できる、吉里吉里/KAG用のリソースエディタみたいなものが欲しいです。
スキンを適用して、自由にデザインも変更できるようにすると便利だと思います。

610:vvmの人
06/05/11 23:34:10 aGYmHMo9
欲しいと思ったものを作れる人が上にいける人

611:vvmの人
06/05/11 23:36:13 aGYmHMo9
途中で送信した……。

ま、どうでもいいか……。

関数実装を進めています。
大分いろんなことできるようになってきた。

612:名前は開発中のものです。
06/05/19 12:33:18 ykRaaOc5
GANGARE-

613:名前は開発中のものです。
06/05/24 12:31:25 u9GSEtIW
なんか作りたくなってきたけど、どうせ作るならノベルに特化せずに、色々作れるのがいいなぁ。
まぁ俺が作ると処理速度的にノベル専用になってしまいそうだがorz

ってかvvmすごいっす。
何かベンチャー臭い事してて、かっこいいっす。
これでWEBからバカなねーちゃんでも作れるようにしたら、広告収入でやっていけそうな気が。


614:名前は開発中のものです。
06/05/24 12:55:15 ly5w9Gp4
>609
yuukinovelやlivemaker使えばいいだろ

615:名前は開発中のものです。
06/05/24 17:40:36 kyGX5W6+
>>614
そうじゃなくて、実行エンジンに吉里吉里を使いたいってことだと思う

616:名前は開発中のものです。
06/05/25 00:32:13 2Bn+E1ue
僕も作ってみました。
できるだけPHPにそっくりな構文で作れるようにする予定です。
まだ全然機能がありませんが、よかったら評価して下さい
m(__)m
URLリンク(www.geocities.jp)

フリーウェア、商用NGで考えています。


617:名前は開発中のものです。
06/05/25 10:18:45 J3LcSlCf
なんだ、ソースコードはついてないのか

618:167
06/05/25 23:32:47 /15v0IwL
次期バージョン………どころではなく、最新版のソースが吹っ飛びやがりましたorz
なので、一部一から組み直し中………フェードアウトはしませんので~(汗

619:名前は開発中のものです。
06/05/26 00:13:30 nqqIAI4w
>>167
うわぁぁぁぁ!心中、お察しします……。
大変だと思いますが、めげずに頑張ってください。


620:616
06/05/26 05:03:32 B7ioW/hS
がんばって下さい!
あの構文は間違いなくシナリオさんには喜ばれる物だと思います。

>>617
特に公開できない理由はないのですが、根性がないというか、何となく抵抗があるんですよね・・・。
もし完成したらゲームの一つでも販売したいなぁと思ってるので、
ちゃんとシステムが完成するか、途中で諦めたら公開しようかと思います。


621:名前は開発中のものです。
06/05/26 15:15:24 rE7O6Qq+
>>620
ソース公開する気ないなら
このスレでやる必要ないのでは?
自分さえよければいいって人は邪魔


622:名前は開発中のものです。
06/05/26 15:16:59 +U+iT7JE
初代>>1も公開なんてしてなかったはずだが、何このうp厨
ただソース読みたいだけじゃないのか

623:名前は開発中のものです。
06/05/26 15:39:53 MBPw3eDZ
ソースはいらんよ。
単に構文解析できない厨がさわいでるだけ。

624:616
06/05/26 19:20:23 B7ioW/hS
バージョンアップ!
エフェクトの処理速度を向上させる為にレイヤーの概念を導入しました。
画面エフェクトは、画面全体もしくはレイヤー単位で行えるようにします。

サンプルプログラムでアルファブレンディングとsin,cosの利用サンプルを加えました。
今はテスト的に自分で計算してアニメーションをしていますが、
ゆくゆくは命令だけで行えるようにしていきます。

ちなみにサンプルは私のPCでは50FPS出ませんでした。(汗)

あと、音声とテキスト処理はまだ未実装です。

URLリンク(www.geocities.jp)


625:名前は開発中のものです。
06/05/26 21:55:50 XdJcC2+k
>619
はい、有難う御座いますです(´Д`)

>620
シナリオさんに簡易な構文を、目指しておりますので~。
個人的に、システムレイアウト等はスクリプタではなくプログラマの管轄だと思っております。
なので、下手にスクリプト化せずにプログラマに丸投げしていいかな~と…後々に、余裕があれば簡易に弄れるGUIツールを作れれば良いかなとは思っておりますが。

>621-623
別にオープンソースにする必要は無いと思いますです、他の人もソース非公開な方が多いですし。
私が公開しているのは、単に上記のコンセプト上と何よりお勉強の為です(バグ等を指摘してもらえますし))

>624
乙です、616のを見せて頂きました。
かなり出来る事が広いスクリプトの様に感じました、というか普通に凄いです。
ノベルゲームツールだけでなく普通にゲームツールとして使えそうな感じがしました。

626:616
06/05/27 00:43:49 Q5zCyCCo
バージョンアップ
・単色化、明るさUP、ネガポジ反転のエフェクトを追加(檄遅!)
・trueとfalseを直接書けるようにした。
・8進数、16進数のサポート(C言語、PHP風)

とりあえず描画部分はかたちになってきたので、ぼちぼちテキストの処理をします。

>>625
本当にコンセプトがしっかりしてて良いと思います。
私の場合は、スクリプトを書く人間がPG知識をある程度持っている事が前提なんですよね。
もちろんノベル系が簡単に作れるように専用コマンドは準備しますが。

まぁ一言で言えばただのオナニーです(笑)


627:616
06/05/27 17:49:28 Q5zCyCCo
バージョンアップ!
テスト的にテキスト出力に対応!
レイヤー表面にプリントが可能になりました。
別途ノベルベームの1文字1文字の出力と、VBのラベルコントロールのような物を追加予定。
・テキストクリア機能
・テキストα値設定機能

URLリンク(www.geocities.jp)

さてと、そろそろ本業に戻るとするかな。


628:名前は開発中のものです。
06/05/28 15:27:06 4lv/LMAm
乙~
期待してまつ

629:616
06/05/28 23:29:38 nNgcT/iF
バージョンアップ!
テキスト出力がちゃんとできるようになりました。
URLリンク(www.geocities.jp)

更新は当分ないかも。
次でユーザー関数の対応をします。
気が向いたらforとforeachも対応するかも。

ぼちぼちテトリスでも作ってみるかな

630:616
06/05/29 00:15:15 IGQydurO
吉里吉里ってすごいなぁ。
さっきマニュアルを読んでたんだけど、完璧じゃない?(笑)
目指している物が似ているので、ちょっと凹むなぁ。
どうせ作るなら、何か1つでも勝る物が欲しいのだが・・・。


631:vvm-man
06/05/29 02:00:21 rbep/xil
そろそろ音鳴らそうと思う。

しかし、現在の問題点は深刻だ。

1.音を鳴らすために音ファイルをDLする時間がかかりすぎる。
2.音を指定した箇所から流す方法がない。
3.途中で一時停止させる方法がわからない。もしくはない。

全てのことを解決しないと音を鳴らす意味がないと思う。

一番いいのはswfを扱えることだが、すべてのブラウザがサポートできているわけではないし、
開発ユーザにとってもswfを作れる環境かどうかが不明。

しかし、うだうだ言っても始まらないので、とりあえず、テストに取り掛かろうとは思っている。


632:616
06/05/29 03:25:07 IGQydurO
今こんな構文を考えてます。どうだと思いますか?

<?
$name="太郎君";
function age($low)
{
$ret=rand($low,30);
$age=$ret;
if($ret==30)
{
return "三十路";
}
else
{
return $ret;
}
}
?>


633:616 続き
06/05/29 03:26:32 IGQydurO
こんにちは。私の名前は$nameです。年齢は@age(16)です。

<?
if($age<20)
{
?>
こう見えてもまだ10代なんです。

<?
}
else
{
?>
こう暇だと、もう人生後半なんて思ってしまいます。

<?
}
?>

634:616
06/05/29 03:29:02 IGQydurO
基本的にはテキストを打てば表示されて、
アットマークでエンター待ち、
そしてスクリプトを書きたい時は<?と?>で囲む。
まぁ、早い話がPHPそのまんまなのですが。


635:名前は開発中のものです。
06/05/29 08:37:19 ihm67nO1
>>616
お疲れさまです。
いろいろ出来そうで面白そうなツールですね。

縦横比4:3以外の画面で、フルスクリーンにも対応しているのは嬉しいです。
サイズは可変になるんでしょうか。
だとすると、デザインの幅か広がるので楽しみです。

描画は自分の環境では50fps出ました。
前バージョンでは44fpsぐらいだったから、軽くなりましたね。
ウィンドウ←→フルスクリーンの切り替えも快適です。

終了時、escかreturnを長めに押す必要がありました。

自分はPHPを使ったことがなかったのですが、
このツール使うために覚えたい感じです。

636:616
06/05/29 09:16:39 IGQydurO
>>635
評価ありがとうございます。
ずーっと前からエロゲーとかもワイドの方が雰囲気出でいいやん!
と思ってて、その思いをこのツールに託しました。
画面サイズは8px単位で自由に決める事ができます。
フルスクリーン時にはそのサイズが合う解像度に変更し、必要に応じて
上下もしくは左右を黒くします。

>>描画は自分の環境では50fps出ました。
それは嬉しい報告ですね!
あのサンプルは3フレーム毎にαブレンディングをしているので
なかなかの出来かもしれません。

>>終了時、escかreturnを長めに押す必要がありました。
恐らくDirectInputを使っているせいですね。
バッファリングをするかWinメッセージへの変更を検討します。

>>自分はPHPを使ったことがなかったのですが、
>>このツール使うために覚えたい感じです。
どうもですm(__)m
今現時点で目指しているのは、「クラスのないPHP」ですんで、
文字列処理関数や配列処理関数は可能な限りマネマネしようと思ってます。

さて、出勤するか。

637:616
06/05/30 13:23:22 +ZC0u2Rb
えーっと、只今ユーザー関数の実装をしています。
事前構文確認機能はできあがったので、山場のユーザー関数の実装をしています。
globalとstaticがなかなかくせ者でして。
とりあえず、こいつと、あとスクリプトタグの実装が完了したら、
簡単なノベルを付けて公開します。
今はごちゃごちゃしたスクリプトですが、結構シンプルになる予定です。

それ以降は
・サウンド関連
・自動アニメーション
・多次元配列&配列処理コマンド
・文字列処理コマンド
・禁則処理
ってな感じかと思われます。

三次元配列使えないって話を記憶していたのですが、
PHPって配列の次元に制限がないんですね(汗)
ってか四次元配列とかって何につかうんやろ


638:名前は開発中のものです。
06/06/01 17:09:47 O0AFqF5u
>>632
ノベルはどうしても文字主体になるから
この構文はいいと思うよ ガンガレ

639:616
06/06/02 12:35:20 LkUh0i8v
>638
どうもです。
ユーザー関数の基本的な部分の実装が終了し、スクリプトタグの実装も完了しました。
こまかい最適化が完了したら公開します。

あと、ぼちぼち他のソフトを意識しようと思いますので、
NScripterと吉里吉里/KAGとのベンチマークも行ってみようかと思っています。
両方とも使った事がないのですが、NScripterが早いという噂なので、
とりあえずはNScripterよりも早く動く事を目指します。


640:名前は開発中のものです。
06/06/02 12:51:37 P/9tZRJZ
>>639
URLリンク(gamdev.org)
ドゾ

641:616
06/06/02 15:20:50 LkUh0i8v
>640
どうもです。今試してみました。

えーっと、
1/8200倍なんすけど。orz
変数の保持&検索がかなりお粗末なので、ここを修正したとしても、
「吉里吉里TJS 1580ms 1/7.9倍」
には間違いなく勝てないな。
ここまで差があると勝気にもなれん。


642:616
06/06/02 16:07:27 LkUh0i8v
修正です。
Debugになってたので、Releaseでビルドし直したら
1/2880倍
でした。

まぁ、ぼちぼちかな。

643:616
06/06/03 18:34:01 sKvGtuWC
只今、可変長引数と戦っています。
更に一部パフォーマンス向上の為に作り直しをしています。
恐らく3日ほどかかるかと。
まぁ、どうがんばっても、解析と実行を同時に行っている仕組み上、
それほど早くはならないと思いますけど。

一応中間コード化は考えており、解析&処理部分も考慮して作成していますが、
めんどくさいので、ずーっと先の話になると思います。


644:名前は開発中のものです。
06/06/03 20:45:24 GvphIaF0
>>616
うぉぉ燃えてますね。
頑張ってください!

645:616
06/06/04 08:16:15 SntmuNLp
>644
どうもです。
もちろん仕事をしながらなので、開発速度も遅いですが、ぼちぼちがんばります。

バリバリのGUI付けるから、IPAの未踏ソフトウェアに採用されてくれんかなぁ。


646:167
06/06/04 09:21:16 G61hUNNh
>616
頑張って下さい!
俺も頑張りますよ(´Д`)

とりあえず、UIを簡単に作れる様に現在はVBでいうコントロール系のクラスを作成中。
何時になったら、次期バージョンを公開出来るのやら………。

647:616
06/06/04 12:21:48 SntmuNLp
>646
どうもです。おひさです。
167さんもがんばって下さい。

実はPCゲームは3Dしかした事ないので、構築の参考にさせてもらいます。
こっちもGUIは別プログラムとして提供する予定ですが、
年内には無理でしょうね(汗)


648:名前は開発中のものです。
06/06/09 02:24:58 0Ck7i5yh
>>632-633あたりを見ていたら面白そうなんで
今の内にphpを勉強しておこうと思うんだけど、
参考書でオススメがあったら教えてくらさい。





649:616
06/06/10 07:13:20 Fx9J/386
>648
どうもです。
僕はPHPの本を持っていないのですが、
通称「赤マンモス本」と言われる本が良いと聞きます。(かなり古い情報ですが・・・)

ここから内容の全てをDLできるようですね。
URLリンク(www.sra.co.jp)

あと、PHPはApacheと組で使うのが一般的ですが、
コマンドラインでOKなら、Windows版のPHPはDLして展開するだけで使えますよ。


650:616
06/06/10 07:23:39 Fx9J/386
どうもです。
ちょっと仕事でバタバタしててなかなか更新ができてません(汗)
早朝から深夜まで本職でPCを触っていると、少しの合間を見て趣味でPCを触る気が起きないってのが本音かもしれませんが・・・。

15日ぐらいには暇になるので、遅くとも今月末にはまともな状態になっていると思います。
ただ、サウンドの処理方法をまだ模索している状態なので、音が鳴らないかもしれません。

もうしばしお待ち下さい。m(__)m

651:名前は開発中のものです。
06/06/10 15:15:56 ymU9FsZP
>>616さん
648です。

解説書をまるまるネットで見られるとは!
ありがとうございます。
頑張って勉強します(^^)

お忙しそうですが、ツールの更新、がんばってください。


652:名前は開発中のものです。
06/06/10 19:50:17 KzbJDQpz
Mac 関係 ない?

653:616
06/06/11 17:22:15 2i8J0flh
>652
えーっと、僕に対する質問ですかね?
他のスクリプトプログラムは知りませんが、
僕のやつはMACでは動きませんし、今の所は動かす予定もないです。

MAC MINIを道ばたで拾えれば考えてもいいんですが(笑)


654:vvmの人
06/06/22 01:37:55 gwgYmfG5
ぜんぜん製作とは関係ないけど。
あまりに酷かった月夜の立ち画を更新しといた。

でもやっぱりだめぽ。
全員だめぽ。


えーと、あと、対応表も更新しときました。
URLリンク(f58.aaa.livedoor.jp)

製作自体はほぼ止まってます。
スタイルの不具合を修正したくらい。

655:167
06/06/22 20:42:31 2JxKbps5
御久し振りです、色々と在った課題も終わったので復帰します。
恐らく、今週末で基本インターフェースの実装が完了するかと…出来たらいいなぁ(´Д`)

656:616
06/06/23 09:15:21 okE/rtU3
皆さんごぶさたです。
なんかいきなり相棒のubuntuさんが動かなくなってしまって、とりあえず復旧が完了。
ああ、納品まであと6時間・・・。
とりあえずこいつを終わらせれば開発に戻れると思うので、月末までにはなんとかなるかと。

消えたと思われそうなのでカキコ。


657:名前は開発中のものです。
06/06/24 02:45:08 F3qNjD4C
>>654-656
皆様お疲れさまです。
ここはマッタリペースなんで、大丈夫だいじょーぶ。
お仕事とか研究とか大変ですが、ガンガッてください。


658:616
06/07/01 10:25:50 QC8Murvy
XPから2Kに移行したら、DirectXSDKが動かない・・・。
うーん、我ながら馬鹿な事をしてしまった。
どっか、8.1aだっけ?落ちてないかなぁ。


659:名前は開発中のものです。
06/07/01 13:19:05 ACe0Rxfq
>>658
616さん、お疲れさまです。

探してみたら

・8.0a for Win2000
 DX80NTjpn.exe 7,067KB

・8.1 for Win2000
 DX81NTjpn.exe 7,632KB

これらが見つかりましたが、容量的に見ておそらくSDKじゃなくてランタイムですよね。
役に立てなくてスミマセン……。


660:616
06/07/02 02:01:31 jT7MX+mi
いえいえ。
わざわざどうもです。

できれば2000で開発したかったのですが、
とりあえず、XPのノートがあるので、そっちで開発する事にします。


661:616
06/07/02 02:19:11 jT7MX+mi
ってか、この際、DirectXを使わないってのもありかも。
と、酔っぱらいは考えております。

今からじゃ大変だけど、勉強もふまえてSDL使ってオプソにしてやろうかなぁ。
いやいや、恥をさらすだけになるかぁ。
うーん・・・。


662:名前は開発中のものです。
06/07/02 10:25:26 vMNjbmZv
>>658
調べてみました。

■Old&New年表
 URLリンク(www.sofarts.com) によりますと

 ●2001年
  DirectX 8.0a SDK(1月)
  DirectX 8.0b SDK(4月)
  DirectX 8.1 SDK(11月)

 ●2002年
  DirectX 9.0 SDK(12月)

 となっていますので、8.1aは無く、8.1になるのかもしれません。


この8.1SDKですが、

■C MAGAZINE 2002年1月号
 URLリンク(www.cmagazine.jp) の「特別付録CD-ROM」に
 入っていたようです。
 版元には、残念ながら在庫はないようです。
 
 

663:名前は開発中のものです。
06/07/02 12:12:29 J3rm3a1t
別にわざわざ8.1なんぞ入れる必要は無い。
Windows2000が(December 2004)までしか対応して無いってだけだから
(December 2004)を入れれば良いよ。

664:167
06/07/03 16:53:47 k84d22nz
御久し振りです、とりあえず慌ててうpしてみました
URLリンク(abyss-21.hp.infoseek.co.jp)
まだ分類とかはしてません、まあ数日中にはするかと思います(´Д`)


665:名前は開発中のものです。
06/07/04 12:38:10 3i9La5CA
>>664
167さん、お疲れさまです。
早速、拝見しようとしたのですが、
exeやシナリオデータが無いっぽいです。
ご確認、よろしくお願いします。

666:616@携帯
06/07/07 21:00:41 novb6yRr
皆さんどうもです。
レス付けれなくってごめんなさい。

結局はノートで開発する事にしました。
これなら合間見て開発ができるので。

とりあえず、なんだかんだと、忙しくってあまり進んでませんが、
開発が嫌にならない程度に進めていきます。

667:167
06/07/08 15:49:22 9orDCRSQ
URLリンク(abyss-21.hp.infoseek.co.jp)
またまた遅れましたが、分類も完了させましたorz
見目は全然変わってませんが、内部的には全然変わっています(´Д`)

>665
有難う御座います、宜しければまた見てやって頂ければ(礼

668:VVMの人
06/07/09 20:38:36 EuaC5kUj
Safariの対応をもちょっとマシにした。

動作速度が終わっているが、
メッセージスキップ(メッセージ流れ中に キーダウンorマウスクリック)を使えば何とか読める。

多分アンチェリが遅いんだとおもう。

669:167
06/07/20 18:53:12 AwJzD0Ue
保守



試験(の所為で開発が)休みデース(;´Д`)

670:名前は開発中のものです。
06/07/25 23:00:07 X/7X5uN6
キリキリはゲーム起動する時の魚のアイコンがなんか嫌だ。

671:名前は開発中のものです。
06/07/31 17:02:52 ZQUgq7Gz
魚のアイコンはいくらでもかえられるが、やはり動作が重くてイヤンヌ

672:名前は開発中のものです。
06/07/31 17:22:27 mUvZX0vm
そんな重いか?

673:167
06/08/14 02:13:36 S40zD8c3
保守兼ねて、近日中にアップする予定です(´Д`)

674:名前は開発中のものです。
06/08/23 09:59:07 wVnLNfiV
ほしゅ
お疲れ様です

675:167
06/08/24 00:03:14 /eXlzFQI
近日中とのたまいながらも、ちょっとした改造に手を付けてたら止まらなく(;´Д`)
24~25と旅行に行くので、それまでには間に合わせられたら………いいですねorz

676:名前は開発中のものです。
06/08/24 00:19:38 hl8UeJSy
>24~25と旅行に行くので、それまでには
出発まであと何時間?

677:167
06/08/24 00:51:06 /eXlzFQI
36時間………orz

678:名前は開発中のものです。
06/08/24 04:47:31 hl8UeJSy
>24~25と旅行に行くので
って書いてあるから24日出発かと思った。明日25日の昼出発か。

679:名前は開発中のものです。
06/08/24 13:14:21 buswa0FX
マターリ待ってますので旅行楽しんできてくださいな

680:名前は開発中のものです。
06/08/24 13:40:43 /eXlzFQI
>678
25~26の間違いでしたorz

基本的なコーディングは終了したので、後はデバッグを残すのみ…間に合うかなぁ(´Д`)

681:167
06/08/25 09:38:02 jrxmWGLu
何か半ば一人でスレ回しているような、いいのかなぁ?(´Д`)
出発まで二時間弱、サンプルを後一つテストしたらうpします('='

682:名前は開発中のものです。
06/08/25 10:13:57 jrxmWGLu
終わったぁっヽ!(;´Д`)ノ

URLリンク(abyss-21.hp.infoseek.co.jp)

やはり、見目は以前とは変わっておりません(;´Д`)
変更点としては、
・命令を1種類追加した
・一部の命令に修正を加えた
・ボタン・選択肢の挙動に修正を加えた
・小規模なリファクタリング(主にプラグイン実装に向けて)
といった感じです、次回こそはコンフィグ/セーブ/ロードのUIを実装します(´Д`)

683:167
06/08/25 10:15:34 jrxmWGLu
682=167です、って手が千切れてるっ!?Σ(;´Д`)
それじゃあ旅行に行ってきます、初東京、HEYが私を待っているっヽ(´―`)ノ

684:名前は開発中のものです。
06/08/25 13:18:18 Dk+d8Pjf
いてらさーい&乙!
東京かwwwwすれ違ったら声かけてwwwwwwww

685:名前は開発中のものです。
06/08/30 03:01:44 NaGlz63p
167氏のツールに密かに期待してます
有名所以外の殆どのノベルツールは途中放棄か開発中止
なんで頑張って下さい(´・∀・`)

686:167
06/09/01 23:36:04 rkfXRnHT
>685
有難う御座います、かなり遅々とした進行ですが見守って頂ければと(´Д`)
ゲーム製作と平行して作っていますので、ゲーム製作が崩壊しない限りは多分続きます(笑



しかし、次は何をしたらいいのやら…とりあえず暫定的なUI付けて、.1.0化してしまおうか(´Д`)

687:名前は開発中のものです。
06/09/02 10:20:13 eWKt0lWh
普通委託だろ

688:167
06/09/02 16:28:38 Fd1liBPp
>687
すみませんが、もうちょっとくやしく(´Д`)

689:名前は開発中のものです。
06/09/02 16:37:20 z39240xp
普通委託だろ!!(# ゚Д゚) ムッキー
( `Д´)フォオオオオオオオオオ!


690:167
06/09/02 19:55:54 Fd1liBPp
>689
そのネタ分かる人が居るとはw

でも、全くもって>687の意味が分からないのですが(´Д`)

691:名前は開発中のものです。
06/09/02 20:03:36 oesB5Kxd
おれも作ってみようかな

692:167
06/09/03 02:06:45 66Tm+XR+
>691
是非、宜しければ参加してみては如何でしょうか?(´Д`)















一人ぼっちはいやぁぁぁぁぁぁぁぁぁ!!!(゜Д゜)

693:名前は開発中のものです。
06/09/03 18:51:02 eey2yLha
がんがれw

694:691
06/09/03 21:11:21 cU2iM9bL
>>167
おー
おれ仕事の関係で今日からやっと夏休みなんだよね(´д`)
どこまで出来るか分からんがやってみるか

じつは何度か作ったことはあるけど、途中で飽きたりソース間違えて消しちゃったりで
完成したことないんだ

695:名前は開発中のものです。
06/09/04 13:40:50 bi9qwFDh
あるあるwwwwwww
コンパイラだの構文解析のとこだけ作って満足してしまって
実際に動作する部分は画像処理とか分からなくて丸投げ

696:691
06/09/04 17:08:07 LrSgxQcd
directx初期化とウィンドウ周り、あとアイドリングループを書いた
ゲームは久しぶりなんで牛歩すぐる。。。

どうせ自分で使うんだし、カチカチに構文解析したりしなくてもいいんだよな
むしろスクリプトに不都合があったらフリーズするくらいの勢いでおkと開き直るぜ

697:167
06/09/04 22:42:18 /CCmq6NR
>695
画像処理とかはyaneSDKとかライブラリに任せてしまうのもアリかと(´Д`)
何から何まで作ってたら、それこそOSも自作しなければなりませんし(´Д`)

>691
はじめましたか、頑張ってくださいませ(´Д`)

698:691
06/09/05 23:03:17 gvw63Bma
URLリンク(members3.jcom.home.ne.jp)

・タイトル画面
・BGMとSE

のみ!
タイトル画面もスクリプトで定義しようかと思ったけど結局専用クラス作った
スクリプトは HTML のタグっぽくしてみようかな

699:167
06/09/05 23:35:14 wZ6FAlYi
>691
早速見させてもらいました。
おお、Delphi+QuadrupleD使いさんですか。私も使ってた事があるので凄く親近感(´Д`)
お互い、また~りと頑張っていきましょう(´Д`)

700:167
06/09/08 00:35:53 UgywsUje
意外にプラグイン仕様って面倒なんですね、ほぼ全部作り直しです…orz
やるべき事は分かっているとはいえ、凄く面倒臭いです…安西先生…。

701:691
06/09/08 16:58:34 1VBGugvG
ボタンとかスクロールバーなどのインターフェイスをコーディング中。
単調で楽しい作業じゃないので遅々として進まない。
あと終了画面作った。
URLリンク(members3.jcom.home.ne.jp)

ところで OGG のデコードに時間が掛かるのか、曲再生と画面が同期しないぜ。
こういう問題ってファイル先読みで簡単に回避できるんだろうけど、
今後スクリプトで曲再生することを考えると、先読みを前提にした
スクリプトってのもどうなのかなって思う(´д`)
たとえば、

 //スクリプト開始時など余裕のあるときに読まなくちゃだめ
 SoundLoad 0, "Hoge.ogg";

 ~色々な処理

 //画像表示と同時にさっき読んでおいた曲を再生
 ImageLoad 0, "Hoge.bmp";
 ImageShow 0;
 SoundPlay 0;

ってやるよりは、

 //バッファにロード
 SoundLoad 0, "Hoge.ogg";
 //バッファに読み込んだ直後に再生できる
 SoundPlay 0;

のほうがわかりやすいよね。
どうしよう・・・
とりあえずゲームの進行上問題があるわけじゃないから後回しにするか。

702:691
06/09/08 17:02:43 1VBGugvG
>>167
ノベルツールでプラグインって珍しいでつね
どういう機能をもたせるのですか?
画面演出とかかな

703:名前は開発中のものです。
06/09/08 23:15:14 on10xxCb
いや、むしろそこじゃなくて
ノベルライブラリでプラグインとは珍しいと小一時間(ry

704:167
06/09/09 02:32:07 BEgS0IlO
>691
拡張命令・画面効果・画面更新等を拡張可能にしようかなぁと(´Д`)
>703
いや、まあ、そうですが…機能は多いに越した事は無いでしょうし(´Д`)

705:691
06/09/10 01:30:35 v/7m/wWm
なかなかすすまん・・・

・終了確認画面
・環境設定画面の一部
・BGMの再生ライブラリを変更

URLリンク(members3.jcom.home.ne.jp)

706:691
06/09/12 22:46:00 oVDOT1SQ
チクショー
やっぱり文字描画周りの最適化がうまくいかん・・・
GetGlyphOutline+縁取り文字のコストが大きすぎて描画のたびにループが引っかかる
フォントキャッシュも使ってるのにどうしたらいいのか

縁取りするときって
1:描画したい文字をテクスチャに描き出す
2:まず上下左右斜めの8方向に少しづつずらしながら影となる部分を転送
3:最後に真ん中の文字を転送
ってするのがいいのか、それとも文字を描き出すときにいっしょに影の部分も描いちゃうのか
どっちがいいんだろう
後者はテクスチャ作成のコストは掛かるけど画面転送は一度で済むよな・・・
うーん、キリキリとかってどうやってるんだろう

707:167
06/09/14 22:47:04 Mu0alcRU
両方試してみて、良い方を選べば良いのでは?と駄レス(´Д`)

URLリンク(abyss-21.hp.infoseek.co.jp)
プラグイン実装に向けて内部の処理を大幅に変えました…つ、疲れたorz
とりあえず、ソースコードの一括置換機能は慎重に使うべきですね………それだけで、約10日分の作業がロールバックorz

708:691
06/09/16 01:02:54 NN0IE0OR
おk
ノベル部のおおよその青写真は見えてきた

>>707
両方だめな場合はどうしたらいいんだー!!
というわけで第三の可能性に期待

709:名前は開発中のものです。
06/09/16 12:11:28 jovjB3vC
>GetGlyphOutline+縁取り文字のコストが大きすぎて描画のたびにループが引っかかる 
気になったんだが、描画の度にGetGlyphOutline使ってるのか?
画像バッファを別に用意してバッファに縁取り文字を描いた後、描画時には画像を転送してるんじゃ無いのか?

710:691
06/09/16 13:27:01 NN0IE0OR
みなさんこんにちは
無駄に速かったフレームレートを60から30に下げたぜ

>>709
うんにゃ
テクスチャに書き出してるのは一回だけです
その書き出す作業が重いみたい

縁取りの方法でいま試してるのは、
 ペンを太くして、
 StrokeAndFillPathで作業用ビットマップに文字描いて、
 オーバーサンプリングしてアンチエイリアスかけて、
 テクスチャのαチェンネルにコピーして、
 真中にもう一回普通のペンで文字を書く

あんまり綺麗じゃないけど代わりに結構速くなったかも
文字の端が切れてるけどとりあえずキニシナイ
URLリンク(members3.jcom.home.ne.jp)

711:691
06/09/18 02:45:01 iMJQ2DE5
ああ、休みが終わってしまう
URLリンク(members3.jcom.home.ne.jp)

とりあえず形にはなった…かな?
暇をみて手直ししようっと

712:167
06/09/21 21:38:12 EwmQaT2V
>691
私もそろそろ休みが終わりに近付いて参りました(´Д`)

プラグインに対応可能にしておこうと、悪戦苦闘中………STLが使えなくなるのは辛いorz

713:691
06/09/23 00:46:18 GaUh6ZuC
URLリンク(members3.jcom.home.ne.jp)

・文字を一文字づつ表示させる
・コンフィグで文字表示速度変更可能にした(効果薄)
・その他いろいろ最適化?

相変わらず文字描画が遅くてぶちきれそうですよ
キーボードのボタン押しっぱなしにして効果をスキップさせるとよく分かる
異常な遅さだ
これ以上はもうおれの手に負えない予感がする
どうしたらいいのか見当もつかん

キリキリなんか文章を早送りしても全然引っかからないのに
ほんと一体どうやってるんだ?????

714:名前は開発中のものです。
06/09/25 23:42:47 mUEtTpI8
ざっと見ただけだけど、Enterキーを押してから縁付き文字を描画してるよな?
画面切り替わり時とかに画像バッファにできるがぎり縁付き文字を描画しておいて後は転送するだけってのはどう?

715:名前は開発中のものです。
06/09/26 01:48:00 uC9Pmxg/
>713
パスカルだからソースは読んでないけど、毎フレーム完全更新してるだろ。
キー待ちで30%、文字が増えるとだんだん増えるとかアリエネー。

Direct3Dでハードウェア使ってるんならともかく、
自前で処理するなら更新量の少ないノベル系は差分更新が基本。

って、Direct3D使ってるのか。
毎フレーム、システムメモリ→ビデオメモリ転送をやってる臭い。

後バックバッファが初期化されてなくて、電脳戦士ポリゴン状態。

716:691
06/09/26 23:02:19 5GK4Zf+o
URLリンク(members3.jcom.home.ne.jp)

・ループ内ループを少なくして速度アップ&負荷軽減?
・クリック待ちマーク表示

>>714
うん、こんな感じ
 0: 文字描画先用にでかいテクスチャを用意する
 1: 文字ごとに転送先矩形とα値を持ってて、ループが回るごとにα値を足していく
 2: α値が0以上の文字を全て表示
 3: 表示中の文字のα値が一定に達すると次の文字を作成する(ここが重い)
 4: 文字を全部描画し終わったら一文字づつ表示するのを止めて、でかいテクスチャを一枚表示

> 画面切り替わり時とかにできるがぎり縁付き文字を描画
メインループと文字作成処理を別にするってことだろうか
これをやるとなるとシナリオの先読みが出来なくちゃいけないよな
排他処理とかやった事ないんだけど・・・ちょっと考えてみる


>>715
うーん、確かに画面全体更新してるけど、転送は気になるほどにはコスト掛かってないんだよな
それよりも「文字を作る部分」が致命的に重い
>>714の言うみたいに文字を作るタイミングをどうにかすればどうにかなりそうなんだけど

> 後バックバッファが初期化されてなくて
ええー、D3DDevice.Clearってやつでしょ
入れてるのに・・・
あ、あとCPU占有は直ってると思ふ

長文超スマソ

717:名前は開発中のものです。
06/09/27 01:47:02 Lg5LzC0m
>716
初期色じゃないのか。
でもPresent毎に、画像が表示されていない部分がピンクと緑に交互に点滅する。
Clearの引数が変なのか?

あと文字送り時と待ち時で文字の影が微妙に変化してるのが気になる。

718:691
06/09/27 05:45:03 OT3HMnk+
おはよーう

>>717
> 画像が表示されていない部分がピンクと緑に交互に点滅する。
うーん、もしかしてロゴとタイトルのところかな?
フルスクリーン時に確認できたぴょん。
Zバッファが作成されてないのにクリアしようとした?のでうまくいかなかったのかも

> あと文字送り時と待ち時で文字の影が微妙に変化してるのが気になる
テスト用の画像を読み込んでみたところ、画面描画が斜めに歪んでいるのを確認(´д`;)
テクスチャ座標の指定方法がまずかったみたいだ。
丸め誤差かな~とも思ったけど、座標をそれぞれ-0.5したら直った・・・ような気がする
URLリンク(bbx.hp.infoseek.co.jp)

言われたところを手直ししてみた。
直ってるといいなぁ。
URLリンク(members3.jcom.home.ne.jp)

みんなありがとう
PCは一つしか持ってないので試してくれるとめちゃくちゃ助かる!

719:名前は開発中のものです。
06/09/27 14:57:45 Lg5LzC0m
>718
直リン出来たっけ?直ってない
URLリンク(gamdev.org)

720:691
06/09/29 05:50:49 QV+p/gWm
URLリンク(members3.jcom.home.ne.jp)

・シナリオファイルにコメントを仕込めるようになった
・ラベルジャンプ実装
・軽めの禁則処理
・環境設定を保存/読み込み
・エフェクトスキップ(ただしシステムエフェクト以外。今のところ背景のクロスフェイドのみ。。)
・文字描画をさらに高速化

>>719
(T∀T)
なんでClearがうまくいかないんだろう?
ポケモソ色になる理由もわからん。。。
普通に
D3DDevice.Clear(1, nil, D3DCLEAR_TARGET, $FFFFFFFF, 1.0, 0);
ってしてるだけなんだけどなぁ
Zバッファもステンシルも作ってないのに何でこれじゃ駄目なんだ?

原因がわからないんで、画面クリアする方法として白いテクスチャを貼るようにした
環境設定の「ソフトウェアクリア」で適用できる
かなりの力技だ・・・

721:167
06/09/29 08:10:48 7dA9h7AY
DLL対応として、黙々とソースコードを書き換え中。
対した成果にもならないのに、御苦労様と自分を褒めてみやがります(;´Д`)

>691
>ポケモソ色になる理由もわからん。。。
一昔前のゲームによく発生した現象ですなぁ、確か同様にDelphi+QuaDで作られたGeoってゲームも発生した筈。
案外、QuaD側の何らかのバグかもしれません。あるいは、ハードウェアとの相性か。

722:名前は開発中のものです。
06/09/29 18:06:46 bhyX8J2r
>720
>D3DDevice.Clear(1,?nil,?D3DCLEAR_TARGET,?$FFFFFFFF,?.0,?);
第一引数が0でないなら、
第二引数には正しいD3DRECT配列をセットする必要が。

環境設定を選択したり呼び出そうとしたりすると、強制終了する。

723:691
06/09/29 21:55:49 QV+p/gWm
>>721
ライブラリってハード等の内部を知らなくても使えるんだけど、
何か問題があったとき何がいけないのかすら分からず困るって今回実感したっす・・・
これまで報告された不具合は、自分の環境では何ともないのもあるんだけどなぁ
ともあれDll対応がんがってください!

>>722
> 第二引数には正しいD3DRECT配列をセットする必要が
おーそうだったのか早速やってみたよ

強制終了については、恐らく文字描画部分においてロックした範囲外に描きこんでいるか、
もしくは画面転送時のテクスチャ座標の不正だと思う。ここじゃないかと思われるところに手を入れてみた。

もしこれでも駄目なら、アプリケーションのログ(AppLog.txt)が出力されるようになってるので、
そのログに「■ TConfiguration を作成し終わりました」って一文があるかどうか確認お願い致します(´д`;)
この一文がなければコンフィグクラスが作成すらされてないようだから問題は文字描画だと思われる。

(テスト用なので余計なファイルを含んでおらず軽いです)
URLリンク(members3.jcom.home.ne.jp)

724:名前は開発中のものです。
06/09/29 22:05:02 bhyX8J2r
>723
00013: TConfiguration を作成します
00014: ■ TConfiguration が TTitle に割り込みました ■
00015: 環境設定背景テクスチャ をパターンNo.7に登録しました
00016: TTitle を削除しました
00017: TConfiguration を削除しました
00018: ■■■ アプリケーションは正常に終了しました ■■■

725:691
06/09/29 22:24:50 QV+p/gWm
>>724
thx
不具合の該当個所が分かったので見直してみる

726:167
06/09/30 01:54:31 CWRN1laE
>691
そこでオススメ、ライブラリの改良ですよ。
ある程度言語に精通していれば、少し位の改良なら可能な筈です。
不具合と思うのなら見つけて修正しちゃいましょう、私もyaneSDKをホイール対応に書き換えましたし。
ただ、注意すべき事としてはライブラリの改良に夢中になって制作が進まなくなってしまうかもしれません。
経験者は語る、ですよ。アハハハハハ('A`)………orz

727:691
06/10/01 04:52:48 dnondVMz
わっかんねー
クリッピングは適正に行われている。不正な範囲への描画はしてないはずなんだ。
そもそもそれが強制終了の理由ならおれのマシンでも落ちてるだろうしなー
そうすると文字描画以前の問題、「そもそもテクスチャが作成できていない」ことも考えられる
もしくは・・・何らかの理由で画像が失われているとか?

>>724さんへ
誠に申し訳ないのですが、さらに詳細なログを吐くものを用意しました
根本的に直ってないと思われますので ”必ず” 落ちると思いますが、試してみてはいただけないでしょうか?
前回のログを見る限り、メモリにゴミは残していないと思われますので、その点では安心ですね(ぉ
URLリンク(members3.jcom.home.ne.jp)

728:691
06/10/01 05:03:16 dnondVMz
>>726
ウヘヘ
QDいろいろ書き換えてますよ

デフォルトだと起動時に自動的にウィンドウモードで起動してしまい、
その後、再度適正なサイズでフォームを初期化しなおさなければならないのでフォームがちらつくんですよね
それがイヤなんで、強制初期化をしないようにしてあります

ともあれライブラリ無しじゃおれのような日曜プログラマがゲーム作るなんて考えられませんね
こんなものがタダで手に入るんですからスバらしい世の中になったものです(しみじみ

729:名前は開発中のものです。
06/10/02 01:29:09 UlsNOh/C
00013: TConfiguration を作成します
00014: ■ TConfiguration が TTitle に割り込みました ■
00015: 環境設定背景テクスチャ をパターンNo.7に登録しました
00016: 文字属性をセットしました
00017: 数字用のをテクスチャを作成しました (256, 32)
00018: 文字0の描画を行います
00019: LockedRect(6, 0, 19, 23)
00020: 文字0の描画が終わりました
00021: 数字テクスチャ をパターンNo.8に登録しました
(略
00056: 文字9の描画が終わりました
00057: 数字テクスチャ をパターンNo.17に登録しました
00058: ボタン ■ゲームに戻る をセットしました
00059: ■タイトルに戻るテクスチャを作成しました (256, 32)
00060: TTitle を削除しました
00061: TConfiguration を削除しました
00062: ■■■ アプリケーションは正常に終了しました ■■■

730:691
06/10/02 06:52:30 SjsAmGkd
>>729
うおおおおおお
超ありがとう
おかげで原因を特定できたと思う!!

選択肢も実装できたんで今夜にでもあぷするね

731:691
06/10/03 06:32:43 VF5p6dxQ
ohayo-

URLリンク(members3.jcom.home.ne.jp)

・リターンキーの押しっぱなしを禁止にした
・スキップはコントロールキーで行うようにした
・選択肢を作れるようにした
・ファイル間のラベルジャンプを可能にした
・フレームレートを60に戻した(描画処理は2フレームに一回)
・ゲーム中にF2を押すとタイトルに戻れるようにした
・文字のオーバーサンプリング品質を2x2から4x4にした

強制終了の原因は文字描画じゃなくて、テクスチャをクリアする部分だった
そこで範囲エラーが出てたみたい
見当違いのところを見直してたんだから見つからないわけだ(´Д`;)
これで駄目だったらおれは首を吊ってお詫びするしかないだぜ?

732:名前は開発中のものです。
06/10/03 23:33:39 o1GE8YJf
>731
ソフトウェアクリアにチェックが入っていると、
ロゴからタイトル、タイトルからスタート、の画面切り替わりの一瞬、ピンク(or緑)が出る。
チェックを外してあると問題ない。

733:691
06/10/04 23:14:32 kQAZxApl
>>732
おk、サクッと直したぜ
つか>>722で教えてもらったClearがしっかり機能してるみたいだから、
もうソフトウェアクリアは要らないな

バックログ用のスクロールバーを作ってるんだけど、
ログのページ数によってツマミの大きさが変化するようにしたいなぁ
そうすると、ただツマミの画像を用意するだけじゃ駄目だから、結構骨が折れる・・・

ちょっと商用ゲームの体験版行脚してくる ≡┌| ∵|┘

734:167
06/10/05 00:48:01 GiAiv8xj
>691
進んでいるようで羨ましい限りです、頑張って下さい(´Д`)
こっちは、string→char[]→mystr(自作文字列コンテナ)………全然、進んでる気がしませんorz
STLがDLL←→EXE間で使えればこんな苦労もせずに済むのですがorz

735:名前は開発中のものです。
06/10/05 01:09:37 Rdmm7845
自作文字列コンテナとか作ってないでDLL、EXE間は普通にchar*で受け渡しすればいいんじゃないの?

736:167
06/10/05 08:08:52 GiAiv8xj
>735
関数間のやりとりは勿論それで構わないのですが、
問題は構造体としてデータをやりとりする時なのです(´Д`)
そういう時にはchar[]では足りず、とはいえ互換性やメモリ関係でSTLは使えずorz
という事で、急遽stringと関数名で互換性を持つ自作文字コンテナを作っていたりします。
(c_strとsize、コピーコンストラクタと代入演算子程度なので難しくはありませんが)
で、その変更に伴ってコードのあちこちを弄繰り回しているワケで…どちらかというと、そっちの方に時間がかかっているワケです。

737:名前は開発中のものです。
06/10/05 10:10:15 XYVQ+Y1d
えーと、それはコンパイラが替わるとすぐ使えなくなる糞プラグイン仕様ですか?

738:167
06/10/05 18:00:25 GiAiv8xj
>737
どうでしょう、あるいはそうかもしれません(´Д`)
現状ではSTLをDLL←→EXE間で使わず、データの受け渡しは関数あるいは構造体で行うようにしています。
そしてその構造体は私が定義したもの以外はほとんど使っていません(今調べてみたら、HWNDとRECT位です)
また、アラインメントもソースコード側で設定するようにしています。
しかし、クラスや構造体のメモリ配置が異なるコンパイラ間で一致しているという保証は無いっぽいです。
よって、現状では異なるコンパイラでプラグインが作成できるという保証はありません(´Д`)
(ただ、COMとかの事を考えるとWindowsの標準的なコンパイラ(VC、BCC)はメモリ配置が一致してるっぽいです)
(実際のところ、テストしてみなければ真偽は分からないのですが)

つまるところ、あらゆるコンパイラに対応といった形式は取らない可能性が高いです。
BCCとVCだけに対応してたら良いかな~、といういい加減かつお気楽思考で。
というか、構造体のメモリ配置すら一致していなければハンドルの受け渡しも出来ないんですが…。
という事で、現状は糞一歩手前プラグイン仕様(仮)です(´Д`)

739:名前は開発中のものです。
06/10/05 18:31:29 WFfOZN/r
吉里吉里のプラグイン機構がなかなか無理矢理で参考になるかもしれない

740:167
06/10/05 19:02:45 GiAiv8xj
>739
めっちゃソースコード多いですね、全部読んでたら人生終わりそうです(´Д`)
とりあえず、プラグイン関係を見させてもらいます。情報提供、ありがとうです(´Д`)

741:691
06/10/07 08:59:03 wJ08v4YK
URLリンク(members3.jcom.home.ne.jp)

・バックログできたかも(詳しくはRead Me参照
・文字表示速度がいんちき臭かったので見直した
・ソフトウェアクリア廃止
・一部のシステム用画像を常に保持するようにした

というわけで以前に比べてメモリ喰います。
といってもビビるほど占有したりしないですが・・・。

バックログの文字描画スピードが気がかりだったんだけど、
最適化を繰り返したおかげか、何とか実用に耐えるぐらいにはなってると思ふ。
CPUパワーによっては重く感じるかもしれないんで、ちょっと試してみてくれませんか。

742:名前は開発中のものです。
06/10/10 01:14:00 VVRIseRt
Youその調子でスクリプトじゃなくてGUI化汁!

743:691
06/10/11 00:29:21 szAi/qJj
---------ここからチラ裏

現状報告および開発メモとか愚痴とか

1:ずっと気になっていた文字列の左端が切れる原因がわかった!
縁の幅を考慮してなかったからみたいだぜ
URLリンク(members3.jcom.home.ne.jp)

2:MMXによるピクセル操作について
8バイトづつ処理しようとしたらループ内の命令が多くなって逆に遅くなった(´Д`;)

3:LockRect市ね
今までテクスチャ全体をロックしてたんだけど、それよりも必要な矩形だけを
ロックしたほうが速くなるんじゃなかろうかと考えて実践してみた
つまりちょっとした描画ついてもその都度LockRectを呼ぶ事になるわけだが、これがまた逆に重い…
なるべくLockRectを呼ぶ回数を減らすようにしたほうが速いのかも

4:ビットマップのパレットがわかんないんです(><)

ここまでチラ裏--------------

>>742
すみませんよくわかんないです(><)

744:167
06/10/11 12:58:19 v5NKuri3
URLリンク(abyss-21.hp.infoseek.co.jp)

アップデートしました、し か し 変 更 点 は あ り ま せ ん ( ; ´ Д ` )
内部仕様を大幅に変更しただけです、しかしこの変更のおかげでプラグインが実装できたかも?
二三日以内に、サンプルのプラグインを作成してうp出来るかもしれません(´・ω・`)

745:167
06/10/11 13:04:40 v5NKuri3
追記
>743
GUI化は専用のエディタを作らなければなりなせんよ、よってスクリプトを先に作るべきかと。

たとえば、Text "発言者名", "内容";という命令があった場合、
Text→発言者名と内容を入力→スクリプトをアプリケーション側が記述といった感じでしょうか。
簡単に言えばホームページ作成ソフトと同じですね、HTMLを弄らなくてもノベルゲームが作れるというか。

746:名前は開発中のものです。
06/10/11 13:09:20 9Q/4jY+z
高機能版Yuuki!を目指しちゃいなYO!

747:691
06/10/12 00:23:32 m2DwlIiA
URLリンク(members3.jcom.home.ne.jp) (音なし)

・文字色・フチ色を自由に変更できるようにした
・ホイールの回転で読み進められるようにした
・文字キャッシュの検索方法を変更して高速化?

速度アップのためにいろいろやってみたけど、速くなったんだかなってないんだか・・・
特にメッセージスキップはもっと速くなって欲すぃなぁ
現状を文字で表すなら「ぅおおおおおお・・・・!」だとして、
希望としては「ぅふぬぉおおおおおぉぉぉぉぉお・・・・・!!」ぐらいにはなって欲しい

>>745
エディタかぁ
ゲームよりそういうのを作るほうが好き( ´,_ゝ`)

>>746
同じDelphi製ということで、実は密かに目標・・・というか参考にしてたりして
エディタがユニークだと思う

748:691
06/10/12 04:29:15 m2DwlIiA
URLリンク(members3.jcom.home.ne.jp)

すまん、高速化のいい方法を思いついたので上げなおしだ
メッセージスキップがスーパー速くなったかも試練
あと句読点ウェイト入れてみたよ

つーか寝てねーんだよ! 今日も仕事あqswでrftgyふじこlpあzsxdcf
うわあああああああああああああああああああああ

749:名前は開発中のものです。
06/10/12 22:55:03 4adqTnrf
大学生の俺は暇組み、更に学祭中という神イベント発生中。

750:名前は開発中のものです。
06/10/12 22:56:06 4adqTnrf
はい日本語おかしいですね orz
こんな俺は地方駅弁orzorz

751:名前は開発中のものです。
06/10/13 19:50:48 DxADPv/2
時代は私大だ、国立なんて話にならん。

752:691
06/10/13 20:39:29 YV5yxr+U
流れに逆らってすまんが

ゲーム部分に構造的欠陥がみっかったので一部作り直すことにした。
結果として実行速度を落とさず、且つ処理量を大幅に削減することができた。
超すごいぜおれ!

こんな感じ
URLリンク(members3.jcom.home.ne.jp)
フチを太くしてみたり
URLリンク(members3.jcom.home.ne.jp)
文字間隔を変えてみたり
URLリンク(members3.jcom.home.ne.jp)

そんな超すごいおれからみんなに質問があるんだけど・・
吉里吉里にルール画像を使ったトランジションってあるけど、あれどういうふうにやってるんだろう?
ルール画像を参考にして単純にα値を加算していくのかと思ったんだけど、ルール画像を調べてみると
RGB(0, 0, 0)のピクセルがあるんだよぅ このピクセルは加算していっても意味ないよねぇ

753:167
06/10/13 22:20:01 0R6SaG7C
>691
おめでとうございます!…とも言ってられませんなぁorz
私も頑張りませんと(´・ω・`)

下記の話ですが、私もよく分かりません(´Д`)
ただ、トランジションの種類にもよるかと思われます。

・最終的に、「完全」に入れ替わる場合
・一部混合された状態が、「完全」である場合

恐らく上がトランジションの効果だと思われますが、その場合は誤魔化しているのではないかと。
具体的には、α(α値)×a(比例定数)+1みたいな。いや、想像なので答えにならないかもしれませんが。

754:名前は開発中のものです。
06/10/13 23:36:08 XAQthbNe
ソース見てないから判らないけど

alpha = min(max(a + t,0),255)
a : ルールアルファ
t : -255 → 255

こんな感じじゃないの。
Direct3Dでやるのは難しかったような気がする。

755:名前は開発中のものです。
06/10/14 02:49:19 QHMCKQ0j
普通にPixelshaderかな

756:名前は開発中のものです。
06/10/14 08:38:07 wDIV82eQ
>755
ノベルの動作環境にピクセルシェーダを要求なんて、今現在のところギャグじゃね?

マルチテクスチャでSetTextureStageStateを弄ればなんとかなりそう?
もしくはRenderTargetなテクスチャを使ったマルチパスでも可能なのかな?

757:名前は開発中のものです。
06/10/14 09:59:35 Tkny+AqF
URLリンク(www.nhk.or.jp)

このくらいはやってくれよ

758:691
06/10/14 13:23:33 7hCa6/d9
おおーすげーレスついてる

>>753-754
> α(α値)×a(比例定数)+1
> alpha = min(max(a + t,0),255)

ふーむなるほど
こんなのよく思いつくなぁ

>>755-756
初めて目にする単語ばかりで頭がクラクラしたけど、最期の力を振り絞って調べてみたよ
ピクセルシェーダって、また別にスクリプト書かなくちゃいけないのか・・・
アセンブラみたいだけどこれまた難しそうだなあ
あと実行環境に縛りがあるみたいだね

マルチテクスチャについては、特にここを読んでみた URLリンク(platz.jp)
ああ、えーと? 何が書いてあるのかすら分からないんですが日本語の再勉強からはじめた方がいいでしょうか

うー、この両者はおれにとってはまだ敷居が高そうです
とりあえずPascal+MMXでゴリゴリ書いてみて、それで速度が出ないようなら試してみますー
フレーム毎に全画面書き換えするのが怖くもあるけど、操作するのはαだけだから
それほどクリティカルな速度遅延にはならないはず、と勝手に楽観してます

>>757
URLリンク(gedo-style.net)

759:名前は開発中のものです。
06/10/14 14:31:31 tsJdaQzl
>>754
>Direct3Dでやるのは難しかったような気がする。
これはギャグのつもりか?
普通にalphaテストで出来るよ。

760:691
06/10/14 16:47:20 7hCa6/d9
URLリンク(members3.jcom.home.ne.jp)

うーんできちゃったかもしれん
テクスチャのαチャンネルをクリアあるいは$FFにするためにMMX使ったけど、それ以外はPascal直打ちー
それでも"そこそこ"速度は出てるみたいだ
最適化したらもう少しだけ速くなるかも?

ゲーム中、4回トランジションを行っており、
効果終了までそれぞれ 100, 60, 120, 140 フレームを要するようになってる
命令について詳細は Scenarioフォルダ参照のこと
コントロールキーでメッセージスキップさせちゃうと効果もスキップしちゃうので注意だぜ

ところでZソートがおかしいらしく、文字の描画順がヘンな事に気付いた
まったく、次から次へと問題が見つかるなぁ

761:691
06/10/14 17:36:27 7hCa6/d9
ゲェェーッ文字のα値の計算がおかしい!

一日に何回もすまん、ちょっと修正した
上のリンクに上げ直したよ

762:名前は開発中のものです。
06/10/14 20:59:33 NApT4IfZ
alphatestじゃ滑らかじゃないからヤダヤダ

763:名前は開発中のものです。
06/10/15 00:20:45 H7M4nsmQ
>759
これの一番下こと?
URLリンク(www.platz.or.jp)
アルファテストだと描くか描かないかの二択だから、
クロスフェード的な切り替えは出来ないんじゃ?
って意味か>762 書いてて解った。

>760
例によって強制終了。
最初の
_BgDraw Transition

_BgDraw CrossFade
にかえると、
最初のBGを表示するところまで延命するけど文字が出る前に死。

ついでに環境設定も死。

764:名前は開発中のものです。
06/10/15 00:35:43 H7M4nsmQ
>760
ついでに思いつき。
毎回書き換えなくても、
一度ルールアルファを絵に書き込んだのなら、
あとはD3DTSS_ALPHAOPのD3DTOP_ADDとD3DTOP_SUBTRACTで、
頂点カラーの操作だけで出来そうな。

765:691
06/10/15 01:06:29 ZmNwMkpc
一撃死キタ───(゚皿゚)────!!!!

もしかしたら LockRect の D3DLOCK_DISCARD が悪さをしてるのかもしれん!
いやきっとそうに違いない!そうだったらいいな
しかし該当する部分で書き換えたのはそこぐらいだものな

D3DLOCK_DISCARD フラグを0にしたテスト版です
例によってログを吐きつつ実行しているので、動作がもっさりするかもしれません
うごけ~うごぉけぇえ~
URLリンク(members3.jcom.home.ne.jp)

> D3DTSS_ALPHAOPのD3DTOP_ADDとD3DTOP_SUBTRACT
さっそく調べてみます

766:691
06/10/15 02:35:05 ZmNwMkpc
>>764
SetTextureStageState(0, d3d8.D3DTSS_ALPHAARG1, Dword(D3DTA_TEXTURE));
SetTextureStageState(0, d3d8.D3DTSS_ALPHAARG2, Dword(D3DTA_DIFFUSE));
SetTextureStageState(0, d3d8.D3DTSS_ALPHAOP,   Dword(D3DTOP_ADD));
を設定しつつ頂点色を 0x0~0xFF へインクリメントしてみた。実行速度は確かに速い!
でも最初にルールのα値をそのまま書き込んじゃうと、白いところが最初から白くなっちゃう(´д`;)
(当たり前だ!)

でもこれ、なんかすごくおしいような気がするぜ
もうちょっと研究してみるか

767:名前は開発中のものです。
06/10/15 02:37:25 H7M4nsmQ
環境設定とトラジ未使用で生存。

1: C:\Work\novel_test\imgs\Bg1.bmp を読み込みました
2: ルール画像 C:\Work\novel_test\imgs\左回り.bmp を読み込みました
3: 背景の描画方法はルール画像によるトランジションが選択されました
4: テクスチャのαチャンネルを塗り潰します...

768:名前は開発中のものです。
06/10/15 02:41:11 H7M4nsmQ
>766
前半はSUBTRACTの255->0で

769:691
06/10/15 03:54:36 ZmNwMkpc
URLリンク(members3.jcom.home.ne.jp)

>>768
でけたー!さいこー
トランジションは直ったかもしれない
ループ内でアンロックしてた・・・
なんでおれのPCはこれで動くんだ? おまえどれだけ頑強なのかと問い詰めたわけだが

環境設定は何がいけないのかわからん・・・
もうちょっと見直しが必要だ

770:691
06/10/15 09:18:55 ZmNwMkpc
みんな落ち着いて聞いてほしい
おれもだいぶ落ち着いてきた

さっき友達からグラボ借りてきてドライバ入れたらWindowsがおかしくなった
そしてOS再起動したら

作 業 し て い た H D D が ぶ っ 壊 れ た

BIOSでも認識しないし電源を入れるとカラカラ音がしてシュゥウウウ・・・っていう
OS入れなおしてみたけどだめだった。なぜかDVD-ROMまで応答しなくなった
なんだこれ
おれがなにをしたっていうんだよ最悪だ
なんでよりによってこのタイミングでこのドライブなんだよ
各種パスワードも2chのログも全部消えたのか
眠くなってきたよパトラッシュ・・・

771:名前は開発中のものです。
06/10/15 09:53:53 yU568J+m
今は、おやすみ

772:名前は開発中のものです。
06/10/15 10:19:33 TsWQJW5K
766,768のやり方は軽くていいんだけどその代わり吉里吉里でいうvague値が使えないから
トランジション用のテクスチャをUSAGE_DYNAMICで作って
CPUでアルファ値を書き換えるってやり方もそのうち試してみてもいいと思うよ

と流れを読まずに下記子

773:名前は開発中のものです。
06/10/15 10:51:53 TsWQJW5K
ついでにSUBTRACTは古いグラボで対応してないのがあった気がするんで
機会があったら調べてみるのもいいかもね

と流r

774:691
06/10/15 13:25:52 ZmNwMkpc
あーもうあったまきた
見てろよこうなったらサーバに残ってたソース使って絶対完成させてやるからな!

ただし明日からな!

>>773
実はおれもその話が気になってた
D3DTSS_ALPHAOPを使ったものと、環境依存のないPascalを使ったものの二種類を用意しておけば問題ないかもな

775:名前は開発中のものです。
06/10/15 19:31:36 H7M4nsmQ
ご愁傷様です。
これに懲りずに頑張れ。

ついでに、これに懲りてバックアップ多めに。

>773
SUBTRACTが駄目でも、MODULATEを使えばそれなりに見せられないかな。

>772
これか。
URLリンク(devdoc.kikyou.info)
確かに今のやり方だとvagueが最大?で固定されてしまうのかな。
うーん思いつかない。

776:691
06/10/17 21:43:49 HTib+2UI
おいすー

およそ>>760程度にまで復旧できたぜ!
高速スキップ、トランジション、文字色変更、バックログ、ホイール操作、文字キャッシュ検索高速化など。
つーかカスタマイズしたライブラリまで消えちゃって、これを作り直すのに時間を割いたわけだが(´д`;)
まったくおれの集中力と粘り強さには毎度まいど驚嘆させられるよな

とはいえメッセージスキップから復帰すると100%落ちる(!)のでまだうpできねーです・・・
一回作ったんだから何とかなりそうなものだけどなかなかうまくいかないなぁ

>>775
そのページ読んでみたけどvagueって面白いパラメータだね
αを計算するとき、しきい値を考慮すればできるかな?
うーむ、境界がガクガクになりそうな予感・・・

777:691
06/10/21 04:53:57 D3IMVVB2
URLリンク(members3.jcom.home.ne.jp)

・ウィンドウ位置を保存できるようにした
・トランジションの実行方法をPascalとDirect3Dの二種類から選べるようにした
・ループ内ループをさらに減らして最適化

負荷ちょっとだけ減りました。スキップ速度はこのくらいあればいいよね?
あー、次は変数と条件分岐か・・・

778:名前は開発中のものです。
06/10/21 08:49:29 5+bS6DmJ
>>691
「指定されたファイルが見つかりません。」ですた……

779:691
06/10/21 12:47:23 D3IMVVB2
>>778
(; ・`д・´)
檄スマソ拡張子間違ってた!
なんかJ-COM垢の機嫌が悪いみたいであっぷろーどできなくなっちゃたから、
ゲムデブにご協力いただくことにしますた
URLリンク(gamdev.org)

ついでといっちゃあなんだが
タイトルに戻るとき、音を全部消すようにできてなかったので直しといた

780:167
06/10/21 20:24:51 veRCNjBt
御久し振りで御座います(´Д`)
私は現在、プログラマが死後に堕ちるであろうリファクタリング地獄の三丁目に居りますorz
何時終わるのやら………誰かボスケテ(;´Д`)

一応、次回更新時には
・自動改行
・Z座標の実装
・プラグイン仕様の完全実装
を目標に出来たら良いなとか思ってみたりもしないでもないです。

781:名前は開発中のものです。
06/10/22 05:29:18 0GnJFT5M
良スレage

782:名前は開発中のものです。
06/10/23 23:15:09 phivSpR5
>>779
いいですな~。
軽快に動いてます。
トランジションも良い感じ。
作ってみたいという気になりますた。

783:691
06/10/24 06:22:55 z/n6rwSL
>>782
おお~ありがとう
感想をいただけると張り合いが出るなぁ
このところ仕事が大変でなかなか進まないけど、今後ともこのスレともどもよろしく願いますよ(←偉そう

if文のオペランドのとり方に少し迷ってるよ
これまでの命令文の書式を踏まえるなら
  _if (Hoge=0), *labelname
ってな感じだろうけど、分岐でラベルジャンプしかできないのはなんかかっこわるいよな
条件式のあとに好きな命令を複数入れられたらいいんだろうけど…
  _if (Hoge=0) then
    _Color $FFFFFF
    _Goto *labelname
  _endif;
とか。
でもこれじゃパーサかコンパイラ作るのと同じじゃねとか思ったりして
あくまで「ノベルツール」の本分を忘れないようにしないといけないよな

784:名前は開発中のものです。
06/10/27 10:41:03 c6GTcHI3
どっちが見やすい・理解しやすいかは
プログラマーとプログラマーでない人では感覚が全然違うかんね
難しいところだね ガンガレ

785:691
06/10/29 21:14:45 uPpqMaj3
あんま進んでねぇーーー

URLリンク(members3.jcom.home.ne.jp)

・リンカ(選択肢)のの色を動的に変更できるようにした( !LinkerColor !LinkerEdgeColor )
・タイムウェイト( !TW )の挙動を直した

以前からタイムウェイトの挙動が気になってたんでこの際直しといた
ちなみに0~255までの数値を指定できるぜよ
今回もエラーチェックは甘めなので、添付のソース書き換えるにしても
変な座標とか数値とか指定すると簡単に落ちると思ふ


条件分岐? なにそれ( ´∀`)
条件式で凝ったことやろうと思うとけっこう大変なんだこれが

786:名前は開発中のものです。
06/10/31 22:38:08 sRR/DbRF
空気読まずスマソm(__)m

スキャナー選びでもの凄い悩んでんだけどお勧めのスキャナーない?

787:名前は開発中のものです。
06/11/01 18:27:31 VwaCyLKm
スキャナはA4までだと辛いよ

788:名前は開発中のものです。
06/11/01 18:59:30 hxUT5DqW
ってことは結構高め?

789:名前は開発中のものです。
06/11/01 22:07:04 p3enbp+j
>>785
おまえ元クロヒツジもとい元マグロ漁船のぬだろwwwwwwwwwwwwwwwww

790:691
06/11/01 22:16:11 xDE8tosI
いまのとこ
・ゲーム中、テキストの表示・非表示を切り替えることができるようにした
・文字列型 と 32bit符号付数値型 、真偽値型の変数を使えるようにした

うpはもう少し煮詰めてからにしよう。

変数の宣言・代入について。
現状、代入は即値のみ・オペランドによって変数の型を自動的に判断するようになってる。
例えば
  !var hoge, 255 //これは数値型
  !var hoge, -255 //これも数値型
  !var hoge, 'UNKO' //これは文字列型
  !var hoge, True //これは真偽値型
とか。今後都合が悪くなるようなら仕様変更もありえるな。(←無計画すぎ!
ちなみに数値型はオーバーフロー・アンダーフローが起きないように注意して使うのが必須条件さね。
考えることが多くてそこまで面倒見切れん。

if文の条件式、即値ならすぐできるんだけどなぁ
  !if (Hoge<255) //これなら簡単
  !if (Hoge<255) and ((not Hage) or Unko) xor (Hige='ABCDE') //こんなのどうやったらいのか・・・
逆ポーランド法とか応用したらできるかなぁ

以上、現状報告でした!

791:691
06/11/01 22:24:45 xDE8tosI
>>789
( `∀´)ケケケなんのことやら
おいらはただの数字コテですぜ

792:名前は開発中のものです。
06/11/01 23:27:39 3J8+zwro
>790
!if( Foo<>0 ) and ( 1000/Foo

793:名前は開発中のものです。
06/11/01 23:28:49 3J8+zwro
書きかけで送ってしまった。

>790
!if( Foo<>0 ) and ( 1000/Foo > 5 ) then...
とかだとRPNだとアカンよ、

794:691
06/11/02 22:13:42 Dhql3Jxs
>>793
むむ? なんでなんで? kwsk
divide by 0 とかは関係ないよね

795:名前は開発中のものです。
06/11/02 23:08:39 C7j+kj57
そのとおり、0除算が出るから。
常識的にはFooが0の時には( Foo<>0 )が成立しないので後が何であろうとも全体として不成立になるはず。
しかし、RPN処理の場合は正格評価になるので( 1000/Foo > 5 )を必ず評価してしまうことになる。
(Foo 0 <> 1000 Foo / 5 > and あたりになるかな?)
これは望ましい状態とは言いがたい。
なお、notとxorは正格評価で問題ない。


796:167
06/11/03 10:28:34 MzOzsI/Z
>795
横レスですが、成る程、参考になります(´Д`)
とはいえ、RPNの便利さは捨てられませんが………orz

797:名前は開発中のものです。
06/11/03 11:49:55 GIcTFPfW
おまけ:いくつかのスクリプト/プログラミング言語でのANDの評価(ORも同様)。

C/C++   &&    短絡 *1
java    &&    短絡
VB     And    正格
       AndAlso  短絡
delphi   and    短絡
scheme  and    短絡
perl    &&,and  短絡
TJS2     &&    短絡
NScripter *2

*1 C++で演算子オーバロードした時は正格
*2 なし:式を扱えない

798:691
06/11/03 20:02:48 LiNNIOVd
>>795
すごくよくわかった。795タンは物知りだなぁ(*´∀`*)
それと>>797を見る限り、短絡評価のほうが誤解がなくてよさそうだね
うーん、どうしたらいいんだろう

  (a) Foo 0 <> 1000 Foo / 5 > and
  (a-1) Foo 0 <>
  (a-2) 1000 Foo / 5 >
  (a-3) <a-1> <a-2> and

(a)をこういうブロックに大別して…、普通に上から順に式を評価していくだろ?
評価の過程で divide by 0 が出そうだと判明したら、
実際の計算はせず、「そのままだとエラーが出そうだ」という情報だけを記憶しておく。
んで(a-3)にきたら、まず<a-1>をみて、偽なら<a-2>の評価は無視して全体の評価として「偽」を返す。
<a-1>が真の場合、続いて<a-2>の評価を見るわけだが、「エラーが出そうだ情報」を記憶しているときは
これ以上続けるわけにもいかんので、これまでの作業をすべて放擲して if 文を抜ける、とか。

なんだ・・・おれは何を書いているんだ?わけわかんなくなってきt


ここまで↓作ってはしゃいでたら(-2*-5)とかの単項演算子が使えないことに気づいたorz
URLリンク(members3.jcom.home.ne.jp)
付け足していくより最初からやり直したほうがはやそうだ…
また明日か…

799:名前は開発中のものです。
06/11/03 20:44:41 GIcTFPfW
>798
こんなんはどう? RPN作る/処理するのが面倒になるけど。

A and B
 A #dup not #ifskip<N> #pop B #marker<N>
A or B
 A #dup #ifskip<N> #pop B #marker<N>

#dup スタックの一番上を複製する
#pop スタックの一番上を捨てる
#ifskip<N> スタックの一番上を取り出し、
trueなら#marker<N>まで読み飛ばす
 falseならそのまま続行
#marker<N> 読み飛ばされる
※入れ子になる場合があるのでNが重複しないよう気をつけること。

A and B and C
 A #dup not #ifskip<N1> #pop B #dup not #ifskip<N2> #pop C #marker<N2> #marker<N1>
( Foo<>0 ) and ( 1000/Foo > 5 )
 Foo 0 <> #dup not #ifskip<0> #pop 1000 Foo / 5 > #marker<0>

三項演算子もできるかな
A?B:C
A #ifskip<N1> C #ifskip<N2> #marker<N1> B #marker<N2>

800:名前は開発中のものです。
06/11/03 22:23:23 GIcTFPfW
>798
> URLリンク(members3.jcom.home.ne.jp)
(25*Hage/24)が 25 Hage 24 / *、つまり/が*より優先になってる(or 右結合になってる)けどOKなの?

801:167
06/11/03 23:12:17 MzOzsI/Z
複雑なRPNですね一度基盤を(自力で)作り上げたのに、今から組み直すのはぞっとします(;´Д`)
とりあえず、今はVer1.0を目指して頑張っていこうかなと。作業が八割方終了したので、近々新Ver出せそうです(´Д`)

802:名前は開発中のものです。
06/11/03 23:15:24 LErpqGYA
【スクリプトをちょっと紹介させてください】
アドベンチャーゲーム用スクリプトシステム「MICoスクリプト」を開発しました。
軽いこと&商用ゲームでの使用可能な高性能を目指して設計しており
複雑な演出も簡単に作れるシステムです。
詳しい紹介は公開サイトにありますので、よろしければ使ってみてください。

公開サイト
URLリンク(mico.x0.com)


803:名前は開発中のものです。
06/11/03 23:37:17 pcqCA54V
ダウンロードできません

804:名前は開発中のものです。
06/11/04 00:20:08 s0zwtZjj
URLに¥をつけるなんて、相当●●だなぁ。大丈夫か?>>802

URLリンク(mico.x0.com)
URLリンク(mico.x0.com)


805:名前は開発中のものです。
06/11/04 12:59:51 zX4Hlg4d
ぬはDelphiなんだよな。のらだいこさんとこのやつは見たのか?

806:名前は開発中のものです。
06/11/04 14:03:18 uWIJc3Ba
のらだいこ本人乙。

807:名前は開発中のものです。
06/11/04 20:39:01 zX4Hlg4d
俺は違うぜwwwwwww通りすがりのVIPPERwwwwwwwww

808:名前は開発中のものです。
06/11/05 14:24:28 bBy3ooVM
再び空気読まずスマソ

ペンタって何インチぐらいがいい?

809:691
06/11/06 06:03:55 /PkNNPJx
オハヨー

URLリンク(members3.jcom.home.ne.jp)

ここ↓のを参考にして、Delphi に移植してみた。これはすごい!
URLリンク(www.h4.dion.ne.jp)

実際の計算は行わず、中置記法を逆ポーランド記法に返還するだけのものだ。
↑に倣って、式が変だったりするとエラーを出力するようになってるはず。
ちなみに演算子の優先順位は以下の通り。Delphi と一緒やね。
優先順位は括弧を使って変更できるよ。

1 位(最高)   not,-(単項演算子、RPN 上では neg に変換される)
2 位             *,/,mod,and
3 位             +,-,or,xor
4 位(最低)   =,<>,<,>,<=,>=

しかし式が複雑になるほど変換するコストが気になるなぁ
果たしてループ内でストレスなく機能してくれるだろうか?
インタプリタの限界はどこだ。

810:691
06/11/06 06:47:54 /PkNNPJx
>>799
んー、難しい! 
これ、not はどこに掛かってるの?
だめだ、仕事終わってからまた考えよう。
>>800
あと右結合、直ってると思いますぜよ

>>801
ガンガレ。超ガンガレ

>>805
情報thxですよ。こんな便利なものがあるとは知らなかった。
んでも、今やってることってそれほど難しいことじゃないから、まずは自分で作ってみたいんだよね。
などと大見栄を切ってみるテスト。もう後には引けないぜ?

>>808
わかんないけど33インチぐらいでいいんじゃね
URLリンク(www.pentaputter.com)

811:名前は開発中のものです。
06/11/06 07:07:41 WD4G+Tat
>810
A and B → A #dup not #ifskip<N> #pop B #marker<N>
を例にする(A,Bは真偽値を返すRPN式)。
[]はスタック状態(左がスタックトップ)、
//以降はコメント。

●Aがtrueの時
[]
 A #dup not #ifskip<N> #pop B #marker<N>
[true]
 #dup not #ifskip<N> #pop B #marker<N>
[true,true]
 not #ifskip<N> #pop B #marker<N>
[false,true]
 #ifskip<N> #pop B #marker<N> //偽だったので読み飛ばしは無し
[true]
 #pop B #marker<N> //結果はBのみで決まるのでAは要らない
[]
 B #marker<N>
[B]
 #marker<N> //マーカは読み飛ばす
[B]
 (END)

812:続き
06/11/06 07:08:58 WD4G+Tat
●Aがfalseの時
[]
 A #dup not #ifskip<N> #pop B #marker<N>
[false]
 #dup not #ifskip<N> #pop B #marker<N>
[false,false]
 not #ifskip<N> #pop B #marker<N>
[true,false]
 #ifskip<N> #pop B #marker<N> //真なので対応するマーカまで読み飛ばす
[false]
 (END)

813:167
06/11/09 10:39:11 FF84JFMS
ほしゅ(´Д`)
ソースコードの変更は既に終わったのですが、パフォーマンスが極端に落ちてますorz
なので、プロファイラを入れてあっちこっちを弄る日々………誰かボスケテorz

814:167
06/11/09 13:36:01 FF84JFMS
誰か見ている事を期待しつつ。何とか、パフォーマンスが極度に落ちている部分を発見しました(´Д`)
ですが、何故落ちているのかが理解出来ず………誰か説明出来ますか?orz

if((m_Log_Text.at(m_It)>=(char)0x81 && m_Log_Text.at(m_It)<=(char)0x9F) || (m_Log_Text.at(m_It)>=(char)0xE0 && m_Log_Text.at(m_It)<=(char)0xFF)){
m_It += 2;
}




if((m_Log_Text.at(m_It)>=0x81 && m_Log_Text.at(m_It)<=0x9F) || (m_Log_Text.at(m_It)>=0xE0 && m_Log_Text.at(m_It)<=0xFF)){
m_It += 2;
}

と変えるとパフォーマンスが急激に悪化します、ただのキャストの有無だけなのに何故なのでしょう(´Д`)

815:名前は開発中のものです。
06/11/09 14:38:01 zlLv3Pnq
みてるよノシ
けどサパーリワカラン

816:名前は開発中のものです。
06/11/09 14:53:50 +EWAYAdH
>814 increase warning level of your compiler!

817:名前は開発中のものです。
06/11/09 15:17:42 z1ieNEFL
パフォーマンスはさておき、一時変数作れよ
比較式を見直せよ

unsigned char hoge = static_cast<unsigned char>(m_Log_Text.at(m_It));
if( !(hoge < 0xA0 && hoge > 0xDF) ){}

818:167
06/11/09 20:25:13 FF84JFMS
基本的に、そこでしか.atは使っていないのでたった4つの命令で一時変数を作るのもどうかと思い(´Д`)
あと、直感的ではない比較式は極力使わないようにしています。オープンソースを前提に制作していますので('='

819:名前は開発中のものです。
06/11/09 20:37:44 +EWAYAdH
多分そのif文には
 else ++m_It;
が続くと思うけど、テーブル作っておけばいいんじゃね。
 m_It += TABLE[m_Log_Text.at(m_It)+OFFSET];

 m_It += TABLE[m_Log_Text.at(m_It)&MASK];
みたいな感じで。

820:167
06/11/09 21:10:31 FF84JFMS
>816
何か、警告が出るという事でしょうか?
>817
呼び出し頻度が高くない部分なので、テーブルにするまでもないかと。
三角関数みたいな複雑かつ演算に時間を要するものでしたらテーブルを作った方が良いかもしれませんが、
上記のは比較的単純な比較式で出来ますし。テーブルを作る分だけ、余計にキャッシュを圧迫しそうです(´Д`)

821:名前は開発中のものです。
06/11/09 21:53:59 +EWAYAdH
適当に補ってその部分だけコンパイルしたら
 a.cc:14: warning: comparison is always false due to limited range of data type
 a.cc:14: warning: comparison is always true due to limited range of data type
 a.cc:15: warning: comparison is always false due to limited range of data type
 a.cc:15: warning: comparison is always true due to limited range of data type
とか。


> 呼び出し頻度が高くない部分なので、
ならそもそもボトルネックにならないはず。

> テーブルを作る分だけ、余計にキャッシュを圧迫しそうです
が、分岐は排除できるぞ。

822:167
06/11/09 22:37:42 FF84JFMS
>821
う~ん、適当に補ったからだと思われますです。
/Src/AbyssLib/Command/Cmd_text.cpp内に、具体的なソースはあります(´Д`)

全体としての呼び出し頻度は高くないのですよ、ぶっちゃけスクリプトのtext命令が実行されている間にしか使われません。
だからこそ、何でこんなところが重くなるのか疑問なワケで………(;´Д`)

あと、単純な分岐条件なだけにテーブル作るまでも無いかなと。

823:名前は開発中のものです。
06/11/09 23:07:47 oeKHxQcL
/Src/AbyssLib/Command/Cmd_text.cpp内、とか言われても、そのソースはどこだよ

824:167
06/11/09 23:30:24 FF84JFMS
URLリンク(abyss-21.hp.infoseek.co.jp)です、すっかり貼り忘れてました(´Д`)
最新Verではなく、ひとつ手前ではありますが………。

825:名前は開発中のものです。
06/11/09 23:35:47 oeKHxQcL
落とせないし、そもそもURLリンク(abyss-21.hp.infoseek.co.jp)にもアクセスできないが?

826:167
06/11/09 23:37:39 FF84JFMS
確認しました、どうやらinfoseekが落ちている様ですね。
先日も落ちてましたし、落ち易いのかもしれません(´Д`)

827:名前は開発中のものです。
06/11/10 13:48:20 n/BNIL0m
>基本的に、そこでしか.atは使っていないのでたった4つの命令で一時変数を作るのもどうかと思い(´Д`)
>あと、直感的ではない比較式は極力使わないようにしています。オープンソースを前提に制作していますので('='

>三角関数みたいな複雑かつ演算に時間を要するものでしたらテーブルを作った方が良いかもしれませんが、
>上記のは比較的単純な比較式で出来ますし。テーブルを作る分だけ、余計にキャッシュを圧迫しそうです(´Д`)

>あと、単純な分岐条件なだけにテーブル作るまでも無いかなと。

やれやれ
こんな調子じゃ>>814の疑問に回答したとしても理解できるとは思えんな

828:167
06/11/10 18:55:58 5S9vD1uX
>827
理解出来るかどうかは分かりませんが、回答出来るのでしたらお願い出来ればと('='

829:名前は開発中のものです。
06/11/10 19:55:35 jEDzoqtR
if((m_Log_Text.at(m_It)>=(char)0x81 && m_Log_Text.at(m_It)<=(char)0x9F) || (m_Log_Text.at(m_It)>=(char)0xE0 && m_Log_Text.at(m_It)<=(char)0xFF)){
m_It += 2;
}




if((m_Log_Text.at(m_It)>=0x81 && m_Log_Text.at(m_It)<=0x9F) || (m_Log_Text.at(m_It)>=0xE0 && m_Log_Text.at(m_It)<=0xFF)){
m_It += 2;
}

は、意味が、結果が異なってるってのは分かってる?

830:名前は開発中のものです。
06/11/10 20:30:11 5S9vD1uX
上は右辺がchar型にキャストされるので比較時に左辺の返り値はそのまま、
下は右辺がint型なので比較時に左辺の返り値がintにキャストされる、でしょうか?
多分そうだとは思うのですが、確証は持てません(汗

831:167
06/11/10 20:37:23 5S9vD1uX
↑は167でした(汗

832:名前は開発中のものです。
06/11/10 20:41:34 jEDzoqtR
何言ってるのかよくわからんが、違う。
char + charはint型を返す。そんなことじゃない。

0x81は正の整数で、(char)0x81は負の整数だ。
WindowsのVCはcharは符号付の型だからな。

でm_Log_Textはstring型で、at()の戻り値はchar型だ。つまり下の
>m_Log_Text.at(m_It)>=0x81
は必ずfalseになる。charは128以上を表せない。

よって、中途半端なマルチバイトが出来上がるわけだ。
これが表示されなかったり、生成が遅かったりすると、処理落ちしたように見える。

つまり、その式が遅いわけではない。

何がプロファイルとった、だよ。嘘付くな。取ってないだろ。

833:167
06/11/10 21:08:21 5S9vD1uX
成る程、理解出来ました。有難う御座いますm(_ _)m

>何がプロファイルとった、だよ。嘘付くな。取ってないだろ。
嘘じゃあないですよ、実際とりましたがプロファイラでは分からなかったので、
原因が上記の部分だと断定するのに変更前と変更後のソースを比較してチェックしていました。
プロファイラの結果を役立てて断定したのかと問われれば、確かにそうではありませんが(´Д`)

ともあれ、重ね重ね有難う御座います。

834:名前は開発中のものです。
06/11/10 21:40:30 nTN0QHiT
なぜか科学者とノミのジョークを思い出した

835:名前は開発中のものです。
06/11/11 02:03:37 fPVPryGm
なんだかんだ言っても、やることをやる>>832に漢気を感じた。
ガンガレ!!>>167

836:691
06/11/11 22:58:51 Y1RZBpHm
おっすおら>>691
ほぼ一週間ぶりのプログラミング。
なんで人間は好きなことだけをして生きていけないんだぜ?


ごちゃごちゃやってみた結果、ようやく変数への式の代入ができるようになった( ゜д゜)
これで if 文に取り掛かれるぜ
懸念してたパーサの動作速度はあんまり気にならなさそうなので安心した

>>811-812
ありがとう!超よくわかっただぜ
このPRNを作るのはそんなに手間じゃなさそうなので近近にはできると思うよ

837:691
06/11/14 05:58:13 CtgyW8K3
URLリンク(members3.jcom.home.ne.jp)

・ゲーム中、右ボタンクリックやスペース押下でテキストの表示・非表示を切り替えることができるようにした
・スクリプト記述でインデントできるようになった(半角スペースまたはTAB)
・変数を使えるようになった
・命令の引数に変数を仕込めるようになった
・システム定数を定義した(True/Falseやトランジションとかに使うやつなどなど)
・!if、 !else、 !endif の実装

これまでのように変数名や命令名は大文字小文字を判断しません。

>>790で書いた通り、変数の型は第二引数によって自動的に判断されます。
  !var hoge, 255 //これは数値型 
  !var hige, 'UNKO' //これは文字列型 
  !var hage, True //これは真偽値型 
  !var UNKO, hoge+100 //これは「数値型変数+数値」なので数値型

なお演算は型が同じもの同士でないと行えません。
こんなのはだめ。
  !var hige, 'UNKO' //higeは文字列型 
  !var hage, True //hage真偽値型 
  !var hoge, hige+hage //「文字列型+真偽値型 」なのでシンタックスエラー。この行は無かったことに

いろいろ考えたのですが、数値に対しては論理演算は行えないようにしました。
  !var hoge, "$0000FFFF or $FFFF0000" //こんなのはだめ
こんなのあっても使わんと思うし。

838:691
06/11/14 06:03:12 CtgyW8K3
んで、今回の更新分でこんなことができるようになった。

!var Hoge, true
!var hige, true
//スペースを含む式はダブルクォートで囲んでやってくだちぃ
//そのうち、そんなことしなくていいように直すと思うだぜ
!if "hoge and hige"
    あいうえお
    !TextDraw
    !cw
    //if文をネストさせてみる
    !if False
        かきくけこ
        !TextDraw
        !cw
    !else
        さしすせそ
        !TextDraw
        !cw
    !endif
!else
    たちつてと
    !TextDraw
    !cw
!endif

これを実行すると
「あいうえお(クリック)さしすせそ(クリック)」
と表示される…、はず。


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