5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

phpで多人数型ウェブゲームを作ろうと思います。

1 :名前は開発中のものです。:04/11/23 02:35:53 ID:DdYukqhF
はじめまして。
私、最近転職致しまして、ソフトウェア制作の会社に勤めております。
プログラミングのこともあらかたわかってきたので、念願の
オリジナルゲーム作りに着手しようかと思います。
以前はTV業界にいたので、楽しませることに関してはなんとかなると思います。

・言語はphp
・ウェブゲーム
・後にクライアントが変わってもいいように汎用性を持たせる。
・CVSをでデータベースを構築する。
・ADODBを使用して別のデータベースに以降できるようにする。
・多人数型RPG
・トレード、クエスト、座標を元にした場所の概念は初期に実装したい。

以上です。ただいまDBの設計を行っています。
キャラクター、アイテム、装備、ログ、でとりあえず分けて
データの取り出し、更新がコード上でできるところまで作ろうと思います。
皆さんのお知恵を拝借できたらと思います。
よろしくお願いします。


2 :名前は開発中のものです。:04/11/23 02:43:52 ID:4xA6ooAS
おまんこ女学院


3 :名前は開発中のものです。:04/11/23 03:05:06 ID:DdYukqhF
とりあえず、キャラクターのDB設計図はっときます。
キャラクター
Autoid, HP, MHP,MP, MMP, Str,Def, Int, Wis, Chr, Dex, Agl, Mgr, Krm

自動ID、体力、体力最大値、魔力、魔力最大値、力、防御、知性、賢さ、魅力、器用さ、素早さ、魔法抵抗力、カルマ

装備品
Autoid, weapon, armor, shield

所持品
Autoid, item1, item2, item3, item4, item5, item6

Autoidでjoinする。

4 :名前は開発中のものです。:04/11/23 03:06:44 ID:DdYukqhF
ここで早速なんですが、
所持品の数に制限がでてしまいますね、、
フィールドを最大値を見越して設計しちゃっていいのでしょうか。
バッグパックなどゲットしたら最大値が伸びるって事でいいのかな?
なんかあんまり賢くないですけどとりあえずそれでいきます。


5 :名前は開発中のものです。:04/11/23 03:35:41 ID:17k/XM9k
ゲームのDBはしらんけど、普通のDBなら正規化する罠

6 :名前は開発中のものです。:04/11/23 03:41:07 ID:DdYukqhF
>5
すいません、詳しく教えてください。
実は業務アプリのDBしかあつかったことがないので、
とんでもない間違いしてるかもと不安です。

7 :名前は開発中のものです。:04/11/23 04:04:36 ID:1K61HpNy
ものすごい釣りだな。

8 :名前は開発中のものです。:04/11/23 06:39:23 ID:0/lGUmtT
CGIだけでゲーム作る気なら
箱庭諸島ぐらいが限界


9 :名前は開発中のものです。:04/11/23 07:45:08 ID:0Xmb1bTq
PHPならSQLiteかMySQLを使えばいいんじゃないか?

10 :名前は開発中のものです。:04/11/23 12:18:33 ID:llkkGxaL
autoid(PK) slotid(PK) itemid みたく出来ないもんかね

11 :名前は開発中のものです。:04/11/23 12:54:09 ID:DdYukqhF
mySqlに慣れているのでmySqlを使うつもりです。
ADODBを使えば、テキストもDBとして扱えるので、配布するときに
足かせにならないかなと考えています。
速度がどんな物か未知数ですが。

>10どういう意味でしょうか?よろしければ解説願います。
面倒なら初歩的な概念が学べる書籍など教えて頂ければ幸いです。って
それも面倒だったら流してください。

12 :名前は開発中のものです。:04/11/23 13:23:43 ID:0Xmb1bTq
>>1
どんなゲームなの?
CGIでRPGなら一歩、歩くごとにリロードが発生しそうだけど。

13 :名前は開発中のものです。:04/11/23 13:45:19 ID:DdYukqhF
>12
script of sagaや、罪と罰を参考にしたいと思います。
移動の概念は大航海時代とかティルナノーグの様な概念で
やりたいと思います。ただし、場所の概念として座標は持たしたいと
考えています。
なぜかというと、プレイヤー同士で遭遇させたいと思っているからです。
ただし初期バージョンはそこまで実装は難しそうなので、とりあえず
移動の概念だけは入れておきたいです。
ベースになる概念は最小限かつ用件を満たす物にしたいと、、、
どういうゲームにするかは、まだ私もぼんやりとしか見えていませんが、
とりあえず現在はベースになるDBの部分の設計という段階です。
今日の深夜にはもうちょっと進んだDBの設計図を張りたいと思っています。

14 :名前は開発中のものです。:04/11/23 17:56:42 ID:yGq5cVAi
今はなつかしスペルバウンドみたいなやつと見た!

15 :名前は開発中のものです。:04/11/23 18:45:06 ID:DdYukqhF
スペルバウンドほど手をかけなくてもプレイ出来るようにしたいんですが、、
まだその辺の実際のプレイ感までは全然わからないです。
とりあえず数値の管理と出し入れをまとめ上げようと思います。
後はなんとかほかのゲームに無いような要素を取り入れたいと考えています。
npcとpcの区別を完全に付かなくするとか、、
プレイヤーがクエストを作れるとか、、
うーん実装が大変そうな割にはすでにありそうなネタしか思いつきません。

16 :名前は開発中のものです。:04/11/24 18:10:55 ID:+SU9aHZN
シムピープルのようにある程度勝手に行動して
それでいてRPGになってるものにしたくなってきました。

17 :名前は開発中のものです。:04/11/24 20:04:53 ID:aOjXkhh9
まずはSQLのcreate tableを全部見せて欲しいところ
というか>>3の感じだと別に1つのtableでもいいよね。だから所持品数に制限が出てしまう、と。

18 :名前は開発中のものです。:04/11/24 23:37:46 ID:+SU9aHZN
>17レスありがとうございます。
create sql文を今から書きます。
とりあえず。



19 :名前は開発中のものです。:04/11/24 23:39:16 ID:+SU9aHZN
キャラクター
Charid, Name, SurName, HP, MHP,MP, MMP, Str,Def, Int, Wis, Chr, Dex, Agl, Mgr, Krm,Type, Image, Exp

キャラクターのID(join用)、名前、名字、体力、体力最大値、魔力、魔力最大値、力、防御、知性、賢さ、魅力、器用さ、素早さ、魔法抵抗力、カルマ、キャラ画像アドレス、経験値

キャラクタ所持装備品
Charid, weapon, shield, Helm, Breast, Arm, Leg, Ring, Acce

Equipid がそれぞれに当てはまる。

キャラクタの持つ所持品
Charid, Itemid,
初期は8個までで、バッグパックを買うと上限が増える

20 :名前は開発中のものです。:04/11/24 23:41:13 ID:+SU9aHZN

装備品リスト

Equipid, Pos , Name, MHP, MMP, Str,Def, Int, Wis, Chr, Dex, Agl, Mgr, Krm, Type,

装備品はキャラクターの各パラメータを加算するか減算するかという概念とする。Typeは属性
特殊な能力とかどうするか?変装とか

アイテムリスト
Itemid, Name, Cont, MHP, MMP, Str,Def, Int, Wis, Chr, Dex, Agl, Mgr, Krm, Type

Contは持続ターン数、使い捨て、一回戦闘のみ、数ターン持続など。



21 :名前は開発中のものです。:04/11/25 00:38:31 ID:RP8UA3br
sql文は完成して、実際にDBの作成まで行いました。
sql文は長すぎるのですが、やっぱどっかにupしたほうがいいでしょうか。

とりあえず、キャラ、アイテム、装備、とそのひも付け。
までです。ふーつかれた。先は長い、、

次の目標は、マップと座標、町の名前、クエスト、などです。
クエストのDBはどう作ったらいいか今のところ全く見えていません。
選択肢と入れ子構造をどう実現するか、悩んでいます。アドバイス求む。

マップ上の移動はとりあえず、行き先だけ指定して、実行すると
一定の体力と時間を消費しながら徐々に移動して、その上の座標で
ほかのプレイヤーや敵に出会う感じにしようかと思っていますが、、
簡単に考えていたんですが、結構たいへんそうなので
座標は後で使うために作るだけ作っておこうかと思っています。

所持アイテムとか、DBの設計ってこんなんでいいのかなあ。
とりあえずデータ引っ張り出したりしまったりはできるように作りました。
速度や効率などは不明です。
意見を聞きたいのでage


22 :名前は開発中のものです。:04/11/25 01:47:03 ID:RP8UA3br
アイデアメモ
・キャラが自立的に行動する。
性格付けのパラメータの管理や自立行動のアルゴリズムが大変→知り合いのスーパープログラマ殿に相談中。

・会話システム
キャラクター同士が勝手に会話する。ポストペットの日記みたいに簡単なものでよい。
プレイヤーがセリフを登録できたら楽しいかな?
おまけ要素として入れたいが、実装はかなり大変そう。

・合成画像
phpで複数の画像を合成できる。最初は背景、キャラ二人、くらいの合成
から始めたい。(TV業界にいたので画像系は得意です)

・クエスト
文章が表示されて、分岐があって、パラメータが変化したりアイテムを取得したり、
と簡単に考えているが、ストーリーはここが肝となると思われる。
文章力が、、、心配。

23 :名前は開発中のものです。:04/11/25 02:23:45 ID:+aNrY01x
プレイヤーがどこまで関与するんだろう。

自立的に行動っていうと、プレイヤーは神視点というか、
キャラを見守りながら>>21のように、進むべき所をナビゲートする程度
(でキャラの機嫌が悪いと、指示通りに動いてくれなかったり)
というイメージがありますが…

それとも、ユーザーがキャラを直接操作するが、操作していない時に限って自立行動する
という感じなんでしょか。

24 :名前は開発中のものです。:04/11/25 08:54:36 ID:RP8UA3br
後者のようなイメージで考えています。
シムピープルのような感じを思っていたんですが、
あそこまでコントロールがきかないとなんだかつまらなさそうなので。
それでいて、ミニチュア世界に意志のあるおもちゃをばらまいたような、、
すいません。この辺は理想に走りすぎです。

25 :名前は開発中のものです。:04/11/25 20:02:56 ID:02lxzt6w
HPはないわ動くものはないはで更に理想が高すぎるというよくいるタイプの方ですね

26 :名前は開発中のものです。:04/11/25 20:27:23 ID:RP8UA3br
そうですね。
理想を語るのはやめます。
ある程度実装のめどが立っている物だけ話題にしたいと思います。

27 :名前は開発中のものです。:04/11/25 20:30:21 ID:RP8UA3br
自立行動はそれなりに実装の考えはあります。
性格のパラメータと過去の行動、その前の行動を記録して
現在の行動を決定するといった感じです。
数式的にはそれほど難しくないと考えています。
毎日一回のぞきに来たときに、俺のキャラ何やってるかな?
とちょっと楽しみに出来るような。
その楽しみを他のキャラとの会話なりクエストなりで表現したいと思います。


28 :名前は開発中のものです。:04/11/26 11:39:39 ID:yNCRErS/
ここに日記書いてどうすんだか。サイト立ち上げてそこでやりなさいよ。


29 :名前は開発中のものです。:04/11/27 14:05:14 ID:hkOrIlbJ
              __-==≡≡≡≡=-__
            /彡           ミ
           /:::彡    ___    ミ
           |:::::彡  .,,,,,,,    ,,,,,,,   ミ
           |::::::彡  ''''''''''    ''''''''''  |ミ
           ∩'''  ≡≦⊇ ::  ::⊆≧≡|
           |(        :: ..      ||
          . し      /( __ ,._)\  |    __________
            i   :::__./    ̄  ヽ_ |   /
             、    i <三.三> /  < >>1さん。あきらめな!!!いまどき、JAVA!!!!!
             ヽ           / /    \__________
               \  \     /
                |        |
  /ロ二二ロ二/■\二/■\二二二二/■\二/■\二l
  (´∀`∩  ∩(´∀` ) (´∀` )    ∩(´∀` ) (´∀` )
┌〔〔 〔〔V)  ヽ〔〔 〔〔 つ〔〔 〔〔 つ   ヽ〔〔 〔〔 つ〔〔 〔〔 つ
(_ノ〈 ||_|  (_ノ〈 ||_|(_ノ〈 ||_|    (_ノ〈 ||_|(_ノ〈 ||_|
   (__)     (__)   (__)       (__)   (__)
ムネオワショーイ    ムネオワショーイ
     ムネオワショーイ    ムネオワショーイ
          ムネオワショーイ    ムネオワショーイ


30 :名前は開発中のものです。:04/11/27 14:20:13 ID:hkOrIlbJ
    /::::::::::::::::::(  /::::::::::ヾ ヽ ヽゞ::::::::::::::::ヽ
   /::::::::::::::::::::::::::::::::::ヾ  i i ソ::::::::::::::::: ヽ
  /:::::::::::::::::::::::::::::::::::::ゞ ! i ゞ::::::::::::::::::ヽ
 /:::::::::::::::::::::──< ̄● ̄>─ | i |─< ̄● ̄>─:::::::ヽ
 |:::::::::::::::::::::/    ̄   ̄    ─ 、   ̄  ̄   ヽ::::::::|
. |:::::::::::::::::::/            /   ヽ         ヽ:::::::|
..|::::::::::::::::::/              i       |          \:::::|JAVAがすごいんだよぉ。>>1のヴぉケが。
.|:::::::::::::::::/              ヾ     丿        _ \::::|
..|::::::::::::::::/       ̄ ─ _    ` ─ ̄ '      ─ ̄    ヽ:::|
 |::::::::::::::::             ─ ー  | |  ー─ ̄        ヽ:|
 ヽ:::::::::::::: |     ━ ─ ─ ー ─ - | |  ─  ー ⌒ ─     |
  ヽ:::::::::::::|          _ _─ ─││ ──/ヽ_ヽ      |
   ヽ::::::::::::|      ─ ̄           _─ ̄  ノ  /─    |
    ヽ:::::::::::|          _ _ ─  ̄      / 丿     |
     ヽ::::::::::|        ヽ ̄    / ̄ - -_    / /      /
      \:::::::::|        \   ノ    -_ _ ) / /     /
       \:::::::|          \      ノ ─' ノ       /
         \:::::|            ─ _ __ ー '       /

31 :名前は開発中のものです。:04/11/27 16:42:45 ID:aKDEqImW
個人でやるネタは自分でサイト立ててやった方がいいよ。
そこで人集めて、この板で質問する時はもっと内容を一般化して
さりげなく訊いた方がいい。
個人が特定できると十中八九粘着が発生するからやめとけ。
というか初心者かおまいは

32 :名前は開発中のものです。:04/11/27 20:56:58 ID:LALCjdhT
とりあえず
キャラクター用のクラスを作ってみました。
数値の取得と更新はできるようになりました。

自立のアルゴリズムと、実際に操作する画面の構成を
いかにして無理なく合体させるかといったところで今悩んでいます。


33 :名前は開発中のものです。:04/11/29 01:17:26 ID:o+lkAEO1
CREATE TABLE `Equipments` (
`Equipid` int(6) NOT NULL auto_increment,
`Pos` varchar(11) default '0',
`Name` varchar(255) default 'NULL',
`MHP` int(11) default '0',
`MMP` int(11) default '0',
`Str` int(11) default '0',
`Def` int(11) default '0',
`Int` int(11) default '0',
`Wis` int(11) default '0',
`Chr` int(11) default '0',
`Dex` int(11) default '0',
`Agl` int(11) default '0',
`Mgr` int(11) default '0',
`Krm` int(11) default '0',
`Type` int(11) default '0',
PRIMARY KEY (`Equipid`)
) TYPE=MyISAM

CREATE TABLE `Equipped` (
`Charid` int(6) NOT NULL default '0',
`weapon` int(6) default '0',
`shield` int(6) default '0',
`helm` int(6) default '0',
`breast` int(6) default '0',
`arm` int(6) default '0',
`leg` int(6) default '0',
`ring` int(6) default '0',
`acce` int(6) default '0',
PRIMARY KEY (`Charid`)
) TYPE=MyISAM

34 :名前は開発中のものです。:04/11/29 01:18:16 ID:o+lkAEO1

CREATE TABLE `Items` (
`Itemid` int(6) NOT NULL default '0',
`Name` varchar(255) default 'NULL',
`HP` int(6) default NULL,
`MHP` int(11) default '0',
`MP` int(6) default NULL,
`MMP` int(11) default '0',
`Str` int(11) default '0',
`Def` int(11) default '0',
`Int` int(11) default '0',
`Wis` int(11) default '0',
`Chr` int(11) default '0',
`Dex` int(11) default '0',
`Agl` int(11) default '0',
`Mgr` int(11) default '0',
`Krm` int(11) default '0',
`Type` int(11) default '0',
PRIMARY KEY (`Itemid`)
) TYPE=MyISAM


35 :名前は開発中のものです。:04/11/29 01:19:52 ID:o+lkAEO1

CREATE TABLE `Stored_items` (
`Storedid` bigint(255) NOT NULL default '0',
`Charid` int(6) NOT NULL default '0',
`Itemid` int(6) NOT NULL default '0',
`Decrp` varchar(255) NOT NULL default 'NULL',
PRIMARY KEY (`Storedid`)
) TYPE=MyISAM

CREATE TABLE `Stored_items` (
`Storedid` bigint(255) NOT NULL default '0',
`Charid` int(6) NOT NULL default '0',
`Itemid` int(6) NOT NULL default '0',
`Decrp` varchar(255) NOT NULL default 'NULL',
PRIMARY KEY (`Storedid`)
) TYPE=MyISAM



36 :1:04/11/29 01:25:06 ID:o+lkAEO1
テーブル定義が大体固まりました。↑
装備とアイテムはテーブル分ける必要は無いのかなと今気づきました。
シレンとかドラクエみたいにアイテムと装備は持ち物として
同列に扱って、武器は武器のフラグを立てておいて、装備できる。
と言った処理が一般的なのでしょうか?
どっちにしても、装備もアイテムもすべて通し番号のIDをつけて、
IDによって所持の判別を行おうと思っています。
一般的な構成がありましたら是非ご教示ください。


37 :名前は開発中のものです。:04/11/30 18:07:33 ID:g5Bpk4+N
結構やる気あるみたいだね
トリップつけたほうがいいよ

38 :1 ◆vxgQ5J24sQ :04/12/01 02:52:59 ID:SQ7BSqKa
>37レスありがとうございます。
トリップとりあえずつけました。
アイテムと装備は別テーブルでとりあえずやることにします。
今後たとえば銅の剣+1などというように、プレイヤーが装備に能力を
付加することができるようにするためです。
りあえずマップは最初の町ひとつと、周りにクエストを行うダンジョン類のみというシンプルな構成にすることにしました。

プレイ人数が増えれば町など追加できるよう仕様を固めていこうと思います。
また、自立行動はコマンドの自動発行かにしようかと考えたり、
単純作業を自動化して、キャラの個性としてある程度ぶれ幅があるといった
考え方もあるかなと思っています。
NPCが完全な自立行動でどのような行動をとるか、といったところまで
できるように考えていますが、こっちは前に述べた友人のスーパープログラマーに
任せっきりなのでどう転ぶかはそいつ次第です。


39 :1 ◆vxgQ5J24sQ :04/12/04 14:22:54 ID:oBC5BsK0
ある程度プレイ出来るものが出来上がったらこちらで
報告させて頂きます。
テストプレイをお願いするかもしれませんので、
よろしくお願いします。

40 :名前は開発中のものです。:04/12/23 22:02:36 ID:nKW1FsXd
私も>>1さんと同じように多人数型RPGで座標というものがあるゲームを作ろうとしています。
言語はPHPでなくPerlですが・・・。
PerlとPHPは似たようなものと聞いていますが、PHPの方が軽いとは本当でしょうか?
そうなのであれば、私もPHPの勉強をしたいです。

41 :名前は開発中のものです。:05/01/17 14:04:58 ID:I+TQkXfR
nn?

42 :名前は開発中のものです。:05/02/10 12:55:22 ID:2bb1rkjS
>>40
mod_perl > mod_php + phpa >>> mod_php >>>>> CGI/perl > CGI/php

abで簡単なプログラムのテストしたらこんな感じだった。

43 :名前は開発中のものです。:05/03/09 19:24:58 ID:Rnywet70
☆ゅ

19 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)