したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

RUINATERRA開発スレッド

1kazuki@Abars:2004/08/02(月) 13:28 ID:CiXGq7UI
という事でRUINATERRAをオープンソース化しました。
このスレッドは、オープンソースプロジェクトという形で、
RUINATERRAを開発するためのスレッドです。

RUINATERRAのソースコードのフルセットは以下からDLできます。
http://www.coins.tsukuba.ac.jp/~i021168/RUINATERRA_SOURCE_CODE.LZH

仕様書は無いので、仕様についての質問はこのスレッドでどうぞ。
なお、フルセットに含まれるツールを使えば、ステージやアイテムを編集する事も可能です。
ただ、自分のデータだけ書き換えてしまうと、ネットワークプレイをした場合に、
他のプレイヤーとデータが違うわけですから不具合が起こってしまいます。
不正利用・チート目的の利用は禁止いたします。
十分な知識の無い方はダウンロードしない方が無難です。
普通に遊ぶ分には、ここにあるフルセットをダウンロードする必要は全くありません。

チート目的にも利用できるという面で、厳選した人にだけソースコードを配布するべきだという意見もあると思います。
ですが個人的にはオープンソースにするからには、
できるだけ自由に、気軽に、多くの方に開発に参加して頂きたいな、という考えがあり、
従って誰でもソースコードをダウンロードできるという形にしました。
ツールなどの悪用も可能ですが、どのみちチートが蔓延している現在、
公開によるデメリットよりもメリットの方が多いと考えます。

2シェキル:2004/08/02(月) 16:05 ID:rGUX5Z6s
ルイナ開発かぁKAZUKIさんがんばってくださいね。

3:2004/08/02(月) 16:38 ID:YCsdVRJA
DLさせて頂きました。
暫くは判りやすくする為のコメントの追加・インデント整理などなので
ソースの改造はまだ出来ないかもしれません。
汚いソースと言われましたが失礼ながらそうかもしれません(苦笑

1つのソースファイルが大きいのでいまいち全把握が出来ない。
そのままソース修正よりプロジェクトに
ソースを分割してゲームソースのようにするのが先でしょうか(汗
Main関数・Item関係・Enemy関連・Magic関連など項目1つにつき1ソースファイルと
いう感じに分割すると修正楽と思ったり、機能追加しやすいかもしれなかったり。
それらは他の開発する人に意見聞いてから分割したいです。

kzk.hですが、これ本当にヘッダファイルなのでしょうか(汗
素晴らしくソースまみれです<良い意味です(汗
これはVerUPに骨折れるといわれても仕方ないかもと思いました(汗

使い方解るツールと解らないツールがあるので使い方も覚えなければなりません。
ここ一週間は自分はVerUP参加できないと思います(ToT)

4シェキル:2004/08/02(月) 19:03 ID:IQmdVCpw
あのぉおれ良く分からんです。なにせ知識0ですから・・・・がんばってください。

5Tech:2004/08/02(月) 20:26 ID:ZKetGUp.
おぉおお!
何だかどんどんステージとかが増えていきそうな予感もします。
ただ、チーターも増えていってしまいそうな予感の方が大きいのも事実です・・・

6色(銃武器処理追加作業開始):2004/08/02(月) 22:23 ID:YCsdVRJA
ようやく全コード読み終わりました。
理解半分程度しか無理&何故かビルド出来ないエラー出てたんで落としなおし。
ステージなどはプログラム知識要らなさそうなので、やれる他のユーザさんに任せます。

とりあえずはcppを関連で分解してみます。(私は小さいコードが何個もある方が見やすいので)

その後は簡単そうな銃武器の追加
(飛ばすなどは魔法処理をパクったり見てやります)
必ず当たったりしないようにしないと行けないのと、
飛ぶ事で他の武器より強くなりそうなのですが、
それらの処理は難しいので後回しとします。
まず、飛び武器開発を先にやってみます。

多分、一週間くらいかかりそうです。すみません。
先に実装しちゃっても構いませんです。その際は参考にさせて頂きます(汗

弾という魔法みたいな処理を作ってそれを銃系の武器の時だけ発射すれば良いはず。
攻撃処理に判断つけるのと銃武器のデータ&飛ぶ処理など。
まずは、フラマなどの処理をパクってみます(汗
チートとかよりこちらの方が技術上がりますし積極的にやって行きたいです。

7にょーにょー:2004/08/03(火) 02:58 ID:BssUH.qk
ルイナがオープンソースですか。
全ソースを30分程度ですが・・・サラサラと読ませていただきました。
(ソースが塊になってるんでちょっと読みずらかったですがw)
それにしても、これほどデカイヘッダファイルを見たのは久々ですよ

それに、微妙に意外な処理がたくさんあって驚かされましたしw(両方)
あと、バージョンアップには少しソースの整理が必要だと思いました。

とりあえずソース見るだけで、勉強になりましたのでオープンソースにしていた抱いたことに感謝します。

8シェキル:2004/08/03(火) 13:28 ID:OJc/96us
ついに、銃系の武器登場か・・・・(ヤッタネ)フラマですか武器によって、かわったりするんですか?

9天使 ホワイトソルジァー:2004/08/03(火) 16:48 ID:xnLvZ3D.
でどのぐらいかかりますか?

10名無しさん:2004/08/03(火) 18:35 ID:h08BPoH.
DLしたやつに入ってたチャットログがすごく笑えたw

11:2004/08/04(水) 08:40 ID:YCsdVRJA
武器で魔法が出るように処理したので、武器が銃の時だけその処理にしなきゃ。
ゴニョゴニョと弄っております。

ソース分割しようとしたけど宣言やるのかなりめんどくさいので
そのまま…

それと、何故かうちのVC++じゃこんなエラーが出るんですが…何故でしょう?
DirectXは正しく入れてるはずなんですが(汗 9じゃ駄目ですかね?
(別のPCで開発してるがメインでやりたい…)

kzk.obj : error LNK2001: 外部シンボル "_DirectDrawCreate@12" は未解決です
kzk.obj : error LNK2001: 外部シンボル "_D3DXCreateSprite@8" は未解決です
kzk.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4" は未解決です
kzk.obj : error LNK2001: 外部シンボル "_c_dfDIKeyboard" は未解決です
kzk.obj : error LNK2001: 外部シンボル "_DXTraceA@20" は未解決です

12ベル:2004/08/04(水) 13:32 ID:DXt/iJ9k
KAZUKIさんお帰りなさい。
ついにオープンですか。
とりあえずソース見せていただきます。
時間とれたら開発参加してみます。

13イセリア:2004/08/04(水) 17:34 ID:TJB1/r52
PV-WAVEでの仕事だけど、GUI方面はVCで作ることになりました。
DirectXは使わないから分からないままだと思うけど、これでCの勉強もする事が決定しましたので、その勉強も含めて参加させて頂きます。
まずはソース見なきゃ〜っとv
3年ぶりのCだから殆ど忘れてるわw
あんまり期待はしない方がいいかもです。みんなみたいに頭良くないもんw
まぁ、あたいは要望中心という事で(ぉ
テストする方にも周れますです。休みの日くらいなら出来るわv

敵やアイテムを作るツールなのかな?これ。
実際に使えるかどうかは分かりませんが、時間あれば試してみるわねv
自分で作ってみて試験して、いいのが出来たら提案しようとも思ってます。

14レンディバー:2004/08/04(水) 17:52 ID:SoACofCk
>>11 色さん
初めまして。
こちらの方でも試してみましたが(DirectX 9.0b SDKで)、同じようなリンカ
エラーが60個近く出ました。でも、バージョン9でも8は扱えるので、
スタティックライブラリをリンクすればビルドは出来るはず…(VC6ですよね?)。
Visual Studio .NET用のプロジェクトがあったので、その中の
AdditionalDependenciesを参考にpragmaでリンクしてみました。

#pragma comment( lib, "dxguid.lib" )
#pragma comment( lib, "d3d8.lib" )
#pragma comment( lib, "d3dx8.lib" )
#pragma comment( lib, "ddraw.lib" )
#pragma comment( lib, "dinput8.lib" )
#pragma comment( lib, "imm32.lib" )
#pragma comment( lib, "winmm.lib" )
#pragma comment( lib, "wsock32.lib" )
#pragma comment( lib, "wininet.lib" )
#if defined(DEBUG) | defined(_DEBUG)
#pragma comment( lib, "dxerr8.lib" )
#endif defined(DEBUG) | defined(_DEBUG)

kzk.hの頭の方に書いておけば大丈夫だと思います。

…ただ、Debugビルドすると出てくるDXTRACEのエラーメッセージで、
DirectInputDevice8の初期化に失敗するのは何でなんでしょう…。

>>12 イセリアさん
初めまして。
何だか賑やかになってきましたね。3年ぶりのCなんですか。
僕は小学校3年生の頃、BORLANDのTurbo C++ 3.0をかじろうと思って、
OWLとかファイルストリームとかの概念とかで詰まって6年くらい放置していた
ことがありました(汗)。
今見てみるとOWLはMFCにとてもよく似ているような気がします。



……雑談用じゃないのに前回のレスよりも長くなってしまった……(汗

15レンディバー:2004/08/04(水) 18:12 ID:SoACofCk
ごめんなさい、上のpragmaディレクティブを貼り付けた後の607行辺り、
エラーが出るのはデバッグの時にパッドコントローラが接続されているかどうかを
確認するためだけだったみたいで、普通にキーボードも有効になりました(汗)。
でも、ビルドしたやつはそれ以外の挙動が色々と不自然なんですが……。
まだまだ色々と確認しなければ…(ソース読破してないし…)。

16:2004/08/04(水) 20:22 ID:YCsdVRJA
レンディバーさん、申し訳ありません。それでも無理でした(汗
うちの開発用はNETなんですが、メインは6です。

kazukiさんのVerいくらかしりませんが良ければ
dswなどのプロジェクトファイルも入れてほしかったです(汗

銃武器の判断追加(防具とかの判断みたいなのパクってる)
…とてつもなく変なんで修正作業とバランス直しなど。
うはー、難しいっすーーー。

17名無しさん:2004/08/04(水) 22:27 ID:h08BPoH.
ちょっと面白いこと思いついたのでカキコw
チームバトルってのはどうですか?w

18レンディバー:2004/08/04(水) 23:26 ID:SoACofCk
あれ、だめでしたか?(汗
VS .NETがあると言うことは、kzk.vcprojを使った場合は正常にビルドできて、
VC6で新たに作ったワークスペースとプロジェクトでは上手くいってないんですよね。
Kazukiさんも最初はVC6、今はVC7みたいなのでVC6でも動くと思うんですが…。
とりあえずこっちでは動いてるので、dsp、dsw、kzk.hをセットにして
一時的にアップロードしてみます。
http://www.abars.net/~rendivar/ruinatemp/project.lzh (51.6KB)
kzk.hの変更点は#pragma書いただけです。
ちなみに環境は、
 一応、Microsoft Windows XP Home Edition Service Pack 1
 Microsoft Visual C++ 6.0 Service Pack 6
 一応、Microsoft Platform SDK February 2003(Core SDKのみ)
 Microsoft DirectX 9.0b SDK & Runtime
です。
Ruinaterra.dspには、kzk.cpp、kzk.rc、kzk.hしか追加していません。
あ、あとこんなことを訊いて申し訳ないんですが、
DirectX SDKのインストール場所(デフォルトでC:\DXSDK)のLibディレクトリは、
「ツール」メニュー->「オプション」項目->「ディレクトリ」タブのライブラリファイルの
パスに登録してありますか?
…あーでももし登録していなかったらfatal errorになりますよね…うーん…。
ごめんなさい、やっぱり分かりません(汗

19:2004/08/05(木) 08:04 ID:YCsdVRJA
DirectXの入れなおしと↑のファイルでも警告出たので
C++自身の設定を全初期化し、何とかビルドできました。
(どうやらうちのC++設定がおかしかったみたいです。迷惑かけました)
レンディバーさん、わざわざ有難うございましたm(_ _)m
しかし、Microsoft Platform SDK February 2003入れてないかもしれません。
後で入れときます(ーー;

VC.netのファイル全移行と修正中。
変な汚いソースなのでなるべく綺麗に纏めています(汗
銃器、バランス悪すぎなんでもう暫くゴニョゴニョ。

>>17
チームバトルは難しいですね。うちにはそんな実装無理っす orz

バトルシステムで問題だったLVの違いがあるので
バトルマップに移る時、一時的にキャラを初期値にもどすとかありましたね。
って、この仕様だとバトル中に落ちると下手にデータが初期値のままセーブされるとかありそうで(汗
Nosaveチェック作って、そのチェックが付いてる時は一切セーブされないとか作れば(あぅあぅ、無理

出来る事から一歩ずつ orz

20kazuki@Abars:2004/08/05(木) 08:59 ID:G60pRHG.
お疲れ様ですー。
何とかコンパイル通ったようでよかったです。

確かにこれは既にヘッダファイルと呼べるものじゃないですね(汗
僕はELからウィンドウズプログラミングに入った人間なので、
ライブラリ側とメイン側の二つのファイルでプログラム書いちゃうんです。
最近はその再利用性の無さに気づいてきて、微妙に分割方向には向かってるのですが。
VCのエディタは、クラスウィザードで好きなクラスに簡単に飛べるので、
分割しなくてもさほど問題ないんですよねー。自分で保守管理する分には。

バトル。
セーブは、Chardata::Saveでだけしか行ってないはずです。
なので、フラグ判定をこの関数の先頭に追加しちゃえば、
Nosaveフラグは作れますねー。

21レンディバー:2004/08/06(金) 00:47 ID:DiJ5Q7vU
>>19 色さん
おぉ、ビルドできたようで何よりです。
Platform SDK February 2003のCore SDKは、GDI+が欲しくてダウンロードしたので
(結局まだ使ってませんが)、Ruinaterraをビルドする分には影響はないと思います。
今見たらCOMという文字も見えましたけど、多分。
もしかすると、Windows 2000、2003.03のSDKなしの環境でExitThreadを使うと、挙動が変
(スレッドが中止されない)のは2003.03SDK入れていないせいなのかも知れません(未確認)。

ソース整理、系統ごとにファイルを分割するのと、オブジェクト指向にするのが
いいんでしょうか。複数人でプログラムを書いたことは無いんですが、
どこかのページにオブジェクト指向は複数人で開発するのに向いている、
と書かれていたような気がします。
問題は作業量でしょうか。ちょくちょく書き直して行けたら…。
あと、割とどうでもいいんですがWING_MAXなどの定数を使って配列を静的に
確保している部分、newと線形リストで数の制限を無くしたいなぁ…と。
ユーザーに殆ど還元されなさそうなので結構どうでもいいかも…。
むしろ、オープンソースプロジェクト全体の方向性とかを出し合って
まとめた方がいいんでしょうか。

>>20 Kazukiさん
なるほど、クラスウィザードと言うものがあることを今思い出しました(汗)。
VC使い始めた頃はCで書いていて、クラスとは無縁だったのですっかり…
大きなソースの時は専らウィザードバーの関数の定義位置で頑張っていました。
VC++のドキュメントは殆ど読まないので、プロファイルが使えることも最近(^ ^;)知りました。

そういえば、ソースコードフルセットのアーカイブですが、片っ端からDebug、
Releaseディレクトリを消してlh5で圧縮したら、10MBまで縮みました :)
時間的に余裕があればお試し下さい。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板