1 :
名前は開発中のものです。 :
2006/11/05(日) 19:38:18 ID:cVqN/Dcb アリスソフトのゲーム開発で使われているsystem4.0のスレです。
長所
・フリー
・C/C++ JAVAっぽい(オブジェクト指向 仮想マシン)
・ゲーム製作に特化している
・ADV、SLG、3Dダンジョン、なんでも作れる
・同梱されているチュートリアルが親切、解りやすい
・実際にアリスソフトで使用されている言語なので、力さえされば同じレベルのものが作れる
短所
・使用者が少ないため、参考にするサイトが少ない
・専用エディタが無い
アリスソフト公式 ユーザークラブ専用ページからDL可(登録無料)
ttp://www.alicesoft.com/
あまりにも書き込みがないので、もうちょいどんなもんか書くね。 C/C++は扱ったことがないけど、見る限りでは似ていると思う。 JAVAやC/C++を使ったことがある人なら、同梱されているチュートリアル通り一通りやればすぐ慣れる(と思う)。 VBやツクール系が中心だった人には解り辛いとは思うけど、ちゃんとプログラムしてゲーム作りたい人には良い。 どのへんがC/C++やJAVAと比べてゲーム作成に向いているかというと、SACT2という関数集がデフォで使える。 SACT2はゲーム作成で良く使う、BGM・効果音、キー・マウス・コントローラー入力、画面エフェクト、シナリオ記述系、 CG表示、セーブ・ロード関係などの関数が入っている。アリスソフトで実際に使われているものなので、ゲーム作成 に最低限必要なものはまず入っていると思って良い。
3 :
名前は開発中のものです。 :2006/11/08(水) 22:42:22 ID:mp/TpNLw
ユーザー数少ないよね。 好きなんだけどな。
4 :
名前は開発中のものです。 :2006/11/08(水) 22:52:24 ID:mp/TpNLw
外部のDLLを利用できるおかげで高い拡張性を持ってるはずだけど、 対応したDLL作ってる有志も見かけない。 ユーザ数増えれば大化けする可能性はあるかも・・・と思ってたが いつまで経っても化けないね・・・
>>4 高い拡張性が逆にアダになっている。
初心者には、機能限定したほうが使いやすいし、外部DLL作れるやつなら
いっそのこと全部自分で作ってしまったほうが自由にできる。
ツール類がGUI化されて、外部ツールが作りにくくなったことも、
ユーザーが増えない原因になっていると思う。
6 :
名前は開発中のものです。 :2006/11/08(水) 23:20:49 ID:mp/TpNLw
>>5 まぁそうだね。位置づけが中途半端。
いちおう初心者向けにポポリタンも用意されてるけど、あれも何か微妙だしなぁ。
でも、SACT2を使ったスプライトの扱いやすさはなかなかのもんだと思うんだけどな・・・
ポポリタンは微妙だね。 熟練者セットのチュートリアルに書いてあることだけで、簡単なADVは作れるようになるんだから 最初からそっちやったほうが良いかもね。
ちょいと質問。 A.jaf B.jafと作って、A.jafからB.jafの↓を呼び出したところ 二週目以降もif(!g_bSys_Mouseon)の中を通ってしまう。 これは一体何が悪いんだろう? //グローバル変数 bool g_bSys_Mouseon = false;//fMouse_Onマウスオーバ状態取得 true:ON false:OFF //マウスオーバー時表示切替(int 非オーバー時画像, int オーバー時画像, // int マウスオーバー時サウンド(省略時無音)) void fMouse_On(int nSpA, int nSpB, int nSnd = 0) { int nX = -1, nY = -1; MOUSE_GET_POS(nX, nY); if (SP_IN_POINT(nSpA, nX, nY)) {//マウスがSPの上なら if(!nSnd == 0){//サウンドがあれば if(!g_bSys_Mouseon){//一週目なら(*ここ毎回通る) g_bSys_Mouseon = true;//SP上に乗っかったフラグ立てる SND_PLAY(nSnd, false);//音鳴らす } } SP_SET_SHOW(nSpA, false);//SPAを非表示 SP_SET_SHOW(nSpB, true);//SPBを表示 } else {//マウスがSP上に無ければ g_bSys_Mouseon = false;//フラグ消す SP_SET_SHOW(nSpA, true); SP_SET_SHOW(nSpB, false); } }
9 :
8 :2006/11/11(土) 02:12:18 ID:OvZEkYov
>>8 だけど自己解決したわ。
並列にAとB、座標の違うスプライトで呼び出したとすると、
Aではtrueだけど、Bではfalseって状態になるのね。
それで、trueとfalseが瞬間的に切り替えられまくった訳だった。
hosyu
System3.9と4.0では簡単に言ってどう違うの?
データの入ったファイルを読み込ませる為の外部DLLを作ろうと思ったが 確かWin32DLLを作る技術・環境がなくて諦めた……
>>11 大きく違うのはスクリプト言語と、基本機能。
>>12 技術はともかく環境は無料版のVisual C++ 2005 Express Edition使えばできそうな気がする。
やったことがないので環境が作れるかわからんけど。
やったことある人いる?
>>13 スクリプトが違うというのは、
今3.9でadv作ってる自分などは
4.0にすぐには入っていけない感じでしょうか?
分かってなくてすんません。
SYSTEM4.0はプログラムを囓ったことがあるかどうかでかなり違うと思う。 DLできるんだから、とりあえず試してみるのが一番っすよ。
ちょっと見てみたけど、難しそうかなという感想。。 ただ、やってできなくもなさそう。 ところでSystem3.9で組んだスクリプトって 今後の4.xでもずーっと実行できるままでいてくれるのかな?
テンクス!
>17 System3.xと4.xのスクリプトに互換性はない。 仕様や設計も違うから、 たとえ変換ツールを作ってもそこからかなりの修正がいるから 4.xに移行するならすべて1から書いたほうがいいでしょうとは開発者の談。
>>18 文字入力はInputStringよりもダイアログのDLLの方を使う方が楽だとオモ。特に
何か装飾を施すのでなければ。あとボタンの文字は、わざわざフォトショップとかで
作るの面倒でね?
まずボタン用のメッセージ枠用意して、その中にフォント指定で書き込み、
そのSPをQNT形式で別フォルダに書き出したものを使う方が楽だと思う。
ちなみに俺は構造体を使わんので、ソースみてもよくわかんなかった。
>>18 吉田のCGの形式は256色ですか?
24ビットじゃないと、上手く表示されませんよ。
24 :
18 :2006/11/24(金) 11:19:09 ID:qkNaccPU
>>21 ダイアログのdllもあったんだね。見逃してた。
>>23 めんどくなって、変になったままにしちゃった。
//グローバル array@int@4 Status[1000][1000][1000]; OK、ブラクラだ。 ∧_∧ ∧_∧ (´<_` ) 流石だよな俺ら。 ( ´_ゝ`) / ⌒i / \ | | / / ̄ ̄ ̄ ̄/ | __(__ニつ/ FMV / .| .|____ \/____/ (u ⊃ ガガガガ・・・・
一つ忘れた。
RPG作り始めたが結構作りやすいな。 Allocをallocと書いてエラーもらってた時はどうしようかと思ったが。
ちょこっとADV作るぐらいならSys3.xの方がいいかもな。 公式じゃもう公開されてないけど。
なんとかRPGの戦闘部分とMAP部分の作成完了。 30対30戦闘まで出来るが普通にソース分かりにくいなこりゃ。
それはソースの書き方ががが
>>31 SRPGじゃなくて、RPGで30VS30の戦闘なの?
なんかもう、それだけでやってみたい。
過疎だぜ。
class Input // キー入力 { public: void initialize( int KEY_CODE ); void update(); bool trigger(); bool raw(); private: bool m_trigger; bool m_raw; bool m_newStatus; int m_keyCode; }; void Input::initialize( int KEY_CODE ) // キーコード { m_keyCode = KEY_CODE; m_raw = false; m_trigger = false; m_newStatus = false; }
void Input::update() // 更新 { m_newStatus = KEY_IS_DOWN( m_keyCode ); m_trigger = m_newStatus & ( m_newStatus ^ m_raw ); m_raw = m_newStatus; } bool Input::trigger() // 押した瞬間だけ真 { return m_trigger; } bool Input::raw() // 押してる間ずっと真 { return m_raw; } 以上 大したことないコードだけど書き込みも少ないので貼ってみる
プログラム殆どやったことないんだけど、いきなりコレから始めるのはどうなんだろう? やっぱり難しいかな。
ADVやノベル作るんならお勧めしない。 他のツール使ったほうが簡単だし、労力も少なくて済む。 RPGやシミュレーション、パズル等、ノベル系以外のものを作るつもりなら、 難しくてもチャレンジする価値はある。 ただし、ある程度プログラミングの経験がないと労力かけた割りに しょぼいものしか作れないってことになりかねない。
他のツール使ったことないから分からないんだけど、具体的にRPGとか作る時どう違うの? 配列関数を使えるスクリプトなら結局、それなりに出来ると思うんだけど。
C 言語だとか C++ 言語はロジックを組むためのものだから 組んだロジックは何らかの API 関数やグラフィックライブラリを叩いて 画面なりメモリなりに出力しなければならない。 だから C + コンソール機 とか C + Windows(DirectX) とかいう組み合わせが生じる。 Flush なんかだと ActionScript(Javaベースだっけ) + Flush で自前で全部まかなう事が出来、 System4 もそれと似てて、System4 は C++ と CG 表示ライブラリが一体化したようなものなので Windowsアプリケーションとしてのゲームを自前で完結させやすい。という事だと思う。 俺の中ではそういう認識
つまり、吉里吉里とかYU−RISと比べると、どんな具合? 記述方の使い易さはともかくとして、できることはそんな変わらない?
結局小難しいことをやろうとすると拡張DLLとかつくんないとならないので吉里吉里とかと一緒。
記述のしやすさは、ちゃんと「スクリプト言語」として設計されている吉里吉里の方が上。
System4.0のこの文法は劣化C++でしょ、これじゃC++とかで書いてるのと大差ないし
C++かけるやつはこんなのじゃなくてC++つかう。これはスクリプト言語としての設計を間違ってるとしか
言いようがない。
標準付属のライブラリとしては4.0の方が上かな。
YU-RISはプラグインとか使えないしあの文法ではすこしめんどくさい記述をしようとすると
すぐにめんどくさくなるので全然同じ土俵に上がれない。
ところでこいつの実行速度ってどんなもんなんだろうか
ttp://gamdev.org/w/?%5B%5B%A5%CE%A5%D9%A5%EB%A5%C4%A1%BC%A5%EB%C1%AA%B9%CD%5D%5D だれかこれやってみない?(おれの環境は相当昔にすてちゃった)
まあ自分で使いやすいように設計してるだけだから 社内で使う分には間違って無いわな。
久々に弄ってて思ったんだが読み込める外部データって画像と音楽だけだよな ゲームのデータとかを纏めた外部テキストとか読み込ませるにはどうすれば良いんだ テキストの入出力関数はないし……スクリプトに埋め込むしかないのか?
埋め込んだ方が早いんじゃない? どうしてもっていうなら自分でDLL作るしかないと思う。
system4.0ってswf読み込むことできますか?
swfを読み込んでサーフェースへ流し込むDLLを作ればいいんじゃね?
swfを読み込めるゲーム開発環境なんてあるのか? OPがFlushくさい物は、スプライトをバンバン動かしてたり アフィン変換をかけたりしてるからそう見えるだけで 実際にはプログラマーが手動で回してるか、専用の補助ツールでも作って アニメーションを出力してるかのどっちかだと思うけど
っ [吉里吉里]
保守
このツール、今日初めて触ったけどいいな。 色々と自作しなくてはいけない部分もあるが、吉里吉里よりイベント処理とかしやすい気がす。 少しアクションさせたいとかある場合こっちのがいいかもな。
動作が速いので結構気に入ってる。まあ細かいことやろうとすると手間はかかるが。 玄人向けだな。
どんぐらいはやいの?
ユーザークラブページで入手できるZEROはアクション系ゲームだから 参考になるのでは
デカいスプライトを動かそうとするととんでもなく遅かったことがあるのだが あれはSys4が悪かったのかデカいスプライトを動かそうと思った俺が馬鹿だったのか・・・ ちなみにデカいスプライトというのは 640x480 の一枚絵
なにをしようとしていたのか激しく気になる。
全画面スクロールとかよくやるけど遅いって感じたことないですよ?>800x600 なにをしようとしたんすか?
その全画面スクロールをやろうとしてた。 ノートPCだったのがマズかったのかもしれん・・・アリスの3DダンジョンRPGは快適に動くので それくらいなら大丈夫だろうと思ってたんだけど
ここんところずっとSystem4.0を使ってゲーム作りの準備をしているが 戦国ランスとかどうやってプログラムしているか激しく気になる
>>55 1ループ毎にnドットずつ動かすんでなくて、
最初のフレーム描画時からの経過時間を元に
スプライトの移動先を決定してやれば
高速PCではぬるぬるに、低速PCではかくかくに
でも移動スピードは同じになって良いと思うお
データの定義部分とか言われても困るんだが、どうわからないんだ
データの定義なんて、 1.キャラクターは構造体配列で持つ。 2.イベントはフラグ配列を持つ。 で終了だと思うぞ。
>>62 各キャラのステとかかな?
そんなら、HLLライブラリに入ってるData.hllを使ってんじゃね?
DA.aldがないから違うんでない?
>>58 多分影データの半透明合成が遅いんじゃないかな?
4.0は使ったことないけど、3.9だと大きな画面を重ね合わせると結構重くなった。
4.0で使っているルーチンは、3.9と同じか多少チューニングしただけのものじゃないかと思う。
68 :
59 :2007/02/01(木) 23:01:44 ID:IDNuqbFW
>>63 ごめん言葉足らずで
だいたい
>>65 の言うとおりキャラ単位のステータスの定義の仕方
自分の場合は構造体を用意して
・各々のメンバを直接指定してデータを入れる
・ある程度データを一括で指定できるメソッドを作ってそれを利用
の二つを用途に応じて使い分けているんだけどデータが増えてくると
メンテとかでしんどい事になりそうだなあって思ったんだ
もうちっと効率よく出来たりするのかなあとか
あとSACT2のCG〜関数のヘルプの解説、端折りすぎで困った
DirectDrawを少し勉強していたからか何となく理解は出来るんだけど
>>68 それって、構造の定義の問題というより、データの入力や登録、管理メンテナンスが大変だってことかな?
だったら、EXCELかなんかでデータ入力して、CSV吐いて読ませるか、
VBAで初期化設定ソース吐き出すようにすればいいんじゃない?
スクリプト内に直接、大量のデータ設定を記述すると見づらいし、
項目が増えたときメンテナンスがめんどくさい。一覧性にも劣るし、一括修正もしにくい。
だからデータはデータで別管理したほうがいいと思う。
俺は大量データを扱うときは、EXCELでやるか専用の管理入力ツール作ることにしている。
そういう話じゃなかったらごめん。
System4の話というより、SLGの作り方だから他で聞いた方が早そうだ
>>69 うい、そう言う話です
ゲームを作ろうと考えてSystem4.0に本格着手する前には
自分もCSV形式でデータ一覧を作って読み込ませようと思ってたのですけど、
System4.0にテキストのI/Oコマンドが見当たらなかった為、一度はHSP辺りに
流れたのですがHSPはHSPで自分的に問題があって、いろいろ吟味した結果
データの部分を別ファイルで管理する事を諦めてSystem4.0に舞い戻って来たんですよ
スクリプトで初期設定ソースを自動的に吐かせるのは良いアイデアかも……
HLLライブラリにCSVを読み込ませるっぽいプログラムがあるのが気になりますが
ちゃんとData.hllっていう例だしてくれてるじゃまいか。HLLライブラリ確認しる。 それでも気に入らなきゃ、VC++あたりで自作する必要有り。
>>72 ライブラリを見てみましたが何となく判ったような判らないような……
ひとまず色々と弄ってみます
>>73 File.hllの方を使うってのは? こっちのほうが使い方簡単そう。
構造体丸ごとセーブロードできるみたいだから、
保存フォーマット解析して、互換データ作成して、それを読ませるとか。
まあ、初期化ソース吐かせるのが一番簡単そうな気がするが。
Data.hllの説明が少なくて使い方が解り辛いなら、ACXLoaderは? こっちも同じような機能だけど、マニュアル入ってるから使いやすいと思う。
System4.0らしい質問でもしてみるか 先日からAliceCG2.exeでのCG圧縮がうまくいかない 圧縮はうまくいくんだがリンクの段階で §リンク番号抽出 。 ・・・・・・・・・ ───────────────────────── §ALDに保存 保存:000% ───────────────────────── リンク失敗 ━━━━━━━━━━━━━━━━━━━━━━━━━ ● エラーが発生したた処理を中断しました ● ━━━━━━━━━━━━━━━━━━━━━━━━━ ×××× ← みたいになる 最後に上手くいった時から構成を変えずにやってもダメだった 生成されていたALDを消したりしても変わらない もう少し詳しいエラー内容が判ればなあ
>>76 たぶんフォルダがないとか、空き容量がないとかそんなところでは?
リンクは基本的にコピーしてるだけだから、エラーの原因なんて、
そのくらいしか考えられん。
圧縮なら、画像が壊れてるとかあるけど。
>>77 最初の頃からずっとRAMディスク上で開発をしてて
一応aldの生成先はDIR.HEDを弄って変えてあるけど
今の今まで問題なくaldを生成出来てたんだよなあ
RAMディスクも空きは900MBはあるから容量不足ではないと思うし……
わからんね
>>78 RAMディスクなら、フォルダ消えちゃってるとか、フォルダ作り直したときに
名前間違ってるとかない?
AliceCG2.exeはフォルダを作らないから、フォルダがなかったり
名前を間違っていたりするとエラーになる。
落ち着いてフォルダ名や設定を見直してみろ。
最初から使えないんならともかく、今まで使えていたんなら、
設定を間違えているか、環境が違うか、どこかで絶対ミスをしている。
でなきゃRAMディスクが壊れているか、AliceCG2.exeが壊れているかだな。
80 :
76 :2007/02/04(日) 22:40:49 ID:uBfiBkcc
一度開発環境を作り直してみたら直った あと、aldの生成先をAliceCG2と同じフォルダにしてみたけど これは関係あるのか判らないなあ…… System4.0のWikiとか作ってみようかなあ
応援できるかどうか判らないけど時間があったら是非応援したい
祈ってるから頑張れ
>>80 >あと、aldの生成先をAliceCG2と同じフォルダにしてみたけど
>これは関係あるのか判らないなあ……
関係ない。
ALDはどこにでも作れる。
おそらくフォルダ名が間違っていたからRAMディスクが壊れていたんだろうと思う。
>>83 誤 -> おそらくフォルダ名が間違っていたからRAMディスクが壊れていたんだろうと思う。
正 -> おそらくフォルダ名が間違っていたか、RAMディスクが壊れていたんだろうと思う。
保守
WAVEファイルにループ情報を埋め込むのは 公式だと故意にはぐらかされている気がするぜ。
フリーの効果音でループ情報入ってるものが WA.ald(だっけ)に格納できないのが不便
できるよ。wavLinkerは使えないけど。 まあ上書き保存すればどっちみち使えるしね。
System4.0で使えるMIDI系のDLLってあるのかな…… RPGツクール2000みたいにデータ内の特定コマンドでループさせたり ついでにWaveも使えたりして鳴らす位置や音量を変えたりとか出来ると もっと良いけど
>>89 自分で使ってないからどんな感じか解らないけど
「れつとれ」でググってみ
smplチャンク入りのWAVって、アリスの独自仕様なのかな。
それとも市販の波形エディタとかで吐けたりします?
とりあえずFLStudioでループポインタ設置したのはだめでした。
まあ
>>90 のサイトのツールを使わせてもらえばいいけど。
>>90 やっぱりこれくらいしかないのかなあ
何にせよSystem4.0はこの手のにしては情報が少なくてこまる
やはりWikiを展開すべきか
なさそうだったら自作してねって主旨のツールだからな
とはいえ、インターフェイスの仕様書もまともに無いんじゃ、ちょっとC++組める程度の人はお手上げだし、 上級者でも、解析に手間がかかって、労力の割りに得られる成果が少ない。 サイトのSDKは2004年12月のだから、そろそろ新しいやつを出して欲しいところだけど、 その時にはマニュアルを何とかしてもらいたいよねぇ。 それとも、このまま、放置するつもりかな? いい加減2年以上だからなぁ。
当初「どーせ誰も欲しがらないだろうから公開しない」と言ってたモノを、 一部の欲しがってた人の声に押されて公開したけど やっぱり誰も使ってくれないからモチベーションも上がらない のではないかと思う
wiki作ってもどう内容を増やすかっていうのはあるな。 範囲が広すぎてちまちまやってるだけじゃ 中途半端で終わるんじゃなかろうか。
マニュアルは親切なんだけど肝心なところでが足りない感じなので それを補うようなwikiが作れればいいと思うんだが それはそれで大変そうだ
まあ作ってみて損はないんじゃね? とりあえずSYS4関連のリンクだけでも貼って。 れつとれのサイトも>90に聞いて始めて分かったし、公式リンクが 役に立たない状態なら、わりとこういうのって必要だと思う。 あとはこんなコンパイラーエラーはこんな解決試してみてとか 公式のF&Aの内容を有志でまとめればいいと思うけど。
>>95 これほど使いにくいものだとは思っても見なかったからなぁ。
言語仕様はともかく、ツール系が半端にGUIになったものだから、
使いにくい上、サポートツールも作れない。
それで、3.x用のツール作ってた作者がみんな移行せずに脱落していった。
せめてコマンドライン版のシナリオコンパイラがあれば、
3.xのときのツールがそのまま、あるいは多少の変更で使えたんだが。
これそんなに使いにくいかなあ… 最近いじりはじめたけどなかなか面白い セーブやスプライトの環境が標準であるから、生の言語でやるより手っ取り早い 3.xは使った事がないから比較出来ないけど 不便なところはα付きのPNGを直接読めないのと、 サクラエディタの行番号指定に対応してないのぐらい ただ情報量はとにかく足りてないから、Wikiが出来れば活用したい
101 :
名前は開発中のものです。 :2007/02/23(金) 14:34:10 ID:9fIswmW7
全く無知の状態から、これ使ってゲーム作ろうとあれこれやってるんだけど、 参考になるサイトとかが少ないし、あっても情報量が少ない Wikiができればこれから始めようという人達にとっても有用なんじゃないかと と言いつつ自分でWiki立てる気力は無いんだよなぁ・・・
希望多いみたいなんでSYS4のWiki立ててみようかなあと思うんだけど、 使いやすいWikiって何? 立てたことどころか使ったことほとんどないのでよくわからんorz
>>100 一回慣れちまえばそうでもないかもしれんが、これまで慣れ親しんできた
ツールや環境から乗り換えるとなると、非常にストレスがたまるもんだ。
特に便利だと思っていた機能がなくなってしまうと、その機能がある別のツールに
乗り換えちまおうってやつらも出てくる。
3.xから4.xへの移行が進まないのは、言語とツール二ついっぺんに変更を
迫られたせいじゃないかと思っている。
>100 サクラエディタのパラメータをBBSで書けば対応してくれるかも。 公開初期にもそういうのあったし。
105 :
名前は開発中のものです。 :2007/02/23(金) 20:24:08 ID:9fIswmW7
>>103 その辺は3.xを使った事無いのが良かったのかもしれない
でもアリスの中の人はどうしてるんだろう
別のツールやらライブラリやらを使ってるんだろうか
>>104 サポート無しの物にそこまでは頼みにくいということで、中継用のexeを作ってみた
いちいちDOS窓が出るけど一応行番号付きで開ける
Wikiが出来たらお祝いにアップロードしようかと思ってる
アリス社内でも移行時は苦労したって日記かどっかに書いてあったきがする
>>102 人気があるという面ではここもある。
ttp://atwiki.jp/ 3.Xからの移行組だが、4に慣れると3.Xで何書いてあるのか全然わかんなくなってた。
そういう意味で乗り換えにくいってのはあるけど、単純に性能で見ても、4は今のままだといまいち、
GALZOOや戦国等での仕様を見るに、最新版になれば3.Xから乗り換えられる物になると思う。
>>108 >そういう意味で乗り換えにくいってのはあるけど、単純に性能で見ても、4は今のままだといまいち、
まあ、ほとんどのDLLが3.9時代の流用だからなぁ。
ようは、3.9本体の機能削って、残ったDLLとVM+αで4.0作ったような感じ。
VMの中間コードがマシンコードに近いものになっている分、
解析に時間がかかるようになっている可能性もある。
ベンチマーク取ったわけじゃないから、実際どうだかはわからないけど。
>GALZOOや戦国等での仕様を見るに、最新版になれば3.Xから乗り換えられる物になると思う。
なんかほとんどが専用DLLで、汎用で使えるものは少ないような気がする。
3.xどころか他のツールも使った事無い 初心者の自分からしてみれば 4も十分使いやすいと思う まあ凝った事しないからかも知れないけど ただ指南サイトがほとんど無いのが初心者にはキツイ れつとれとRubyEye以外はC言語のサイトで何とか覚えたって感じだ やっぱりwiki欲しいな
GALZOOはともかく、戦国ランスは特に変な処理してるとこはなかったような 選択肢は画像選択式のにしてあるけど、それもDLL使わずに出来そうだし 凝った事というか、画面切り替えのエフェクトとか文字表示は弱いかもしれない ゴシックと明朝だけだし文字の大きさを細かく変えるのも難しい でもRPGやSLGには相性が良いと思う イベント処理にADVの機能が要るんだけど、純粋なADVじゃないもの
暇だったので戦国と開発環境のDLL比べてみた 同じ ALDLoader.dll D3D9Factory.dll DrawPluginManager.dll File.dll InputString.dll MainSystem.dll MsgLogManager.dll MsgLogViewer.dll MsgSkip.dll OutputLog.dll SACT2.dll SurfaceFactory.dll SystemService.dll XXILoader.dll verUP 1.1.2.0 L 1.1.4.0 DecodeCG.dll 1.0.1.0 L 1.0.2.0 DecodeOGG.dll 1.0.7.0 L 1.0.8.0 DrawGraph.dll 2.0.3.0 L 2.0.4.0 DrawText2.dll 1.0.7.0 L 1.0.8.0 EncodeCG.dll 2.8.3.0 L 2.4.0.0 GLEffectCopy.dll 2.1.0.0 L 2.1.1.0 Graph.dll 1.0.2.0 L 1.0.4.0 Math.dll 1.0.2.0 L 1.0.4.0 MusicSystem.dll 1.0.1.0 L 1.0.3.0 PlayMovie.dll 1.0.0.0 L 1.0.2.0 SactEngine.dll 2.1.2.0 L 2.1.4.0 Sound2.dll 2.2.1.0 L 2.2.7.0 Sys42VM.dll 新規:Confirm2.dll AliceLogo2.dll(新規違うけど) 削除:GraphSSE.dll
SDKの次バージョンが公開されるのはいつごろかねえ? 3D表示関係とかも組み込まれてると便利なんだけどなあ。
>>113 疑似3Dダンジョンしか作れませんがよろしいですか?w
(俺は構わないが・・・)
>>113 分からないことがあったら人に聞く!
というわけで、公式掲示板に書き込むか、メールで
今後の予定を載せてくれるよう要望出してみたらどうだろ。
数多ければ答えてくれそうな気はする。
112をみた感じ、既存のDLLのチューニングぐらいしかやってなさそうだから、 更新と言ってもそれほどネタがあるとは思えない 3Dダンジョン用のSDKを公開してくれるとうれしいけどな あとインテリジェンスなエディタを付けてくれると(超)神
>3Dダンジョン用のSDKを公開してくれるとうれしいけどな データ込みでつけてくれると色々応用が利きそうだな。 >あとインテリジェンスなエディタを付けてくれると(超)神 VC使ってDLL書けばすぐにでもインテリジェンス。 VMの言語微妙だし、なんか全部VCで書いたほうが楽なような気がしてきた。
WIKI作った。どうしよう。
Wiki作ったのに公開しないとか本末転倒だから とりあえず晒す
乙乙 しかしどこから手を付けたらいいものだろう Sys4を触ってて感じたことをとりあえず適当に蓄積してもいい?
>>121 乙
レスポンスいいし見やすいいいWikiだな
とりあえず雑多に蓄積してって、その後メモの内容を
種類別にまとめていけばいいんじゃないかな。
メモページ作ったので、下らないことから面白めなことまで
とにかく書いていってくれ。俺何もできん。
>>125 実はWIKIの機能をよく分からないんだ……。
そのうち不便と思ったら編集よろしく。
唐突に皆がSystem4.0開発時に使っているエディタを聞いてみる 俺はMkEditorをメインに補助でEmEditorFreeを使っているんだが みんなはどんな感じ? お勧めのエディタとかある?
xyzzyをメインに、旧ソースとの比較にExamDiffかな
約束の
>>106 を上げてきた
でも他のエディタ使った方がいいような気もしてきてる
特におすすめのエディタというわけじゃない
VS 使えないときは Vim 使ってる バリバリなタイプじゃないけど・・・
Vim のシンタックスファイルを wiki に上げてみた。 あまり上等なものではないが、打ち間違いを見つける位なら何とか。
まとめwikiだが、どうやらbmpが画像扱いされてない気がする wikiで設定できるものなのか、サーバーレベルで変えないといけない設定なのかしらないけど もし可能なのであればbmpをブラウザ上で表示されるようにしといてほしい
bmpは対応してないブラウザも多いから、絵として扱ってないんだと思う ああいう場合はマスク画像と一緒にZIPにしたらいいんじゃね? サンプルの絵が必要なら、サムネイルをjpgかなんかで置けばいいし
疑似3Dダンジョンで十分だから、フリーで使用可能なDLLとかどっかにないかな? れつとれの使わせてもらおうと思ったら、全画面←→Window切り替えるとバグるのなorz
Q&Aのページ吹いた。 おもしろいからいいけど何だよ、あの文体w
オフィシャルBBSでもたまに見る翻訳口調だなw しかしwikiが充実してきてかなりありがたい CG加工関連で詰まってたから大助かりだよ
閲覧者29人に対し更新がほんの少しって悲しいぜ。 それとどこかで宣伝した方がいい気がするぜ。
ひそひそ話BBSは? アリスのゲームはしないのにSys4は使わせてもらってるけどいいのかな。 以前はおまけCDでしか入手できなかったから買ったけど。
Q&A良いね。ルーミス先生みたいだ。
140 :
名前は開発中のものです。 :2007/03/10(土) 03:08:14 ID:aUnE9wbo
>>137 ブログにリンク貼っといた
けど人少ないからほとんど意味ナス
141 :
名前は開発中のものです。 :2007/03/10(土) 04:34:49 ID:hPHPqpMO
いきなり意味不明広告ワロタ
普通なら広告がウザイからsageろという場面かもしれないが まぁ人もいないことだし別にどっちでも・・・
システムメニューをスプライトで作成しているのですが メニューを開いている間にメニュー以外の部分をクリックすると メッセージが先に進んでしまいます。 MENU_SELECTと同様な処理(メニュー以外をクリックしても無効) にするにはどうすればいいかどなたかご教授ください。
選択肢として固定すればいいぜ。 具体的にはループかければいいぜ。 いま直感でソース打ってみた。ためしてないんで エラーだすかもしれんがこんな感じ。 void しすてむめにゅー(void) { int nX,nY; int 習得; SP_SET_CG(1,100); SP_SET_CG(2,100); for(;;){ MOUSE_GET_POS(nX,nY); 習得 = SP_IN_POINT(1, nX, nY); if(習得 == true) {せーぶ;} 習得 = SP_IN_POINT(2, nX, nY); if(習得 == true){goto 戻る} 戻る: } void せーぶ(void) {'せーぶ'A;}
おわ。forは戻るの上に【}】つけて閉じるのね。
}は戻る:の下では? 下の習得はラベル使わないで continue;でforループの内側に飛ばすのはどうだろう っつーか自分はそうやってる ラベルのコロンとセミコロンまちがえてエラー出す事多くてさ……
ちなみに、二回目の選択肢の後は、どっち選んでも止まるので テキスト全部見たかったらセーブしとくのがオススメ。 ってか、5分で終わるからそんくらいしかセーブすることない。
150 :
144 :2007/03/11(日) 03:56:45 ID:4iS92qP3
ありがとうございます。さっそくやってみます。
151 :
144 :2007/03/11(日) 05:11:42 ID:4iS92qP3
私なりに
>>145 氏のソースを使用して作りました。
void しすてむめにゅー(void)
{
int nX,nY;
int 習得;
SP_SET_CG(1,100); //セーブボタン
SP_SET_CG(2,100); //メニュー閉じるボタン
for(;;){
if(KEY_IS_DOWN(VK_LBUTTON)){
MOUSE_GET_POS(nX,nY);
習得 = SP_IN_POINT(1, nX, nY); if(習得 == true) {せーぶ;}
習得 = SP_IN_POINT(2, nX, nY); if(習得 == true){
SP_DEL(1);
SP_DEL(2);
return;}
}
}
これでなんとかうまくたちまわりました。
どうもありがとうございました。
習得の部分は SP_IN_POINT(1, nX, nY) == true){せーぶ;} SP_IN_POINT(2, nX, nY) == true){ SP_DEL(1); SP_DEL(2); return;} こうすれば変数いらんね。 あと場合に応じてSACT_UPDATE();を適当に貼り付けて。 今更だけど、セットCGでなくクリエイトの方で説明した方が良かったなと思った。
>153 w 俺も似たようなことこと考えて、戦国ランス持ってる人対象にADVゲーム作ろうかなあと思ってCG抜き出して番号とか確認したんだけど、 アリスって同人OKだけど、改造とかゲームデータ使用することはキッパシハッキリ禁止してるんでやめたんだけど こーいうのOKなのか?
ゲームから画像を抜き出して配布するのはアウトなので 「ALDから画像データを取り出して作った壁紙はNGだが ALDから画像データを取り出して壁紙を作るようなプログラムは問題ない」 と解釈してる。 というかまぁ、 「ゲームは自前で用意してください」という、PDA移植とかコンバータ系ツールで よく暗黙のボーダーラインとして認識されてる線にならってるだけだけど
駄目だろ
製品持ってないと遊べないし、配布してるモノに抜き出した画像やら含めてるわけじゃないし、良いんでね?
五月蠅くいいたかないが、以下の通り。
アリスソフトの製品をモチーフとした”二次創作作品”については、
個人もしくは同人サークル等で趣味の範疇での場合に限り特に制限しません。
ただし、製品内の画像や文章などの素材、
もしくは素材の加工物の引用・転用などは二次創作物と認めておりません。
(素材の加工や引用・転用は著作権法に抵触する場合がありますのでご注意下さい)
ttp://www.alicesoft.com/annai.html
配布したり加工したりする権利がアリスソフトにある、 だからお金を出して買ったユーザーでもそれをすることはできない、とここまでは前提とした上で、 CGを(一人の)ユーザーが配布するんじゃなくて (他の)ユーザーが自分で調達する形にすれば 「(一人の)ユーザーによる配布」ではなくて 「(他の)ユーザーによる私的な利用の範囲」になる という事で出てくるのが>157なんだと思う 今回の例が転用か引用に当てはまるとアリスに言われれば、それはもう考える余地もなく駄目なんだろうけど 具体的に言われた例があるのかどうか知らない
160 :
名前は開発中のものです。 :2007/03/13(火) 07:16:14 ID:L8ToowX8
Nスクで作られた月姫、ひぐらしなんかはシナリオ部分だけを変更しての オリジナルシナリオ作成が月姫工場やひぐらしのオリスクなどでできる。 こちらは、どちらも製作者がメーカーに直接問い合わせて許可をもらったらしい。 それ以外には、DNMLというやつもあるが、こちらはメーカーの許可を得ないで 著作権的にグレーゾーンのまま勝手にやっているものもある。 今回だけならともかく、次もあるとしたらグレーゾーンに甘えるよりもメーカーに 問い合わせて許可をもらった方がいいと思う。
鬼畜王ランスがフリー公開されたときにADVゲーム作ろうと思ったけど、 改造含めて禁止って明記されてたから諦めたんだよな。
月やひぐらしは元が同人だからゆるいんじゃないだろうか。 以前ぶちょが、アリスのスタッフ応募のために作るゲームなら 「本当は良くないけど」と前置きしてゲームから抜いた素材使ってもいい、 みたいな事書いてたよね。 問い合わせてみたら意外な結果が出るかも知れない。
倉庫番懐かしいな。 こういうマップもゲームボーイの時はよく見かけたんだけど、 最近ダイレクトにマップデータを表示することがなくなったね。 ちなみに倉庫番の場合、最低でも自機中央6×6じゃないと 押してつまるかどうか一見で分からないから、かなりシビアになる。 サンプルだし、その辺は気にしなくてもいいんだけど。
>>153 ちなみに俺は著作権云々よりも
テニスのままで起動できたことに興味をひかれた。
どうも仕様が大分変わってるっぽい。
wikiやられてるな。
4/1ネタだろ。多分
今年こそはと思いつつも、今年もやられた。
ちょっと他言語使ってる人間からの素朴な質問なんだけど・・・ >・C/C++ JAVAっぽい(オブジェクト指向 仮想マシン) >・ADV、SLG、3Dダンジョン、なんでも作れる >・専用エディタが無い って、system4.0使える人間ならD言語+そこら辺のゲーム向けライブラリのDポート使えばもっと幸せになれる気がしたんだけど 何でsystem4.0使うの? 調べてみたんだけど3.x時代の資産が使えない上に4.0って更新されてなくない? 簡単にゲーム作れる環境がほしいんじゃなくてRGSSみたいなゲーム特化ライブラリが欲しいの?
なぜそこでD言語が出てくるのか判らないが・・・ 実際問題、ナントカ言語+グラフィックライブラリ を使いこなせる人なら System4を使うメリットは小さい とにかく簡単にゲームを作りたい初心者にとっても、メリットは小さい アリスソフトがどんな環境を使ってるのか知りたい、というのが多分一番大きな理由だと思う 配布元も当初は「誰も欲しがらないだろう」と言ってたし・・・ あえて言えば、Win32APIに対するMFCみたいな感じの 誰かが整備した比較的高級なライブラリがほしい人にはありがたい・・・かもしれない
アリスのゲームやったら面白かったから
自分もアリス儲wだからかな。 アリスみたいなゲーム作りてーってのが一番の動機だ。 いや、そこまでできませんけどね。 それと他のツールや言語ロクに使った事無いから、 System4が面倒くさいのかどうかすら良く解らない。 CG表示周りが簡単でラッキーと思ってるくらいだ。
sys3.5から始めてそのまま4.0に移ったから。 今更吉里吉里に移るのもめんどいし……。
このくらいのまんどい具合が自分には丁度いい。 汎用言語レベルになるとライブラリがあってもやる気出なす。 あと、アリスの実行ランタイムは何万という人間が起動してるから 信頼性も期待できるかなーという考え。 不特定多数向けに頒布するようなゲームを作るとなると 「起ち上がりすらしねぇぞモルァ」みたいなクレームが不安だし。
すまんすっごくくだらない事なんだけど SACT2のシナリオ記述で C; で改行してキー入力待ちする時、 R; C; だと次のメッセージが改行無しで表示されることってない? C; R; にすれば問題ないんだけど、なんか気持ち悪い。 でもマニュアルだと R; C; なんだよなあ。
まあ仕様だと思う。 Cを打った時点で、文字を何文字出力したかを読み、 次の開始位置を計算してるんじゃないかな。
どうしても気になるんなら、void RC(void){C;R;}とかでも良いわけだし、 マニュアルミスはよくあることだから、気にかけることないと思う。
>>175-176 d
仕様なのかー
自分の書き方がどこか間違ってるのかと思ってずっと悩んでたw
wikiの蓄積メモ見て思ったんだけどテキスト送りのwaitってどの位にしてる? マニュアル通り100にするとかなりもっさりだし 0だと余韻が無い気がするし とりあえず0,25,50,100で選択出来るようにしてみたけどどんなもんだろう
寂れている……。ところで質問なんだけど、 矩形効果とテクスチャラップって何? いまいちどんな加工なのかよく分からない。
180 :
名前は開発中のものです。 :2007/04/19(木) 18:15:59 ID:WksY0tBK
>>178 文字数にもよるんだろうね。たとえば、ぱすチャCみたいな
小さいMSGウィンドウにセリフを乗せていくものだとウェイト0でも
違和感ないんだけど、ノベルとか長い一行のものは多少の文字送りがほしい。
で、一行40字、最大3行だとウェイトは大体5〜10くらいでやってる。
25だとちょっと遅め。
ウェイト10、いいね。 25文字×5行でやってるけど個人的にはいい感じだ。
ちょっとMIDI演奏用のMVillage.dllなるものをSystem4.0に導入しようと思ったけど 何かうまくいかない C++が殆ど読めないのが辛いなあ そもそも使えるのかどうかも怪しくなってきた
ma.aldが使えるわけでもなし、mciPlay.dllの方がいいんじゃ?
>>184 そうなんだけど、かつてツクールの為に用意していたループ仕様のMIDIを、
ここで利用したいと思ってね……
今後DLLを利用したい場合の予行練習にもなるかとおもってさ
DLL作ったことないから知らんけど、 Sys4のインタフェースに合わせたDLLが必要だから 使いまわしはできんのでわ?
引数が無いとかintのやりとりのみとかならそのまま使えそう。 文字列渡しとかがいるなら 橋渡し用のDLLを作る必要があるだろうけど。
最近ネタがない。
質問ですが、少し興味がある程度ではこれは使えないんでしょうか? 自分がパソコン関連で知ってるのはタグでHP作るのとアクセス、エクセル、ワードくらいです
使える使えないで言えば使えない。 つか、趣味のゲーム製作は勉強と製作にかけるモチベーションが全てなので やる気を持ち続けられるならいつかできるようになるけど
結局のところ、概念が分かればすぐ使えるようになる。 だがその概念の理解がちょっと興味あるだけの段階だと難しい。 解説もWIKIとかあるし、公式掲示板での質問もあるけど、 「分からないところが分からない」という状況になりやすいわけだ。 個人的にアリスの開発環境の中で、アリスCDにあったSYS3.6は初心者にも 一番分かりやすかったんだけど、いまは、ある意味ではSYS4より分かりにくい SYS3.9しか配布されてないしな〜。 更新もされないし、>189には吉里吉里2の方が向いている気がする。 で、まず吉里吉里で作って、それが理解できるようになったなら、 SYS4もすぐ出来るようになると思う。 ちょっと仕様が違うだけで基本概念は同じだから。
ほんと、そろそろSYS4更新してほしいよなー
管理人として、せめてWIKIのバックアップとか 取らなきゃいけないのかなと思うが取り方が分からん。 というわけで取ってないんだけど、いいのかなあ。
Wikiを作ったことがないんだが 原始的にディレクトリ丸々コピーじゃ駄目なのだろうか
SYS4じゃなくてごめん。 SYS38ディスコンパイラって今は公開されてないの? SYS36とSYS39は見つけたけど。
>>194 俺がWIKIを作成しているわけじゃないんだ。
あくまでもWIKIWIKIのレンタル。
>>195 ALD展開ソフトじゃ駄目?
くだらない質問ですみません。 ビルドとリビルドはどう違うのでしょうか? 速度は体感した限りだと変わりないようなのですが……。
ビルド…最後のコンパイル時から手の加えられてないソースはコンパイルをヌルーする リビルド…とにかく全部コンパイルする 非力なPCでソースファイル数がめちゃんこ多いプロジェクトだと体感に違いが出るかも。 想像でレスしますた。
System4.0だと何か使い道あったっけ?<リビルド VCだと.libあたり更新したら 使ってる側をリビルドしないとリンクエラーになるけど。
古いソースをバックアップから戻してきた時なんかは要るんじゃないか?
たびたびの質問で申し訳ありません。 カスタムスプライトに登録するというのは どんな意味があるのでしょうか?
特に意味はないのですね。
WIKIに繋げない……。 WIKIWIKI自体が潰れた? ところで関数って、多いと何かデメリットはあるんでしょうか? 作りやすいのでいらなそうなものまで作っているんですが。
特に無い。 自分で何の関数があるかわからなくなった、なんてのは知らんがw
きちんと構造化して、再利用しやすい形でモジュール化してるなら いつか役に立つときが来るかも知れないから 趣味のプログラム書いてるだけなら別に何作ってもいいと思う さすがに、完膚無きまでに役に立たないのを作ってもどうしようもないが それは自分で適当に判断するということで
>>205-206 問題ないんですねー。じゃあビル真っ二つ関数は
そのまま残しておくことにします。
ありがとうございましたー。
激しく気になる>ビル真っ二つ関数
どっちかというとライブラリ的に再利用するってより まとめて見やすくするとか何度も使うとかっていう関数だなw<真っ二つ
int ビル真っ二つ() とかできるのがSys4の良いところ(違
あれ? WIKI復活してる?
最近RPG制作が、はやってるみたいな感じだ。
そうか?
きんさかさんとルビーアイさんとこと れつとれさんとこかな。
何も書くことないから書いておこう 更新乙
参照変数で気になったのですが、使い方は 戻り値 = 一つ 参照変数 = 複数の戻り値 ということでいいのでしょうか?
戻り値というと「数が返す値」しか思いつかないので
その文章は意味がよくわからんのだが・・・
一つの変数に結びついている参照変数は、元の値と同じ値を返す。
そして、一つの参照変数に複数の変数が結びついている状態はありえない。
なので
>>216 はちょっと勘違いしてる気がする。
違ってたらすまん
int func(void)だとint一つしか返せないけど、 void func(ref int a, ref int b)だとint二つ返せるよね、ってことじゃね? 使い方の一つとしては間違ってないと思うけど、 >216の書き方だとどういう理解をしてるのか俺には分からん。
>>218 はい。そういうことです。
一つの関数が自身の内部で、別な計算用の関数を呼び出し、
自身のローカル変数の値を、その計算用の関数で計算されるローカル変数の値に変更する時、
returnで計算された結果を返し、その戻り値を=するか あるいは
参照変数型での引き数を使うと思いますが、
その際
単独のローカル変数を変更するのであれば 戻り値を=
複数のローカル変数を同時に変更するのであれば 参照変数型での引き数
を使用するということでいいのでしょうか?
という風に聞きたかったのです。分かりにくくてすみませんでした。
まあ構造体組んでそいつを返せば無理やりできんことはないが、 普通は構造体なんかに値突っ込むときも参照だわな。
ほっしゅ
ちょっと困りました。 コンパイルエラーが出たとき、アウトプットに出力される、 ファイルにリンクされた文字をクリックしても、そのファイルを開けません。 (例:gamemain.jaf(7):構造体【a】は宣言されていません) ~~~~~~~~~~~~~~~~~ここ クリックすると、 "C:\サンプル\source\gamemain.jaf(7)"が見当たりません 新規作成しますか? というダイアログが表示されます。何故でしょうか。 ちなみにエディターはテラパッドです。
環境設定でパラメータがないやつは ファイル名の最後に行数までくっつけてエディタに送っちゃうから。 >"C:\サンプル\source\gamemain.jaf(7)"が見当たりません の(7)がそれ。
ありがとうございます! 秀丸エディターに設定したらちゃんと開けました。
225 :
名前は開発中のものです。 :2007/07/07(土) 12:55:13 ID:LDQTU85a
処理に関して質問です キャラクターの移動をママトトやままにょにょみたいに表したく SP_GET_POS( 0, x, y); for( i=0; i<4; i++){ x = x + 8; SP_SET_POS( 0 ,x ,y); SACT_UPDATE(); W(100); } 上記のように8ドットづつ動かしたいのですが、 実際に実行してみると 0.1秒に8ドットづつ32ドット右に移動する場合と 0.4秒待ってから一気に32ドット移動する場合があります なぜ分かれてしまうのでしょうか? }
void game_main(void) { SP_CREATE(1, 200, 200, 255, 0, 0, 255); int i; int x = 0; int y = 0; SP_GET_POS( 1, x, y); for(i=0; i<4; i++){ x = x + 8; SP_SET_POS( 1 ,x ,y); SACT_UPDATE(100); } '移動'A; game_main; } とりあえずやってみたけど、一気に進むのが再現できないので 何故分かれるのか分からん。一気に32ドット進むのは、UPDATEができていないからだと 思うけど、別にUPDATEするのに何か条件を入れているわけじゃないしね。仮にforの 中身がスルーされているならそもそも進むことすらないわけだし。 どういう状況で分かれるのか教えてもらえると助かる。 あと、変数の宣言はGOかLOか? どんな数値が入っているか? 他のスプライトに重なってたりして見えなくなっているということはないか? といったことなんかも。移動用関数としてあるなら、そのままのせて欲しい。
228 :
名前は開発中のものです。 :2007/07/08(日) 13:44:11 ID:jNRdLWCe
>227 待機モーションでnSp1の方が表示されているときに移動しようとすると、 nSp0が未表示になってるから移動が見えないんだと思われ。 移動の時にnSp0を表示するようにするか、現在表示されている方を移動させるようにすれば 直ると思われます。
移動時の表示の切り替えを正したら直りました。 回答下さった方ありがとうございました。
hosyu
保守
system 4.0ってさオブジェクトの再利用ってどうすんの? クラスの継承もprototypeによる委譲もMix-inもないけどさ。 演算子オーバライドも無いからメンバアクセスをprototypeにリダイレクトもできないし。 それにこれのどこがOOPなの?言語仕様が劣化C++でライブラリ設計がベターCじゃん。 使ってる人はどうやってOO実現してるの? 名前空間もパッケージも無いけどモジュール性の確保とかどうするの?
下手をすれば、未だに構造化すらされていないスクリプトのエンジンが動いてるような エロゲ業界においては、最も進んだプログラムパラダイムに位置しているシステムのうちの一つ、 という意味で、オブジェクト指向に近いという程度の話。 一方で、学問的な美しさとは程遠い泥臭さも強い。 言語仕様が劣化C++でライブラリ設計がベターCってのは、全く持ってその通り。 天才級のプログラマ達が、長年かけて積み上げてきたシステム設計ハックを Sys4が言語的にサポートした所で、それを(PGとしては)にわか仕立てである ライターやグラフィッカーが使いこなせなければ意味がない。 要するに、アレがサポートされてない、コレがサポートされてないと 何でもブーたれる本職のプログラマは、素直にアレとコレがサポートされている言語を選んで 足りないゲームライブラリを自前で書けば良い。と俺は思う
そう考えると吉里吉里のTJSはエロゲにはとんでもないオーバーテクノロジーなんだな、 今風の動的なパラダイム満載言語は。 作者のハードウェアとソフトウェアを頭の中で分離出来てなくて アセンブリで関数エミュレートして動的リンクとか言ってたのは、流石に何言ってんだコイツ? とか思ったけど、エロゲ界のマだと普通なんだろうか。
難しい言語話している人達は日本人ですか? トーシロの私はさっぱりわからんべさ。 楽できないアレがほしいという部分はあるけど、ウィザードリィを作ろうと思えば 作れるスクリプト、そのくらいの機能があるだけでとりあえずは十分だと思えてしまう。 そして、そういう点でいえば吉里吉里よりも(個人的に)使いやすい。 私的にはセーブ日時やクリアデータの保存ぐらいにしか構造体は必要ない、 ぶっちゃけじゃま〜と考えている人間だけど、これって少数派ですかね。
ウィザードリィ作ろうと思うと構造体欲しくないか?
配列で十分かな。
アリスソフトは分業が確立されてるから ゲームくむひととシステムつくるひととライブラリつくるひとが 分かれてる(システムとライブラリは同じ人かも試練) みんながそれぞれ仕事をやりやすくするための落としどころが 劣化C++でライブラリ設計がベターCってところなのかもね。 あくまでも市販ソフトを作るための社内ツールなので、社員にとって 使いやすいか、嫌らしいバグを生み出しにくいような設計になってるか、 機能性よりも安定性か、、あたりが重視されてるんだとおも。 そういえば社内ではゲームくむひとの都合でSystem3.xライクな 命令名のライブラリを使ってるんじゃないっけ?
BASIC時代じゃないんだからそりゃ分業はするだろ。 とくにエロゲなら徹底的に分業すると思う。 分業した結果ならなおさら劣化C++構文は負担になりそうだけど。
専任のプログラマがSys4の上に更にゲームシステムを構築した上で 他のスタッフに投げる事を想定してるみたいだから 末端のシナリオ関数はBASIC的な形式にしてしまっても何ら問題ない。 プログラマはプログラマで、DLLを作ってSys4に組み込むことができる。 商業ベースで定期的にソフトを出すのでエンジンが必要で、 ADVだけでなくRPGやSLGにも持って行きたいが、エンジンを複数抱える余裕はない。 ゲームの規模が小さくないので、まるで構造化されてないコードは管理が難しく、オブジェクト指向を取り入れるメリットもある。 しかし所詮エロゲメーカーなので社員数も少なく、エンジンに触れる人をプログラマだけに限定できるわけでもないので 本物のオブジェクト指向設計を強いることは現実的ではない。 同じコードを使い回すことでエンジンを安定させたいが、タイトルによっては 固有のC++&DirectXのコードを拡張できる余地は残したい。 という完全にアリスソフトの内向きの都合でできてるものなので、変態仕様なのは百も承知してる。 プログラマの立場から見るなら、 C++の機能が使えない事が不服ならC++を使いましょう。 非プログラマの立場から見るなら、 C++の構文が不服なら普通のADVエンジンでも探しましょう。あるいはプログラマを探しましょう。 って所
単にBASIC時代の人間が今時普通のOOとVMに触発されただけじゃないの? ライブラリがベターCなのは命名規則をSys3.xに似せた互換性の問題で。 文法が劣化C++ならVMじゃなくてコンバータでC++ソース吐いてコンパイラに食わせた方が勝手が良いてのはマなら思うだろうし。 VMにしたのは趣味じゃない?
>>242 それ読んでアリスがチャンピオンソフトだってこと思い出した。
>240 >専任のプログラマがSys4の上に更にゲームシステムを構築した上で >他のスタッフに投げる事を想定してるみたいだから ゲームシステムも上の方はディレクターとかが直接調整してんじゃね? さすがに昔みたいにシナリオ、プログラム、音声編集を一人でなんてことはないだろうけど。
>>237 配列は便利だし、大抵のことはできるけど、=でコピーが出来ないのが個人的にめんどいかな。
構造体(といっても、配列変数だけのもの)の配列なら構造体コピーの形でコピー出来るんで、
そっちの方がちょっと不便だけど便利かもしれない。(Σどっちだ)
ふう……。 floatの最大値はどうやって入力したもんでしょう。 普通なら 3.402823466*POW(10,38) でいいんでしょうけど、グローバル変数で宣言しようにも 【const値の要求に対して式が与えられました】って怒られてしまうし……。
超初心者的な質問で恐縮なんですが、 最初から用意されている機能だけを使って画面揺らしながら同時に文章表示とか出来ないですか?
最初から用意されているってのは 特別HLLライブラリとかをインポートせずに、サンプルのコードだけをちょちょっと弄って 文字を出したいってこと? やりたいことがよく判らないな、なんとなく出来なさそうな気がするけど
はい、そういう事です。分かりにくくてすいません・・・
お手軽コースなら文章表示後SACT_QUAKE_SCREEN関数 文字を徐々に一文字ずつ表示と画面を揺らしっぱなのを 並列実行とかだとめんどいことになりそう
文字はシングルフォーテーションでなく、 stringの引数で取る関数を使って一文字ずつごと揺らすように した方がいいかな? できないことはないと思う。 LengthByte()で文字列の長さを取得、 文字を szB = szA[nLoop];みたいに一文字ごと取得しながら 文字の表示X位置を増やしつつ振動させるみたいな感じになるかな。 分かりにくくてごめん。
MES_CALL_FUNC のサンプルコードが使えそうな気がする 振動用の関数作らなきゃいけないけど
249の者です、こんな初心者な質問に答えて下さって皆さんどうもありがとうございます。
先程まで書かれていた方法を試そうと色々やっていたのですが、
私の知識では結局
>>254 さんの方法しか成功させることが出来ませんでした。
>>252-253 さんの方法ではどうしても一文字ずつ取得する方法が分からなかったもので・・・、
(string型やarray@とか見たことも聞いたこともありません・・・、ポインタとか使えないみたいだし・・・)
とにかくお陰で問題を解決することができました、皆さん本当にありがとうございました。
すまんがちょっとだけ質問です。 CGのフェードアウトができる関数(フェードアウトのパターンが幾つかあって、引数で指定できる)が SACT2だかに組み込みであったような記憶があるんだけど、マニュアルを探してもそれらしい関数が見つからない。 名前を思い出させてください
んー。 SACT_EFFECT(int nType, int nTime, int nfKey); じゃないかな?
それでした お騒がせいたしました
お題:戦国ランスのタイトル画面の焔玉の演出 こいつぁーいかにもDrawSnowで実装されてそうな気がするぜ と思って調べてみたら意外とあっさり再現できて拍子抜けした。 既出だったらごめんなさい。 →まとめWiki
260 :
195 :2007/08/30(木) 03:53:25 ID:aU2W/YNb
DC38のURL見つけてダウンロードしようとしたら404・・・・ サーバ容量不足で削除されたっぽい? タイミング悪〜
hosyu
system4.0で FFのようなRPGのMAPって、 MAPチップでつくるのか? あるいはいったん一枚のCGにするのか?
どっちもできる どんなゲームにするかにもよると思うけど 一枚絵にアイテムのみチップで乗せるのが 作るのもチェックするのも個人的には楽だった
ママトトみたいな、アイテムボックスの出し入れをやりたいんだけど、 何をどうしたらいいのかわからない・・・誰か教えてくだしあorz
>>263 でもその方法だと
樹とかの障害物だと楽でも
壁とかの障害物は大変そうだな
>>265 全部チップで並べるとマップの読み込みが遅くなるし
木でも壁でも進入不可区域の設定は同じようなもんだから
そうでもない……と思ってたけど、もっと楽な方法あるかも
PCが根性をインストールしているなら
一枚サイズのどデカイのを各種類ごと(アイテム、障害物、背景)つくって
三枚重ねて置くというのもできる。キャラ座標との重なりをαマップチェックで判定。
大きいマップなら便利かもしらん。当然重い。
ただ、個人的には全チップが一番楽だと思う。
>>264 ママトトPC買い換えて以来インストールしてないや……。
覚えてないんだけど、ままにょにょのnotパズルみたいなやつだっけ?
多分WIZとかのアイテムシステムと同じだと思う。
int フラグ=0; while(1){ KEY_CLEAR(); if(KEY_IS_DOWN(VK_LBUTTON)){ if(フラグ==2&&マウス動いたかチェック()){// アイテムつかんで移動中 } else{ if(今選択中のアイテム==クリックしたとこのアイテム){ フラグ=2; // 二度目の選択なので掴ませる } else{ フラグ=1; // 選択アイテム変更 } } } else{ if(フラグ==1){ フラグ=0; } else if(フラグ==2){ フラグ=0; // アイテム放した時の処理 } } } イメージ的にはこうか? 選択後左ボタン離さなくていいならこれより簡単になるね。
みんなどんなの作ってるの?
>>267 >WIZとかのアイテムシステム
ってのはどのようなものですか?
>>267 最近なくなってきたけどキャラが八個までとか
十個までしかアイテム持てないタイプのシステム。
アイテム用の配列をつくるんじゃなく、キャラクターデータの配列に
(他のパラメーターと同じように)所持アイテムの要素を加えているもの。
おっと>270。
>>272 なんとなくイメージが掴めました。
すると、ままにょにょのように(2*2マス)アイテムとかをセットしていくのは、
多次元配列っぽい扱いで組むと良い・・・感じになるのでしょうか。
キャラデータに二次元配列でも持たせる。 0=装備不可、1=装備可、2=装備中として 2,2,1,1,0 2,2,1,1,0 1,1,1,0,0 みたいな感じにして装備時の判定に使う。 画面表示につかう装備位置とか種類はキャラごとにリストとして持っておく。 ぱっと思いついたのを適当にまとめようとしたら 中途半端になりそうだったのでここだけ。 というか、アイテムリストとかの作り方とかから関係してそうだし、 効率とかは別としていろんなパターンありそうだが。
txtファイルやバイナリファイルの 読み込み方がわからない・・・ 誰か教えて下さい。
それが何らかの構造体に対応する形式なら(設定データとか)File.dll使用。 と書いててふと思ったけど、 stringのみの構造体にFile.dllで全部読み込ませて 自前で文字列分割すればいける?。 File.dllで書き出したものしかダメかもしんないけど。
DATAアクセスのDATA.hllってどうやって使うん? 変換ツールの使い方すらよくわからんorz
使ったこと無いから違うかも。 変換はドラッグアンドドロップ。 iniファイルに書かれたフォルダに全部変換されるからNL5でリンク。 Openでデータを開いてReadで指定された構造体へ読込。 書いてないがRead毎に一つのデータを読むのかも。 サンプルデータ.txtだと多分構造体は struct Data{ string; //名前 int; //性別 int; //体力 int; //攻撃 int; //魔法 int; //防御 int; //魔抵 string; //特技 int; //属性 }; こんな感じだと思われ(変数名とかはめんどいので省略) データの#defineが効くのは変換時だろうし。
改行多すぎたorz int result; Data param; result = Open(リンク番号); if(result == 1) { if(Read(param) == 1) { // 成功 } Close(); } これをちゃんと動くように書き直して試してみたらなんとかなるかも。 サンプルデータ.txt使ってランスが読み出せたら正解。
ああ、iniファイルに指定されたフォルダ作ってドラッグドロップすれば良かったのか。 exeだけ実行しても何も起きないはずだorz サンキュー、これでデータ組み込み&修正が楽になりまする。
すまん、調べたらすぐでてきた
>279,280 おかげさまでデータ読み込みまで出来るようになりましたアリガト!(´▽`) 予想通りreadコマンドで読めるの一行だけみたいでしたけど、 配列構造体に格納しつつエラーが出るまで読み続ければOKでした。 これでデータがかなり整理できまする(;つД`) タスカッタ 今まではエクセルのリストから初期化用定義文吐きだしてコピペ。 一個ずつ代入してくって面倒なコトしてたw
>>284 できればソースを見せてくれませんか?
僕もやっているのですがうまくいかなくて
286 :
284 :2007/09/24(月) 01:33:40 ID:wQrq8l22
>>285 こんなんす。
ループが入っているだけで、教えてもらったのとほとんど一緒です。
===
void ★ReadData(void){
int No = 0;
if(Data.Open(1) == 1) {
while(true) {
No++;
if(Data.Read(g_ReadData[No]) == 1) {
// 読み込み成功
//system.MsgBox("No = " + g_ReadData[No].nNo.String() + ":名前 = " + g_ReadData[No].sName);
} else {
//system.MsgBox("データの読み込みを終了しました。");
break;
}
};
Data.Close();
} else {
system.MsgBox("データのロードに失敗しました。");
}
}
287 :
284 :2007/09/24(月) 02:16:10 ID:wQrq8l22
あ、そだそだ。 データチェックとか色々してたんでwhile文とif文分かれてますけど、 普通に作る分にはwhileだけで問題ないです。 うちも最終的には直すんで。
>>286 サンクス。
286のやつでやってもうまくいかないから
Data.dllかNL5でのリンクがうまくいってないみたいだ
「Data.dll」→RUN\DLLフォルダ 「Data.hll」&「Data.inc」→HLLフォルダ この三つをそれぞれのフォルダに置いてSys42IDEの"HLLを追加"で追加したけれど 【Open】関数は定義されていません となって使えません もしかして追加の仕方が間違ってるのでしょうか?
ちゃんと「エイリアス名.Open」にしてるか。 System40.iniをしてるか。 この辺。
hosyu
0乗は1になるのかー。初めて知った。
過疎だ……。 誰かRPGとか作っている人います?
今パズル作ってるけど業務が忙しくなって丸2ヶ月くらい触ってない・・・
よさげな戦闘システム思いついたけど実装できなくて放置中
297 :
sage :2007/10/26(金) 12:02:12 ID:/MaVV48B
今ボードゲームタイプのRPGモドキを作ってる。 最近はwikiの更新が多くて嬉しい。 wiki充実させたいけど、面白い関数とかのネタも特にない。 どういう情報が載ってれば便利なのかな。
あのゲームのこういうとこはこういう風にして動いててsystem4で書くとこうなるんですよ 的な解説とか面白そう&便利そう
ゲームそのものの解説になるけど、そういうサイト自体少ないからな。 それより、wikiの更新が途切れないのはいいんが あの独特のインデント・カッコの使い方は修整してもいいんだろうか? まぁコード書いてる本人が判ってるなら別に文句を言う筋はないんだが あんなスタイル始めて見た
いいよー。もともと我流の上に、普段からTAB使いなんで WIKIだと自分でも分かりにくいなと思ってる。
今更思ったんだけど……。 RPGの制作って解説に向いて無い? ソースの増え方が天井知らず。
RPGでソースが増えるのは仕方ないかと jafじゃなくてtxtファイルにしてくれたらブラウザで読めて便利かなと思った ファイル数多いと落とすのがちょっと大変 まあ勝手な言い分なのでやりやすい形で続けてくれ
システム4.0でシューティングは作れるのだろうか グラディウスやR-TYPEのレベル
システム4.0でシューティングのサンプル、見たことありますよ。
すげぇ 突き詰めればかなり融通が効くのだろうか
タスクシステムサンプルならスゲスゴにあると思う。 融通が効くというか、関数ポインタを構造体に持たせられるなら、 STGもACTもRPGもSLGもSRPGもそれほど変わらないような作り方で出来る。 処理の重さがネックだけど。
関数どころか算数が出来ないレベルに落ちたぜ 最低限は可能だが(プラスマイナスかけるわり算) それ以上の方程式という高度なレベルは 学生時代から投げ出していたぜ そんな自分でもシステム4.0を構築出来なくはないレベルなのだろうか
大丈夫でしょ。 面倒な計算はそれこそPCにさせればいい。
何という恐怖 システム4.0を突き詰めれば 大概のゲームが作れるとわ… 数学分からないとか言い訳せず 頑張ってみる
究極に突き詰めたら、 最初にゲームシステムDLLを呼び出したまま最後まで返ってこなくなる気がする。 まあそこまで行ったら他のフリーライブラリのほうがいいんじゃね?とも思うが。
俺はアリス儲だからsystem4.0でやる事に意義がある まあたいしたもん作ってないけどさw
ユーザークラブのZEROは「こういうのも作れます」 のよい見本だと思う。
うー実行時に 【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】 と出る……。 これがintの場合は大丈夫なのに何故でしょう。
>313 ふと思ったんだが、dll.func("ABC")とかやってない? ref stringで。 いや、参照じゃなくてもこれができるかはわかんないし、 intなら大丈夫の意味もわかんないんだけど。 もし自前DLL作ってるなら、 どういう風に呼び出してるかとかHLLとか出してみてよ。 (そのままじゃなくてもいいから)
ええとごめん、時間がないからエラーの出る場所だけで。 game_main>asChar_Data>oCharMakeと辿っていって、 最終的にans_t::SString関数内の if(szX != szA){asY[nL] = szX;return asY[nL];} の行でエラーが出る。 asChar_Dataを呼ぶ前にAコマンドで止めて、 ブレークポイント使ってステップ実行するとわかると思う。 ただ、使い方が間違ってるのかどうかまではわかんない。 (ライブラリの作者さんならわかりやすいのかな) あと、intなら大丈夫の意味も未だにわかんない。
ふと思いついて、 if(szX != szA){asY[nL] = szX;return asY[nL];} を if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];} としたらエラーはなくなったんだが、 これは>313、ライブラリ作者さん共に正しい動作になってるか?
>>317-318 どうも有り難うございます。エラー箇所は分かったのですが、
何故エラーになるのかがどうしても分かりません。
>>318 まことに申し訳ないのですが、正しい動作になりません……。
第二引数に何を入れてもマウンテンデューが返ってくるようです。
「intなら大丈夫」というのはこういうことです。
//テスト
void game_main(void)
{
ans_t MS;
//MS.nSet("keyword",100);
//MS.nSet("keyword",200);
//N(MS.nGet("keyword"));A;//正常な動作だと200が出力
MS.ssSet("keyword","じむ");
MS.ssSet("keyword","がんたんく");
S(MS.ssGet("keyword"));A;//正常な動作だと"がんたんく"が出力
}
nSetはans_tのメソッド、SNumとほぼ同等のメソッドです。
ssSetはans_tのメソッド、SStringとほぼ同等のメソッドです。
SNumとSStringの違いは、int配列に入れるかstring配列に入れるかというだけで、
操作はほとんど同じです。
しかしnSet(上のコメントアウトしている方)は正常に動作し、
下のssSetの方は単独では前述のエラーメッセージが出ます
(コメントアウトを外し、先にnSetの方を動かすとssSetの方も正常に動きます)
どうしてこんな違いが出るのかに大混乱です。
320 :
318 :2007/11/08(木) 19:54:53 ID:mXVUOzqf
あ、InsertはPushBackしないのか。 >318の修正を if(szX != szA){asY.Insert(nL, szX);asY.Erase(nL+1);return asY[nL];} にしてみて。 修正前は文字列を直接置き換えてたっぽいから、 新しい文字列をその位置に挿入した後、後ろに一つずれた以前の文字列を削除するようにしてみた。 >319でもエラーは出ないし、 RPGの方も「無人」とか「勇者」とか出るようになったからちゃんと動いてるとは思う。 原因はわかんない。 stringの配列要素に直接代入するところが特殊仕様かもしれないけど、 ちゃんと動くこともあるからSystem4.0のバグなのかなぁ。 エラーが出るときもそうでないときも デバッガに出るans_t変数の現在値は変わらないように見えるし。
代入はできませんが、加算代入はできるようなので、とりあえず↓こういう形でしのぐことにしました。 とはいえ、何故「asY[nL] = " "」が出来ないのかは未だに分からないので、 もし分かる方がいたらいつでもいいので教えて下さい。一定の条件のもと、 stringの代入が不可になるというのは、条件が分からないままだと困りそうです……。 //stringエラー対策用の代入式 void ADD(ref string szX,string szY) { int nLength = szX.Length(); szX += szY; int nL; for(;nL < nLength;nL++) { szX.Erase(0); } } //文字列から要素を検索し、szXを返します。[asXが要素の役割] string SString(string szX,string szV = szA,string szY = "Renew") { ans_ReAlloc; int nL;for (nL = 0;nL < asX.Numof(); nL++) {if(szX == asX[nL]){if(szV == szA){return asY[nL];} if(szV != szA){ADD(asY[nL],szV);return asY[nL];} } } if(szY == "Renew" && szV != szA) {asX.PushBack(szX);asY.PushBack(szV);return szV;} return szA; }
>>320 どうも有り難うございますー。上手くいきました。
値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。
まとめwikiからHLLshotcat.zipをダウンロードしたんだがパスが解らん 送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz
と思ったら出来た スレ汚しスマソ
気がつくとWIKIもグーグルの1ページ目だなあ。内容は 初心者向けなのか上級者向けなのか分からないところはあるが……。
いいってことよ
最近、関数や機能の整理ためにクラス使い出したんだけど、 クラス内のメソッド関数にデフォルト引数って使えんの? 「メソッド定義にデフォルト引数は使用できません」 ってエラーになっちゃうんだけど。 マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。
メソッドを分割して定義してるなら、上に定数を入れたらできたよ。
メソッド定義って出てるからそっちに書いてるんじゃない? 実装側に書かないと。
ごめん、違ってた。 忘れてorz
おお、なるほど。 クラスの定義側で定数入れて、 実装側は引数の宣言だけしておけばいいのか。 定義と実装両方同じにしておかないといけないと思ってましたorz
332 :
名前は開発中のものです。 :2007/12/10(月) 19:19:39 ID:MKJaX+BI
age
>>25 みてarray@int@4 asasas[1000][1000][1000][1000];とかやってみたら超絶重くて大爆笑した
mp3使えない事に気付かず一日を無駄にした(;´Д`)
>>333 array@int asasas[1000000000000];
と消費メモリは同じですからね。大抵応答待ちで固まる。
WIKIの方も更新感謝。ところで、
>プロジェクトファイルがあるフォルダの下に、"Shortcut" という名前のフォルダを作成し、
>その中にショートカットファイルを入れておくことで、統合環境のプロジェクトワークスペースの
>ファイルタブのショートカットフォルダにショートカットの一覧が表示されます。
>それらをダブルクリックすることで、そのショートカットを実行できます。
とマニュアルに書いてあるのですが、これはどういうファイルが実行されるんでしょう?
やってみれば解るけどそのショートカット元のプログラムが実行されるよ っつーか今まで知らなかったけどこれ便利だな とりあえず電卓は常に入れておく事にしよう
戦国ランスのソースとかってないのか? 戦国みたいなゲーム作りたいがどこがどうなってるのかよく分からん(´・ω・`)
ない。 具体的に、ココがこう判らん、という話なら 教えるなり議論するなり、話の種くらいにはなるかもしれないが
ココがこう判らん それがわかれば問題の8割は解決済みだ
プログラムの常識かsysytem4の仕様か分かんなくてうやむやなとこが一番つまづいた
「作りたい物」を分割&抽象化して、 ソースコードと対になる設計にまで持ち込む作業ってコーディングより難しい。 というか、そこまでがゲームプログラムのキモだし。今更言うようなこっちゃないけど。 なんで、とりあえずお題を決めて何か喋ろうぜ。
お題 system4.0ですごいと思った所
マイナスが使えるところと65535以上まで使えるところかな……。あと配列があるんで 3.XとかNScript風の文字列設定にもできるところ。ネット機能が失われたのは残念。 そんな私は3.Xからの移行組。
エロゲのシステムを触ったことがないので、もしかしたら当たり前の機能なのかもしれないが・・・ 変数の表示くらいならともかく、スタックを総ざらいしたり ブレークポイントをかけたりできるのに感動した。 ある意味、もうVS&C++でいいぢゃんという流れになる諸刃の剣だが
>>338 やっぱり無いのか(´・ω・`)
じゃあ質問なんだが
戦国で相手の行動パターンってどんなかんじで作ってあるんだ?
交戦状態のときとか兵数が一定以下になったら攻めるのをやめるみたいな感じなんだろうけど
どういう風に書けば良いのかわからん
説明が難しいな……。国データと直結している。 多分国データの内部にある武将データが関係。
struct 武将{ 兵数 種別(前衛or後衛) } struct 軍団プリセット{ 種別[6] } struct 国{ 武将配列、軍団プリセット配列 } 軍団プリセット 全部忍者 = {忍者、忍者、忍者、忍者、忍者、忍者} 軍団プリセット バランス[1] = {武士、僧兵、なし、弓、巫女} 軍団プリセット バランス[2] = ・・・ void ターン(){ for(国ID=0 ; 国ID<国数 ++国ID){ if(交戦中フラグ[国ID]){ 国行動( 国ID ) }}} 国行動( 国ID ) { if(合戦回数=1) rerurn 全部忍者 for(int i=0 ; i<試行回数 ; ++i) if( 派遣できる?関数( 国データ,バランス[ramdom] ) ) return バランス[ramdom]; return 待機 } ごめんかなり適当に考えた 複数回行動は定数とか割合を基準にして適当に計算したら楽だけど SLG作るならもっとスマートにやらなきゃいかんのかな・・・ 定数使うのは意外とアリだと思うけど
SLG作る際に重要な機能ってなんだ?
構造体かな? あと関数呼び出しのオブジェクト(関数ポインタだっけ)。 RPGでも重要だけど、思考ルーチンはSLGの方が重視されがちだし。
350 :
【末吉】 :2008/01/01(火) 01:34:40 ID:ZLqCplPi
あけおめことよろ。 さて今年の開発進行はどうかなっと おーみーくーじー
構造体同士のメンバ変数全部加算させるみたいな事出来ないものか・・・
演算子のオーバーロードがやりたいなら、無理だ。 普通に、構造体を2つ渡す関数を用意するのじゃ駄目かね?
初歩的な質問で申し訳ないけど……。 整数を16進数で返す方法ってありますか?
Sys4に限らないと思うけど、 2進数も10進数も16進数も、表記法が違うだけで中身は同じだよ。 10進数16が、16進数0x10という見た目になるだけであって どちらもint型変数に格納できる。
はい。つまり表記で返すやり方を知りたいのです。 例としては、整数65535 を 文字列"FFFF" で返すということです。
>>355 プログラムの中で返したいの?
って、変換した奴だけ使いたいなら、いくらでもソフトあるか。
>>355 いろいろ試してみたけどむずかしい。10→16なら簡単なんだけどね。
方法を予想してみると、とりあえず16進数の桁数だけ領域を取った一次元のint配列に
「1-15」までの要素を入れ、最後にくっつけるやり方がスマートかもしれない。10進数から
16進数の桁数を算出する方法と、要素に16進数での値を入れる方法さえ分かればできると思う。
(俺はわからない)
"%x"とかじゃ駄目なんか
間違えた。16→10だ。
つまり"FFFF"を 65535 にするならWIKIを参考にできるんだが。
>>358 "%x"って何だっけ?
出力変換なら、そういうのは無かったように思う。
れつとれさんとこのは使い方が違うような…… 蛙のダンジョンさんとこのソースがいいんじゃない?
蛙のだんじょん!ところの人です。 頑張ってソース書いたけど、れつとれさん所の解説読んだら、出力変換できました。 以下ソース。(パラメータあんまりよく分かってません) void 10→16進数(){ int 元=RAND(2147483647); string 結果="%0X" % 元; '10進数:'NH(元);R; '16進数:'S(結果);A; }
おおほんとうだ。マニュアルには int値変換%d float値変換%f string値変換%s char値変換%c bool値変換%b しか書かれてなかったから試さなかった。すまん>358。 "%X"は2バイト文字ではなく大文字になるみたいだね。 ありがとう熾憂さん。
>>356-363 遅くなりましたが有り難うございます。
おかげで型sz、引数intの関数をつくれました。
プログラマ募集キター!!! 腕に自身のある奴、行っとけ! 俺は無理orz
大阪まで通えません>< そもそも腕に自信もないがorz
SACT2関数の REGISTER_MESSAGE_CALLBACKとSACT_MESSAGE_REGISTの 使い方が良くわかりません。 サンプルコードを試してみたがマニュアルにあるコードの実行例を再現できない。 ボスケテ
サンプルコードとは違うけど、コールバック関数内のreturnを消して、 一番最後にSACT_MESSAGE_REGISTを追加すれば、再現はできるよ。
ボス 決して走らず急いで歩いてきて そして早く僕らを助けて…か! むう lFvH5fEb…なんて難しい注文を! 蛙でございます。 //ユーザー定義コールバック関数 void game_message_callback(ref int nMsgNum,int nNumofMsg, ref string sText){ //メッセージが 主人公 という文字列であれば ランス に置き換える。 if(sText=="主人公"){ sText="ランス"; nMsgNum = -1; } SACT_MESSAGE_REGIST(nMsgNum, sText); } void 初期化(){ REGISTER_MESSAGE_CALLBACK(&game_message_callback); } SACT_MESSAGE_REGIST関数が''内の文字を表示させる関数っぽい。しかしmessage関数の処理を見たらユーザー定義コールバック呼出が設定されているときに、このSACT_MESSAGE_REGIST関数が処理されない感じだった(たぶん)。 SCAT弄るの嫌なのでユーザー定義のコールバック関数の方に追加。 なお、ソース見たらsact_message_callback_tは関数型だったので、REGISTER_MESSAGE_CALLBACKの引数はsact_message_callback_t型の関数を使えということだろうと。 多分マニュアルの単純な記述ミスだと思います。 関数型って何なんだ…って所から始めたので、正直合ってる自信がないけど、一応動いたことは動いたので、取りあえず動けばいいやってことでしたら。 正しい説明は他の人お願いします。
ニコ動に、作ったものを投稿したいのだけれど sys4で録画する方法が分かりません。どうすればいいんでしょう。
sys4と関係ない一般的な話だから、Windows板かソフトウェア板にでも行って DirectXでもキャプチャできるソフトを探せ
それがキャプチャーできんのです。flapでもdxtoryでも。 SYS4の場合、DirectX系の動画キャプチャーでは無理っぽいのですが。
戦国ランスのキャプチャ動画あったはずだから何かしら方法があるんじゃない?
最近のグラボにはよくS端子出力とかが付いてるから、 デッキを経由したりキャプチャボードに繋げばVGAサイズくらいでコピれるかも
チュートリアルのセーブロードの件で質問です ロード時にセーブ直前に表示されたメッセージ再描画のため MSG_DRAW_LAST(); を使用していたので、再現するため game_main(){ //色々略 'アブドゥル'A; MSG_DRAW_LAST(); } 上記ソースでテストしたところ 「アブドゥル」改頁待 のような実行結果となってしまいました。 どうもMSG_DRAW_LAST();が無視されているとしか思えないのですが 再びボスケテいただけないでしょうか wiki・・もうちょっとSACTも触れて欲しいです
MSG_DRAW_LAST関数は「最後に表示されたメッセージを再描画」するから、 >'アブドゥル'A; >MSG_DRAW_LAST(); なんつってしたら同じものが出てくるんじゃないかい? SACTのセーブロード関数のサンプルで 「セーブ直前に表示されたメッセージテキストを再表示」と表現されてるのは、 SACT_RESUME_SAVE関数とMSG_DRAW_LASTの間で何もメッセージを表示させてない、 つまりセーブ直前のメッセージが出てくるということだと思うんだけど。
とまあ書いてはみたけど、 実際は俺も知らなくてMSG_DRAW_LASTでSDKフォルダに検索かけただけだったりする。 機能説明のコメントは一通りついてるし、検索できると便利かもよ?
記述不足っぽいすんません。 >'アブドゥル'A; >MSG_DRAW_LAST(); と書いたからには 「アブドゥル」 「アブドゥル」 と表示されて欲しいわけです。 ロード時のメッセージ復帰に使用しようと思ってたんですが上手くいかず とりあえず上記ソースでテストを行った結果、メッセージが重複して表示されなかったので MSG_DRAW_LASTの使い方に問題があったのかと、質問させていただいた次第です。
>>380 A;はメッセージをクリアするとか、そういうことではない?
解釈が違ってたらごめん。
最初に改行が入るけど、二つ表示したいなら
R;'アブドゥル'B;
MSG_DRAW_LAST();A;
MSG_DRAW_LASTが描画するのは、最後にA;B;C;等で
描画したメッセージで、それには改行も含まれてるから
MSG_DRAW_LASTの先頭だけを改行したいなら
自分でMessageManager_tを操作する必要がありそう。
あ、俺も試してたらひらめいた。 >'アブドゥル'A; >MSG_DRAW_LAST(); の後にA;つければいいんでね? サンプルはセーブ用の関数だから抜けた後でなんか処理してるだろうけど、 >376はgame_mainだからそのまま通過して終わっちゃう。
>376 376のソースで実行してみたけど、普通に 「アブドゥルアブドゥル」 と表示されてしまった。(改行に関してはお好きに) 多分、383で言われているように、「MSG_DRAW_LAST();」の後に「A;」ついてないので瞬時に画面消えて見えなかったとか、 その辺の理由だと思います。(うちのマシンは遅いので、二つ目のアブドゥルも少し見える)
皆さんありがとうございます。再現できました。俺がアホでした。 一応報告 結果 別にA;をあとにつけなくても再現できてしまった。 ただし改行とか改頁されないので MSG_DRAW_LAST();A; と記入するのがいいっぽい。 再現できなかった原因 scenario_func.jaf にて void A(void){ B; SACT_A(); } メッセージ送りの快適さのためにこんなことしてた。 orz ゴメンナサイ。
既出かわかりませんがバックログ関係でメモ メッセージログがまったく残っていない状態でバックログ画面を表示させるとエラーが起こる scenario_func.jaf の BACK_LOG_OPEN関数に MES_LOG_ADD_STRING(" ",true); と追記することでとりあえず回避。 他にもなんかいい方法がありそうだけど。
OHPのBBS廃止だってね 廃止項目に今は過去ログからしか見られない SYS4BBSは入ってないんだけどどうなるんだろう
いやなんかもうアリスの中では完全な黒歴史に なってるんじゃないかと邪推しているんだがどうだろう。 ポポリタンのDLページまだ行ける?
ユーザークラブのHPにアクセスすら出来ないんですが、アクセス出来てる人はいらっしゃいますか? SYSTEM4.0の開発キット関係とかも、このまま非公開になるのかな。 今作ってるゲーム公開出来ないとかいう事態は…
再公開や規約についてアリスにメールしてみた。 が、よく考えたら連休入ってるのでBBSに書いたほうがよかったかもしんない。
>>391 乙
返事は休み明けかな?
メールがきっかけで配布ページ復活してくれたら嬉しいんだが
393 :
391 :2008/05/09(金) 20:55:06 ID:TgS+cgRi
返信とか今のとこ無いっす。 タイミング悪くて埋もれちゃったのかもしんないので 何日かしたらもう一度出してみようかなと思ってます。 (サイトでのサンプルのみとはいえ素材使ってるので割と気になっとります) あと、一応>391の通り、おいらはSDK再公開と規約関連のことなんで、 BBSとかゲーム公開で気になる人はそういう内容でメールしとくと もっと気付いてもらえやすくなるかなぁ?
乙。 ひそひそ掲示板の方はまだ生きてるけど、多分見てないだろうしなー。
>>393 アリスの2次創作リンク集の方では規約は現状維持という返信が来たらしく
SYS4の再配布とか始めてたんで、公開とかは問題ないと思う。
396 :
391 :2008/05/10(土) 18:20:42 ID:qhgdgpWf
>395 ほんとだ、サイトは知ってたがそこまで見てなかった。 これでおいらの問題は解決。
397 :
名前は開発中のものです。 :2008/05/13(火) 18:45:04 ID:WdYIFPfl
ェ
公式からダウンロードできなくなってるけど、公開やめたのかい?
やめたのだよ。 いや、多分ポポリタンのページに繋げばDLできる気はするけど、 クラブページに繋げないからポポリタンのページのアドレスも分からんのね。 再配布しているところからDLしてちょ。
トンクス。やめちゃったのか 公開やめちゃったシステム使うのは少し不安が残るな……
SYSTEM4.0公開止めたのか。寂しいな。再配布の有志の人達ありがとう。 しかしプログラマ募集してたし、ひょっとすると次のシステム開発してるのだろうか。 もしそうならまた公開してくれるといいなぁ。 >391 情報ありがとう。 私もそれなら問題ない。後は早く完成させないと。
生成時にSP_CREATE_BOXで中空矩形のスプライトを作るクラスを グローバルで宣言すると、中空にならないんですが何故ですか?
なんでだろうね。 AMAPの塗りつぶしが上手くいってないわけだけど……。 多分バグかな。
ありがとうございます。
405 :
名前は開発中のものです。 :2008/06/14(土) 14:16:33 ID:lyazsTVi
DrawPluginの作り方がわかりません。 マニュアル読んでもスゲーナスゴイデス・レツトレ参考にしても理解できず・・・ 例えば"DrawSnowの雪が画面中央を中心にぐるぐる回る”みたいなのは どうやって作るのでしょう? 何か取っ掛かりというかヒントのような物があれば教えて頂けないでしょうか。
質問なのですが、system4.2で特定の変数をファイルに書き出すことは出来ないでしょうか? マップエディタを作成してマップデータを書き込み&読み込みをしようと思っています。 system3.9ではコマンドがあったかと思うのですがsystem4.2では見当たりません。 わかる方いましたら教えていただけないでしょうか
File.dllを使ってみるのだ。
>407 どうもありがとうございます。 最初から付属されてたんですね(^^; どうもありがとうございました。
画面の一部だけをエフェクトつき画面切り替えすることは出来るのでしょうか? SACT_EFFECTの25番でカードの絵を裏返す、みたいな事をやりたいのですが 画面全体が回転するのでうまくいかないです。
CG加工のY軸回転を使う。
>410 解決できました、どうもありがとうございました。
なんというか、書き込みは無いけど誰かがいるのな、このスレw
ずっと専ブラで開きっぱなしにしてる
巡回先には登録してるから一応見てるぞ。 近々、Sys4でそれなりの規模のゲーム作る予定。 今度作るよ!って言いながら全然作ってなかったけど 最後の長期休暇になりそうだから今回作らないと本当に一生作らなさそうだ
415 :
名前は開発中のものです。 :2008/06/29(日) 09:08:04 ID:wnc6aeeO
超初歩的な質問ですが、ユーザー専用ページにはどうやっていけば良いんですか? 一応、F会員登録はしました。
もう無理。ユーザー専用ページは数ヶ月前に完全に閉鎖された。 今system4.0を落としたいなら、再配布のサイトへ行ってくれ。 wiki見れば載ってるはず。
417 :
名前は開発中のものです。 :2008/06/29(日) 12:33:53 ID:wnc6aeeO
とりあえず探し回ってsystem4.0SDKとやらを手に入れました。 どうもでした。
Data.dllで構造体にキャラデータを 読み込ませることには成功したんだけど、 そしたら以前は表示出来てた画像が表示されなくなった。 何が原因なんだろ?
SP_SELECTを使って、ボタンと他の処理を並行することは可能ですか?
規制解除されたから今更書き込むけど、 MSのオンラインストレージにsys4sdk置いてみた。分割ファイルだけど。 分割ファイルを7zipで戻すのがウザいから、 sdkが欲しいだけなら別サイトから頂けばいいと思うけど CGとBGMも一通り置いたんで、もし欲しい人がいたらどうぞ。 所在はまとめwiki
>418 よく分からないけど、その画像に使ってる表示位置とかの変数が上書きされたりしてる気もします。 ・デバッグプラグインの変数でその画像関係の変数が変化していないか ・デバッグプラグインのSACTでその画像のレイヤが変化してないか 辺りを調べてはどうでしょうか >419 SP_SELECT関数の中に、並行処理する関数を埋め込んでみてはどうでしょうか。 >420 お疲れさまです。
422 :
sage :2008/07/16(水) 17:29:25 ID:MEwOU82t
418です。ご指摘ありがとうございました。 ご指摘とは違ったのですが解決しました。 "ほにゃらら.ald"というものから キャラデータを読み取らせていたのですが、 "サンプルGA.ald"と"ほにゃららDA.ald"をRunフォルダに置く →"サンプルGA.ald"の画像は全く表示されない。 →"ほにゃらら.ald"のデータは読み取っている。 そこで、"ほにゃららDA.ald"のファイル名を"サンプルDA.ald"に変更、 "サンプルGA.ald"と"サンプルDA.ald"をRunフォルダに置く →画像は表示され、データも読み取っている となりました。 使えるからいいといえばいいのですが、 "ほにゃらら.ald"だと何がダメだったんでしょうか。
〜〜GA.ALDのファイル名は .prjファイル内に書いておくプロジェクト名と一緒にしておかないといけなかった気がする。 少なくとも、異なる文字列をGAとかBAの前につけることはない。 というかこの10数年、アリスソフトがそんな使い方をしてたことがない
接頭語は統一しておくのが前提仕様、 あるいはレジストリにファイル情報を書き込んでいる場合も多分問題ない。 レジストリにファイル情報がない場合。 System4.0を起動すると、 まず同一フォルダ内のファイルを順番に検索して 最初に見つかったALDファイルの接頭語を登録してそれを使うみたい。 System3.5でもそんな挙動があったから多分その頃から。 (名前を統一して1フォルダ1ゲームにしとけばそれで問題ない) 〜.ainはSystem4.0だとSystem40.iniでの指定必須なのでどうでもよさげ。 >422の場合は"ほにゃららDA.ald"の方が先にひっかかって 画像ファイルも"ほにゃららGA.ald"を探しにいってたんだと思われ。
ちなみに公式で配布している「三匹が〜」は レジストリ使ってないので試すのにちょうどよかったりする。 "三匹がGA.ald"を変更すると ・"_三匹がGA.ald"→BGM(〜BA.ald)とWAVE(〜WA.ald) ・"三匹が_GA.ald"→CG がそれぞれ読み込めなくなる。 最初に書いたとおりファイル名を統一しとけば必要ないことだけど。 System3.xはファイルが番号指定だったから、 左右キーとかで順番にCG表示とかWAVE再生とかする〜SA.aldを作って 簡易ビューワーとして使いまわししてたりもしてたんだけどw (ファイル名を合わせるだけで使えるので)
SP_SET_CG(sp[y][x], table[i]); SP_SET_CG(sp[y][x], top_x+64*x, top_y+64*y); 気が付いたらこんなソース書いてて混乱して時間潰した SP_SET_CGって第3引数で可視状態の真偽値をとるからコンパイル通っちゃうんだよな フヒヒ サーセンw
dialog.hll使って文字入力しようと思ったけどもはやチンプンカンプン なにからどうしていいやら……
まずDLLの組み込みから始めようか。
ソース自体は *** string szNAME; int n文字長=10; int nHP; int n最小値=1; int n最大値=255; Dialog.InputMsg("主人公の名前",n文字長,szNAME); Dialog.InputNum("HP初期値",n最小値,n最大値,nHP); *** で、各々文字列と数値をダイアログボックスから受け取れます。 HLLの追加はプロジェクトファイルとiniファイルに、以下の記述を加えます。(たぶん) 【Test.pje】 HLL = { "Dialog", "Dialog", } 【System40.ini】 LoadDLL = { "Dialog", } 詳しくは、「System4.0マニュアル」の「System4.2言語マニュアル」の上のフレームあたりを読んでください。私も理解度イマイチです。
少し前までjavaを使ってた程度なんですが これでリアルタイムSLGを作るのは難しいですか? 2DのSRWスクコマのような物を作ってみようと思ってるのですが
2DのSRWスクコマってのがよく分からんが sys4でリアルタイムなゲームは止めといた方が無難
432 :
名前は開発中のものです。 :2008/09/04(木) 23:16:32 ID:p8U2SvmA
>>431 そうですか。ありがとうございます。
もしよければ何か他にいいキットを教えていただけますか?
System4.0で ・画像ファイルの一部からスプライトを作成 ・スプライトの一部だけを描画 ってできないんでしょうか? 例えばトランプを使いたいときには 画像ファイルが54ファイル必要なんですか?
■● ▲★ みたいな画像から★マークだけを切り出してスプライトにするのはできる。
>>434 使用する関数を教えてもらってもいいですか?
ヘルプ見直してもちょっと見当がつきませんでした。
CG_COPYとCG_COPY_AMAP。 SP_COPYではないので注意。
ありがとうございます!やってみます!
確かに24bitと8bitのファイルを用意しているようだが、何かうまくいかんなぁ。
sys4のコード書くのは面倒だったんで、
ALDLINKERでポポリタンのファイルと差し替えてALDを試しに作ってみるというのをやってみたんだけど
>439のファイルをそのまま使うとツールがフリーズする。
Vixで一度開いてBMP形式で上書き保存して再試行するとうまくいった。
元ファイルと比較してみると、8bitの方のファイルのサイズが違うのでよくよく見てみると何か怪しい。
ttp://alicesoft.org/uploader/src/alice00023.jpg 俺の結論:24bitのファイルは問題なし。8bitのファイルが(一応BMPだけど)不正なのでVixで開いて上書きして再チャレンジ。
>>440 ありがとうございます。確かに見直してみると異様に少ないファイルサイズでしたよね。
Gimpで透過付pngを作って、ruby+RMagick(ど素人です)で変換しようかともくろんでたんですが
画像の保存形式の設定が悪かったんでしょうね。
みなさんはどんな感じでSPファイル作ってるんでしょうか?
442 :
439 :2008/10/15(水) 15:39:50 ID:EnJ7ncbz
ファイルサイズが違ったのはRLE圧縮がかかってたからだってのはわかったんだけど、 透過の設定がどうも上手くいかない。 完全に黒く塗りつぶしているはずのところが半透過になってるのでおかしいおかしいと いろんなソフトで本画像、マスク画像を作ってみたところ、WinXPのペイントで1から作った マスク画像だと正しくマスクされ、RMagick+RubyやPaint。NETで作った画像だとダメ。 ファイルサイズは完璧に一緒だから怪しいのはカラーパレットかと思い、 正常認識しなかったファイルを窓ペイントで24bit化、再度8bitで保存するといけた。 24bit→8bitに、(System4的に)正常に一括変換できるソフトが見つからない。 ViX、D&D画像変換、BatchGoo、11View他試してみたが8bitBMPに変換できるものが 少ない上、できたとしてもカラーパレットのせいか、完全透過するべきところが半透過に・・・ 何かいいものあれば教えてくださいませ。
蛙です。見当はずれなこと言ってたらごめんなさい。
以前作った透過QNTメーカーは使えないでしょうか。
単色の色抜きなら、透過QNTメーカーでQNTに変換して、AliceCG2.exeやNL5.exeでリンクのみするのもありかと。
一応設定変更すれば、影データのみ作成する機能もあります。(出力自体は24bitのQNTですが)
出来上がった影データを8bitのBMPへ変換する手順例は下記のページに書いてあります。
ttp://www5.plala.or.jp/azlight/mask.html 半透明になるのはたぶんパレットが原因だと思います。
黒が0番で白が255番で、途中グラデになってるパレットだと、影データとしてイメージ通りになると思います。
グレースケール用パレットが指定出来たり(Vix)、パレット固定などが出来るソフト(Vieas)なら、動作確認してます。どちらも一括変換は出来ませんが…。
・普段のSPファイルの作り方
透過させるのはドット絵位なので、SPファイルもついでにedgeで作ってます。ひねり無し…。溜まってきたら透過QNTメーカー使ってます。
ちなみに、上がってるSPファイルをedgeに読み込ませたら、「OS/2用のBMPは読み込めません」とエラーになりました。
知識がいい加減なことに定評のある蛙の理解なので話半分に聞いてください。 フルカラーの画像は、1ドット毎に R0〜255(8bit) G0〜255(8bit) B0〜255(8bit) 24bitの情報を持っています。 256色の画像は、1ドット毎に パレット番号 0〜255(8bit) の情報を持っています。そして、その画像に共通のパレットを1つ持っています。 (edgeなどのドット絵エディターを使うと分かりやすいです) 透過情報をもつ画像は、フルカラーの画像に加えて、1ドット毎に0〜255(8bit)の透過率の情報を持っています。 この透過率を設定するのに、256色の画像(SP画像)のパレット番号を用います。 つまり、パレット番号さえ合っていれば、SP画像の色はどうでも良いのです。 グレースケールのパレットが、イメージしやすいのでそれが使われているだけです。 ウインドウズ標準の256色のパレット番号0番には黒が格納されており、255番には白が格納されています。(0番〜7番、248〜255番はシステムで使うので固定されています) 半透明を使わない場合は、パレット番号0とパレット番号255しか使わないことになります。 ですから、下の画像の3番目のパレットでも正しく表示されます。(逆に、2番目のパレットは恐らくですが、少しだけ背景が映っていると思います)
透過PSDで書き出せるソフトを持ってるなら 吉里吉里付属の画像コンバータが便利よね。
透過PNGでもいけるね、これはいい物を教えてもらった。
system4.0ってstaticな変数、関数って作れないんでしょうか? SingletonClassを作りたいんですけど
できないと思う。
グローバルに置いてそれっぽい関数作って使うことにします。 ありがとうございました。
451 :
名前は開発中のものです。 :2008/12/12(金) 02:09:06 ID:fUm+kgK0
なんかSystem4.0で作られたソフト全般でデータのセーブが出来なくなったんだが いったいどうなってしまったんだろう
HDDフルとか
初歩的な質問で申し訳ないけれど、 例えば吉里吉里のpatch.xp3みたいに同名のQNTがある場合 優先されるファイルってつくれないのかな 作ってる途中でCGを差し替えたりする時にいちいちAliceCG2するのが面倒なんだけども
初めてのゲーム製作を system4.0で開発しようとしていますが シナリオというか、全体の流れみたいのは 全部シナリオ.jaf(Popolytanの場合)に書き出すのでしょうか? とりあえず、メニュー周りを上の方に書いて 下は全部、シナリオで埋めるのかなぁと思っております
全部、単一のファイルに書いても構わない。 最初はそうするのが無難かもしれない。 ちょっとテキストの量が増えてくると一つのファイルだと破綻すると思うので そうなったらファイルを増やして、 〜〜.inc というファイルにjafファイルの一覧を入れればいい
>>455 レスありがとうございます。
管理が少々面倒になるまでは
シナリオ.jafだけで行おうと思います。
ロマサガ風の戦闘で通常のインターフェイスがGALZOOっぽいRPGを (アリス儲なんで)System4で作ってみようと思ったんだけど、 スレ見てみた感じもう廃れ気味のツールっぽい? 他にRPG製作に適してる開発ソフトあるかな? ツクールXPじゃ物足りなくなって、吉里は合わなかったんで。
公式のページ無くなってね?
公式では配布無くなってるね 時間が取れそうなんで久しぶりになんか作ろうと思ってるけど 書き方とかすっかり忘れてるわー
ジョイパッドを接続してないと思うんだけど 1が返ってくるよー
もう公開されることないのかなぁ〜
あ、公式でって意味です。
エイプリルフール仕様だからどこまで本当か解らないけれど 今回のイヤな闘神3ベンチマークでsystem40.exe最後らしいね 次のシステムも公開してくれるんだろうか
次のシステムも公開して欲しいですね。
あれSystem5開発完了宣言だったのか?
どうなんでしょうね。 System5なのか、System4のマイナーバージョンアップか。
>あ、ちなみに実行ファイル名がHinomaru.exeですが、 >これが正式採用されることはありませんが、次回から >System40.exeではなくなるのですよー。さよなら40。 このコメントだけだとよく解らないなー マイナーバージョンアップの可能性もあるか
system4.0で作ってる内にsystem4.0自体が終わってしまうとは…悲しい。 2年越しだし、せめても夏あたりには完成させたいなぁ。 system5.0も公開されるのかなぁ。 最近のアリスソフトはそこまでオープンにする気がないような気もする。
また熱心に要望すれば、公開されるかもね。
とり退社か・・・
古参スタッフがまた一人・・・。
ここはまだ人がいるのだろうか…。 MSC_PLAY() を使って、何度もBGMをクロスフェイドでチェンジしていると、時折、 ■ERROR - 使用中のチャンネルをDeleteせずCreateした CSactMusicChannel::Create というエラーメッセージがsys42ideに表示されて音楽が止まってしまいます(ゲームは進行する)。 この対処法が分からず、再現しにくく困っています。お知恵を拝借できないでしょうか。
>>472 BGM用の関数作っていちいちMSC_STOPかましてもなる時はなるね
ある程度時間に余裕を持ってフェードアウトすれば
少しは止まりにくくなるような気がするけどよく解らないな
>>473 音楽の切り替えが多いので、MSC_STOPだと切り替えのテンポが難点…。
フェードアウトに余裕を持たせるしかないですね。
テンポと安定性で妥協できる点を探してみます。
ありがとうございました。
『僕だけの保健室』から ウィンドウサイズを変更できる様になったんだってな
館2010に新しいsystemキットが入るって事はない……よなorz exeだけ入れ替えた古いsys4.2でもいいから収録して欲しいな
477 :
名前は開発中のものです。 :2009/10/08(木) 18:39:30 ID:AvzZCz1x
age
478 :
472 :2009/10/08(木) 22:29:55 ID:kgV6L1Jn
開発もデバッグを残すのみなのですが、やはり上記472のバグが取れず…。結構な頻度で発生します。 エンディングとかで無音になると非常に気まずい感じです。 クロスフェイドは諦めて、MSC_STOPを用い、音楽変える前後に、MSC_GET_PLAY_NUM と MSC_IS_PLAY でチェックはしているのですが…。 対処法に何かアイデアはないでしょうか。
>>478 手元の環境では、エラーが出ても音楽は止まらないな。
ちょっと弄ったら、エラーが出にくくなったけど、
違う問題が出そうな気もする。
System\SACT\sound\CSactBGM.jaf の85行目。
m_asmc.Alloc(2); の数字を上げると出にくくなる。
ただ、これを5以上にするなら、
System\SACT\sound\music_system.jaf の2行目。
const int g_nSactMusicDataMaxNum = 4;
の、数値を上げないと駄目かも。
480 :
472 :2009/10/17(土) 01:26:25 ID:94aBbUnB
>>479 ありがとうございます。
あまり深い理解がないので、その周りを弄るのは怖いなぁ…。
と、色々試してみましたが、
音楽のフェードが完了する前に、新たに音楽系コマンドを実行すると発生することが分かりましたので、
音楽チェンジ前後に、フェード分の確実にウエイトを入れることで対応しました。
これまでオプションでゲーム全体のウエイトを可変にしてたので、場合によってフェード中に音楽切り替えをしていたようです。
現時点ではエラー発生0となりました。
やはりフェードが噛んでたのか m_asmc.Alloc(2); が同時にフェード処理できる曲数設定なのかな? しばらく次作作る予定無いけど参考にさせてもらいます
System4のことではないのだが… 今、System3.6開発キットってダウンロードできる? マニュアル.txtが見たいの。
若干の遅レスですが、開発キットのネット公開は 3.9からだったと思います。 3.6はぱすチャとかのおまけCDに入ってた気が。
今1からsystem4.0を知ろうとしたらどこか良いサイトはありますか? 参考にするサイトが少ないのは探し方が悪いのか、使用者がいないからなのか・・。
何か書き込みがあるとすぐ反応が来るこのスレが一番良かったりしてw 現バージョンのシステムってどうなってるのかねぇ。 アリス2010を見ると、DLL周りは変わってないみたいだから大筋はSystem4なんだろうけど、 ゲーム毎のDLLにしてた分を直接デコーダ部に組み込んでexeにしてるのかな。 というか、闘神IIあたりからアリスゲーやってるけど、 起動ファイルがSystemXX.exeじゃなくなったのってすごい事のような気がするw
>>487 たしかに、exeごとにファイルサイズが違うなー。
どうなってるんだろう。
>>486 そういえば私家版はるうられのサイトってwikiに追加していいものかどうか迷う
vipのしまいま改造スレと同じでオフィシャル画像使ってるからなあ
>>489 オフィシャルALDの読み込みが完全に撤廃されたらとか?
でも完全に初手を間違えてるからなぁ。
最初から全部オリジナルだったら歓迎できたかもしれんし、
向こうでも今ほど反感買わなかったと思うんだけど。
印象って大事。
>>490 どうなんだろう。
下手に「完全オリジナル」とか言うと、それはそれで反感買った
ような気もする。類似品というか、要するにパチもんの無償配布
ってことになるし。
結局、手を出したこと自体が間違いなんじゃないかなぁ。
492 :
490 :2010/02/12(金) 00:52:58 ID:89vlPUe3
>>491 俺も反対なんだけどね。
この時期にコピーでさらに公式ALD使うとかアホかと。
なんか将来実装されたらとか夢見てるけど逆の可能性は考えないのだろうかとかね。
ただ、クローンを作ること自体については何とも言えんし、
せっかくやってるんだから全否定したら可哀想かなと思って譲歩してみたら
>>490 になっただけ。
オリジナルってのは画像を最低限公式配布素材にするということで。
認められてるわけじゃない公式ALD読込よりはマシってだけだが。
まあ、もっとぶっちゃけると。
>いや最初はSystem4.0上でKAGスクリプト再生エンジン作ったぜすごいだろ!と自慢しようと思ったんだけど、
>吉里吉里スレでそんなこと言ったら袋だたきは目に見えてるし、
>System4.0スレはびっくりするほど寂れてるし、ということでここで自慢したかったんだ。ごめんね。
こんなこと書いちゃう人には来て欲しくないと思ったし、そのまま引きこもってりゃよかったのにと。
戦国ランスの画像を差し替えたいんだが誰かご教授してくり
蛙です。こちらで色々とアドバイスを頂いたおかげで system4.0で作っていたゲームも無事、完成・公開できました。 ありがとうございました。 現在、絵の練習などをしつつ、次作の準備中なのですが 1.公式のサポート・更新が望み薄であること 2.3Dの利用が難しいこと 3.通信の利用が難しいこと あたりがネックで、引き続き、system4.0を使うかどうか迷っています。 2.3.あたりを考え、HSPも触ってみたのですが 画像周りがsystem3.9に近く、system4.0に慣れた今となっては少し物足りません。 移行しない・HSPで頑張る、なども選択肢としてはありますが、 system4.0から移行する環境として、良い候補はないでしょうか。 (ここで聞くのもどうかとは思いますが)
他だとそれこそC++しか知らんからなぁw というか、これも今だと.netになるのか?
吉里吉里/KAGあたりでいいんちゃうの?
大事なことを書き忘れていた。 >494 完成おめでとう。 いつも作りかけばかりみたいな俺からすればそれだけですげぇ。
>>494 DXライブラリかなあ
コンパイラは無料のが使えるし、123の条件は満たしてる
蛙です。レスしようとしたら2chが落ちてました。 吉里吉里はsystem4.0とかなり似ていて良かったのですが、 3Dの組み込みがIrrlichtあたりで、あまり例もなかったため、断念しました。 DXライブラリは画面の作り方がSYSTEM3.9ライクなので個人的には微妙なのですが 実際に3Dを表示させるまでの障害があまりなく、VC++ダウンロードして数時間で動いたため しばらくこれで行ってみようかと思います。 情報ありがとうございました。助かりました。 >> 497 ありがとうございます。 今回は開発期間が2年くらいあったので、途中でエターなる恐怖がひしひしと。 無事終わってホッとしてます。
500 :
名前は開発中のものです。 :2010/04/01(木) 12:45:59 ID:+K0kKWEt
system4.0でスクリーンショットを保存、または読み込みや フルスクリーン時のサイズ指定やディスプレイの画面サイズ取得 を行うことは可能でしょうか?
スクリーンショットの読み書き機能はない フルスクリーン時の解像度はウィンドウサイズと同じだから そこでの制御はできると思うが… ディスプレイサイズの取得はできないと思う スクリーンショットとディスプレイ情報の取得はなんかDLL書ければできそうな気がするけど
502 :
名前は開発中のものです。 :2010/04/02(金) 01:57:46 ID:v/1ba1uV
>>501 おお、こんなに返信が早いとはおもいませんでした。
情報ありがとうございます。
DLL開発が必要ですか・・・
そっちの方面で今の自分にできるかどうか調べてみたいと思います。
保守
もう配布してないのか
おーありがとう まだ見てる人いたんだな
507 :
名前は開発中のものです。 :2010/09/12(日) 17:03:43 ID:ilXb30sM
今日からSystem4.0利用してゲーム作ろうと思います ユーザーの少なさが気になるけどシミュレーションを安定して作るならやっぱSystem4.0が一番いいかなーと思ってしまう しかし、スレすら数ヶ月ぶりに更新があるって状況かwww やっぱユーザー数少ないなあ…… ここ見てる人達はどんなの作ってるんですかね
>>507 小さいものをちょこっと
あーだこーだ悩んで関数作りまくったパズル系よりも
フラグ管理だけのADVの方が好評だったりして微妙に腑に落ちなかったりする
しばらく触ってなかったので今度紙芝居ものでも手慣らしに作ろうかと思ってる
まあ思ってるだけなw
VAが開発エンジン無償貸与しだしたみたいだけど このスレの人たち的にはどうですか
「VA」ってなんじゃらほい?
ビジュアルアーツです
ADV作るならいいような気もする このエンジンで他ジャンルのゲームあったっけ? でもライセンス制なのでちょっと試したい人には敷居が高いと思う 個人的には完成するかどうか解らないゲーム作るために申請はしたくないなあ 自分を追い込む材料にはなるかもしれないけど
VAのゲームはやったことないけど、 twitterのやりとり見るとミニゲームは実績がある? あとライセンス制もだけど、 馬場社長のツイート見ても割とプレッシャーw 規約見るとライセンス周りも 将来どうなるかみたいな感じで試してるっぽいけど。
そういえばミニゲームとかあったな ライセンスめんどいから試してないけど使ってみたいレベル けどめんどくさい
登録してまで試してみようと思えない 選択肢が無いわけじゃあるまいし
517 :
509 :2010/09/21(火) 13:36:25 ID:AS7kwbOS
RealLive製のADV以外のタイトルは 私の知る範囲では無いのですが リトルバスターズの野球練習とガンシューティング 智代アフターのシミュレーションRPGといった 結構動きのあるゲーム内ミニゲームならありますね System4.0のように やろうと思えば 単純なADV以外にも色んなことができるシステムのようです マニュアルやチュートリアルも 予想より充実している印象で 使い方に関する掲示板もあります ただ、やはり今のところ登録が必要なことが 一番のネックのようですね 皆さんレスありがとうございました
518 :
名前は開発中のものです。 :2010/12/01(水) 22:27:17 ID:LlJb+Xd+
キャラクターのステータスみたいなのがどこにあるのが教えてください ゲームいじくりたくていろいろ調べては見たんだが
改造の話は板違い
スレチすまん
しかしなんで流行らないかったんだろうか。 IDEが使いにくい面は確かにある。 けど、そこそこ高速な実行ファイルが作れて、チュートリアルもちゃんとある。 どういうものが作れるかも本家が売り物として高いクオリティのものを 出してくれてるからよくわかる。 サンプルにできるサイトが無い、っていうのはそうなんだけど、 どんな言語であれ、黎明期はそんなもんだろうし、実際、公開当初は もうちょっとサンプル公開してるサイトもあったと思う(今消滅してるだけで)。 最近になって手を出した身としてはこれもっと流行っていて良いと思うんだよ。
エンジン自体は凄い手がかかってそうだけど ユーザーから見たらスプライトと日本語識別子が使えるだけの簡易版C++でしかない Sys3sdkのときはもうちょっと人いたみたいだから 4になってなんかパワーダウンした気はするけど。
これに問題があったというより、便利・簡単で情報一杯なソフトが既に色々あったし、 ゲーム一本それっぽく仕上げる敷居がそれらと比べてやたら高いし 出来の良し悪しはともかく、埋もれたのは当然の結果だと思う
プログラミング言語としてのデキから考えたら、どう考えても 3 より 4 のほうが人気があって おかしくない。 ← これはたとえば吉里吉里のプログラミング言語としての出来とかと比較して、って意味ね 単純に他の選択肢が増えて人が流れた、ってだけでしょ。 もうひとつは KAG とか N スクみたいにプログラミング言語というより DSL 的なものが 求められてるから、かな。
保守
528 :
名前は開発中のものです。 :2011/04/14(木) 23:19:33.82 ID:RDtbrrun
あげ
qntを他の画像ファイルにする方法はないのかなぁ? ググッて出てくるsusieのプラグイン、もうサイトが閉鎖してて手に入んないんだよな 戦ランの素材使って、ゲーム作ってみようと思ったのに……
変数の数値を画面に表示したいんだが printf的な関数はないのか?
文字出力もマニュアルに載ってたはず A() だったかな、サンプルプログラム用の関数かSys4のAPIか忘れたけど
>>531 即レスサンクス
過疎ってるから、他のスレにおんなじ内容書いちまったよw
早速やってみる
ifdefでソースコードを除外する為の定義ってどうすればいいんですか?
ifdefあったっけーと思ってマニュアル見たらあった でもシンボルの定義の説明が載ってないな 解凍したSDKのポポリタンを2箇所弄って確認してみた (game_main.jaf) void game_main(void) { ifdef でばっぐびるど タイトル画面(); endif } (Poporitan.jafの一部) // プロジェクト構成 Formation "Debug" { Define = "でばっぐびるど" } こうやってビルドしてIDEからDebugを選んで実行するとポポリタンが走るけど Releaseを選んで実行するとウィンドウがすぐ消えて終了する 以下どうでもいい余談 久しぶりに古いSys4を起動したらフォントが汚くてワロタ 最近のアリスはフォントワークスで買ったデータ使って綺麗な字を出すようになってるみたいだからMSゴシックが懐かしかった 妹尾雄大絶対暇してるわ
pjeファイルの方にあったんですね。 無事できました。ありがとうございます。
配列の宣言が 『array@データ型@』 とか、めんどくさすぎる 妹尾さんなんで普通に 『データ型[]』 にしなかったんだ……orz
保守
Is復活()
おっす
やあやあ
保守っておくか
日本語使えるのが超ありがたい
Sys42IDE.exe実行
ぴんぽーん♪
system4.0使った同人作品とか何あるのよ
あっちっち
保守
保守
保守
550 :
名前は開発中のものです。 :2014/01/17(金) 05:07:15.79 ID:OK6ZcH9O
「JAVA ALICE 3D」でググッたらココに来てた、 どちらにしてもBASICしか出来無い自分には無理みたいだ。
それだけ出来れば十分だ あとは覚えるだけ
今使ってる人いる?