FF11みたいなオンラインゲーム を作れるようになるには。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ta

FF11みたいなオンラインゲーム を作れるようになるには。

#1

投稿記事 by ta » 7年前

こんにちわ、初めまして。
これからC言語を学ぼうと思っているtaと申します。

私は今まで、いくつかMMOをプレイしてきました。
プレイしているときにいつも、自分でこういうMMOを作れたらなぁと思っていました。

先日、『FF11みたいなオンラインゲーム』の動画を拝見し、とても感動しました。
そこで質問なのですが、このようなゲーム(少なくとも動画のような動きやシステム)を制作するには
どのような知識・技術・制作ツール等が必要でしょうか?
C言語を会得することは必須だと思いますが、たとえば、そのほかにも必要な言語などありますでしょうか?
また、キャラクターの絵等も必要になると思いますが、やはり絵の描き方等も習得しないとダメでしょうか?

今現在、時間がたっぷりある身となり、さらに動画を拝見したことによりモチベが上がり、
MMO制作に本気で取り込んでみようと思っています。

C言語も会得していない身でこのような質問をしてあれですが・・・どうかよろしくお願いします。

beatle
記事: 1280
登録日時: 7年前
住所: 埼玉
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#2

投稿記事 by beatle » 7年前

C言語が必須かといえばそうでもないのが現状だと思います。例えばUnityを使うとC#風の言語で楽ちんに開発ができると思います。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#3

投稿記事 by softya(ソフト屋) » 7年前

少なくともちょっとした時間で作ることは難しいです。特にC言語を勉強して、ゲームプログラミングの基本、3Dゲームの数学や物理、オンラインゲームのネット技術、敵などのAI技術など何十冊の本の内容を理解としないといけないか書き切れないぐらいです。毎日頑張ってもMMOに到達するまで数年は確実にかかるでしょう。
それとUnityだと出来合いのモデルを表示するだけだと簡単ですが、自分でモデルを作ったり本格的なゲームにしようとすると大層な時間がかかります。
あとプログラミングの知識のない人は、やはりどうやってゲームにして良いのか分からないみたいでyahoo知恵袋でドアの仕掛けをどうやって作ったら良いか質問されました。説明しましたが実装は無理だったようです。
なので、どちらにしろプログラミング言語の学習とゲームプログラミングの知識は必須だと思います。開発は楽にしてくると思いますけどね。

>また、キャラクターの絵等も必要になると思いますが、やはり絵の描き方等も習得しないとダメでしょうか?

3Dモデルのモデリングや絵を描く技術、アニメーターのようにモーションを付ける技術は必要です。
これは立体造形の一種に分類されるので結構難しいですね。無料のものだとメタセコイヤとかBlenderを使います。
コンピューター上で実現するペーパーモデルの様なものと思ってもらったほうが良いでしょう。

ペーパーモデルは、こんな感じです。
「ペーパークラフト&ペーパーフィギュア《萌紙》」
http://moekami.himegimi.jp/index.html

3Dモデリングの仕方。MMD(ミクミクダンス)用モデルは、DXライブラリだとそのまま表示できます。
「nikuちゃんでもわかるMMDモデル制作 (メタセコイヤからMMDまで超基礎編 ) | nikuちゃんのMMD製作部屋」
http://richquest.org/MMD/archives/668
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
MoNoQLoREATOR
記事: 284
登録日時: 8年前
住所: 東京

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#4

投稿記事 by MoNoQLoREATOR » 7年前

オンラインゲームの場合、サーバーを介してデータをやりとりする必要がありますから、CGI系の言語を習得する必要がありますね。
PHPがおすすめです。
「C言語に近い」,「解説サイトが多い」といった利点があるからです。
また、もちろんサーバーを買うなり借りるなりする必要があります。
ほとんどのレンタルサーバーではゲームCGIの設置を禁止していますし、奇跡的に認められていても(私が知る限りでは@PAGESというサーバーでは認められています)、高負荷をかける場合はページの停止ないしはアカウントを抹消されてしまったりします。
『C言語オンラインゲームプログラミング教室』という本を買うと、ゲームCGI設置OKのサーバーを利用させてもらえるので、(もちろんオンラインゲームの作り方も学べます)これはなかなか良い買い物になると思います。もっとも、サーバーにいくら負荷をかけても良いというわけではないと思いますが。
一番良いのはやはりサーバーを購入することになりますね。

3DモデルやモーションについてはMMD(ミクミクダンスの略)と検索して、誰かさんが作ってくれたものを使うことをおすすめします。
自分で作るとなると洒落にならない時間がかかるからです。
また、MMDを使用するにしても、モーションは自分で作る必要があります。(「走る」などの基本的なものは探せばあるかもしれませんが)

3Dゲーム、しかもオンラインのものを作るのは相当大変だと思いますが、頑張ってください。

PS:ActionScriptなどのWEB上で動作する言語を使えば”オンライン”ゲームを作ることは難しくないので、その方向で考えても良いかも・・・?

ta

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#5

投稿記事 by ta » 7年前

お返事ありがとうございます。
MMO製作の過程、難しさが良く分かり、大変勉強になりました。
まずはC言語から習得しようと思います。

そこでもうひとつ質問なのですが、

http://www.nicovideo.jp/watch/sm15175536
http://www.nicovideo.jp/watch/sm15243113
http://www.nicovideo.jp/watch/sm15328609

この動画で表現されている動きやシステムを作るためには、
C言語を習得後、どのような順序で知識等を身につけていったらいいでしょうか?
紹介してくださるサイト・書籍等にはすべて目を通してみたいと思います。


>3Dモデルのモデリングや絵を描く技術、アニメーターのようにモーションを付ける技術
>コンピューター上で実現するペーパーモデルの様なものと思ってもらったほうが良いでしょう

なるほど、具体的にイメージが沸きました。


>オンラインゲームの場合、サーバーを介してデータをやりとりする必要がありますから、CGI系の言語を習得する必要があります

PHPについて、調べてみたいと思います。
『C言語オンラインゲームプログラミング教室』についても、目を通してみたいと思います。

アバター
bitter_fox
記事: 607
登録日時: 8年前
住所: 大阪府

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#6

投稿記事 by bitter_fox » 7年前

MoNoQLoREATOR さんが書きました:オンラインゲームの場合、サーバーを介してデータをやりとりする必要がありますから、CGI系の言語を習得する必要がありますね。
オンラインゲームってCGI使うんですか?CGIというとウェブブラウザ駆動なんで使わないように思うんですが・・・
それに、サーバとデータ通信するんだったらCGI系の言語じゃなくてもいいですよね。(PHPなんかだと速度的に遅れを取りそうですし・・・)
オフトピック
CGI系の言語がどういう定義か分からないのでアレですが・・・
CGI系の言語をCGIで使える言語と定義するとC言語やJavaなども含まれてしまいますよねw
オフトピック
ここで言うオンラインゲームは、質問者さんに合わせて[nico]http://www.nicovideo.jp/watch/sm15175536[/nico]やMMOなどのウェブブラウザを介さない物として解釈しています。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#7

投稿記事 by softya(ソフト屋) » 7年前

CGIもブラウザを介する必要はないですよ。PHP、Perlでもゲームサーバは作れます。
ただ、高度なMMORPGだと負荷がかかり過ぎると思いますが。
その場合はC言語などで専用サーバを組まないと行けません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#8

投稿記事 by softya(ソフト屋) » 7年前

taさんの学年が分かりませんが3Dには数学(三角関数、ベクトル、行列)や物理(運動力学)の知識がまず必要です。

taさんが、じっくりやれるタイプなら数年がかりでじっくりやりましょう。
1.C言語を習得する。
「BohYoh.com【著書】新版明解C言語入門編」
http://www.bohyoh.com/Books/MeikaiC01/index.html
とか
「ソフトバンク クリエイティブ:やさしいC 第3版」
http://www.sbcr.jp/products/4797343663.html
などでしょうか。

2.簡単なコンソールゲームを作る。
じゃけんゲームとか超簡単なものを作る。

慣れてきたらこんなのとか。
「C言語 練習プログラム集」
http://akabas.net/(S(mlrkxl451pmm1z45zl4pbwa2))/lib/CTask.aspx

3.基礎的なアルゴリズムを勉強する。
「BohYoh.com【著書】新・明解 C言語によるアルゴリズムとデータ構造」
http://www.bohyoh.com/Books/NewMeikaiCAlgo/index.html

4.DXライブラリを講座で勉強する。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/

5.自分でオリジナルの2Dゲームを作成する。ここまでで少なくとも半問以上はかかると思います。

アクションやシューティングを作ってみましょう。
出来ればここで、ARPGのようなものを作っておくと良い勉強になります。

6.オンライン・ネットワークの勉強。
「書籍案内:オンラインゲームを支える技術 ―壮大なプレイ空間の舞台裏|gihyo.jp … 技術評論社」
http://gihyo.jp/book/2011/978-4-7741-4580-8
あとはDXライブラリのネット通信関数でオンライン通信のお勉強しましょう。

ここで簡単なオンラインゲームを作っておきましょう。

とりあえず、ここまで次回は3D編です。ここまでで1年ぐらいは軽くかかり2~3年はかかるかも知れません。
ここをすっ飛ばしていきなり3Dから始める人もいることはいます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
bitter_fox
記事: 607
登録日時: 8年前
住所: 大阪府

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#9

投稿記事 by bitter_fox » 7年前

softya(ソフト屋) さんが書きました:CGIもブラウザを介する必要はないですよ。
ほう、そうなんですか。ウェブ関連にはてんで明るくないんで知りませんでしたw
softya(ソフト屋) さんが書きました: PHP、Perlでもゲームサーバは作れます。
ただ、高度なMMORPGだと負荷がかかり過ぎると思いますが。
その場合はC言語などで専用サーバを組まないと行けません。
クライアントソフトをC言語で、ゲームサーバをPHPやPerlで書くと送受信データの整合性を取るのが難しいようにも思えるのですが、どうなのでしょう?

かば
記事: 7
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#10

投稿記事 by かば » 7年前

一般的には、皆さんが言われている通りだと思います。
が、CGI+JavaスクリプトでMMOアクションRPGを作った人はいます。
今も運営しています。

ようは、何を知らないとできないかではなく、質問者様にどれだけのやる気があるかだけだと思います。
言語はこれじゃないとってことはないと思います。
自分に合うと思うわかりやすい言語を取得し、その言語の知識を伸ばすのが、一番の近道だと思います。
あれも、これも、それもでは、やる前から挫折します。
自分は、なにも知らないところから一応、ショボイ物ですが、自分なりに完成と思うとこまでは、作れました。
その過程で、皆さんの言っていることは、十分に感じ理解できました。
素人の強みは、できない事が解らない事、だと思いますので
それを逆手にとって、挑戦してみてください。

CGI+JavaスクリプトでMMO
http://www.abars.biz/lecture/online/

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#11

投稿記事 by softya(ソフト屋) » 7年前

>クライアントソフトをC言語で、ゲームサーバをPHPやPerlで書くと送受信データの整合性を取るのが難しいようにも思えるのですが、どうなのでしょう?

CGIだと連続的なプッシュ送信はできないので、何処からかの通信を契機に他のユーザーにプッシュするとか、クライアントから定期的に通信してもらう、クライアント間の通信を併用するとか工夫することで整合性を取り続けることは出来ます。MMOではなくマッチングならCGIでも当然余裕です。まぁ、大規模・大人数なMMORPGとなるとC/C++でサーバ組むしか無いですが必要な知識量が半端じゃないのでアマチュアとしては例外とします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#12

投稿記事 by 史上最悪のデスペナ » 7年前

すでに皆様により回答が上がっていますが、現在進行形で作ろうとしてる私も解答させていただこうと思います。
他の回答と被ってるところは適当に流してやってください。
ちなみに、タダでやる方法しか知りませんw

私はC++とDXLibで作っています。他の言語はHSPしか手を出したことがないので分かりませんが、
ゲームエンジンはいくつか手を出したことがあるのでまずはそちらから。

Unity・・・・・英語が分かれば問題ないです。既存のものを組み合わせるだけである程度作れるようですが、チュートリアルとかも英語だったりするので、ネット講座のみで、かつ日本語で勉強しようとすると、マップ作ってキャラ動かすとこでつまるかも。。。。現に私はそうでした。C#や、JAVAでも組めるようです。ちなみに、両者とも後ろに「風」がつきますが^^;

UnrealEngine3・・・・かの有名なTERAとかもこれで作られています。このサイトが分かりやすいかも。なぜか、セットアップできないPCもあるようです。

CryEngine3・・・・PCスペック的にプレーヤーを選ぶことで有名なCrysisはこれで作られています。くそ重いです。その代り滅茶苦茶リアルです。

今度はモデルに関して
メタセコイアがお勧めです。講座とかも豊富です。無料でやりたいなら無料版より、お金を払わずにシェアウェア版を使うことをお勧めします。お金を払わないと機能制限があるだけで、無償版よりも機能が豊富です。
それとSculptris。こちらは粘土細工のように作れるのでクリーチャーに向いていると思います。(英語ですが、使ってれば分かるほど簡単です。注:マウス必須)
モーションをつけるならRokDeBone2でしょうか。

次は必要な知識に関して
3Dモデル(人)を作る場合、どうも絵がうまい人のほうが上手に作れるらしいです。なぜなら、絵が上手いということは人体の構造をしっかりと理解しているからです。なので、作る場合は実際の人(写真よりもリアルのほうがよい)を見ながら作っていくほうがいいかもしれません。
モーションを作るならしっかりと動きを観察することです。歩くという動作も作ってみると実はすごい難しいです。

音楽とかはまだ手を付けてないのでパス

UI(インベントリとか)はまあ、いろんなMMORPGからSSでも撮って参考にするといいでしょう

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#13

投稿記事 by 史上最悪のデスペナ » 7年前

長くなったので続き
softya(ソフト屋) さんが書きました:少なくともちょっとした時間で作ることは難しいです。特にC言語を勉強して、ゲームプログラミングの基本、3Dゲームの数学や物理、オンラインゲームのネット技術、敵などのAI技術など何十冊の本の内容を理解としないといけないか書き切れないぐらいです。毎日頑張ってもMMOに到達するまで数年は確実にかかるでしょう。
3Dゲームの数学や物理に関しては、ぶっちゃけリアルなもの(FPS系)を作ろうとさえしなければベクトルと行列さえ知ってれば大丈夫だと思います。ベクトルは3次元で、足し算、引き算、外積ぐらいでしょうか。行列は3次元用の足し算、引き算、掛け算、回転、平行移動ぐらいですかね。DXLibを使えば、そこらへんはあまり意識しなくて済みます。

敵のAIはゲームの根幹ともいえるので、ゲーム会社の企業秘密でしょうから本読んでもあまり意味ないと思っています。本はあくまで考え方などの参考にしかならないでしょう。実際に自分で組み込んでみて、「ここの動きが変だからプログラムのここをこうしたらどうだろうか」と試行錯誤して自分のAIを確立するほうがいいと思います。
かば さんが書きました:質問者様にどれだけのやる気があるかだけだと思います。
中略
あれも、これも、それもでは、やる前から挫折します。
そういえば、ゲームは私みたいにすべて一人で作ろうとしてるのでしょうか?自分が言うのもなんですが、それはかなりきついです。まあ、逆に言えば、やることが多すぎてプログラミングに飽きたらモデリングしてみたり、クエスト考えてみたりと関連する別なことに手を出せるのでモチベーションの維持は可能ですが、あくまで作り上げるという強い意志(?)みたいなのがないと大変です。
最後に編集したユーザー 史上最悪のデスペナ on 2011年12月19日(月) 10:15 [ 編集 1 回目 ]

YuO
記事: 940
登録日時: 8年前
住所: 東京都世田谷区

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#14

投稿記事 by YuO » 7年前

bitter_fox さんが書きました:クライアントソフトをC言語で、ゲームサーバをPHPやPerlで書くと送受信データの整合性を取るのが難しいようにも思えるのですが、どうなのでしょう?
通信ですからプロトコルは定めますし (over HTTPだったりover TCPだったりover UDPだったり……PHPならほぼ必然的にover HTTPになりそうですが),
データは定められた形式にシリアライズするでしょう。データの整合はとれないのが不思議な状況です。

ブラウザ上でも,サーバーの返すJSONやXML (cretaed by PHP/Java/C#/etc.) をJavaScriptで受け取ってHTMLのDOMを操作する,なんてのは普通に行われていますよ。

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#15

投稿記事 by 史上最悪のデスペナ » 7年前

まだまだ続きます。話が前後したり支離滅裂かもしれませんがもうしばらくお付き合いください。
softya(ソフト屋) さんが書きました:ここをすっ飛ばしていきなり3Dから始める人もいることはいます。
私のことですねw?

ちなみに、私は以下のようなプログラム人生を過ごしてきました。

2010年春
→ゲーム作るぞ!C++&DirectXだな!
→・・・・・・・orz
→HSPを知る
2010年初夏
→HSPでE3Dというプラグインを使うと作れるらしい
→リファレンスを見ながら作ってみる。
→HSPとE3Dは結構関数リファレンスがしっかりしてるのでほとんど講座を探す必要なし
2011年年始頃
→やりたいことがやれなくなってきたぞ
→C++&DirectXだろ!
→・・・・・・・まだよく分からん
→DXライブラリを知る
2011年春
→ここでC++の基礎を勉強
→HSPでプログラミングに少し慣れていたのでC++もすぐに慣れた。
→DXライブラリでリファレンスとにらめっこしながらゲーム作成開始
→分からないとこはここで聞く←いまここ
ta さんが書きました:C言語を習得後、どのような順序で知識等を身につけていったらいいでしょうか?
えっとですね、こういうものって知識習得順序とかないと思うんですよ
個別にモデリングとかAIとかの中だったら順序はありますが、すべてが有機的に関係してくるので、どれも並行して・・・・が正しいかもしれません。
まあ、あえて言うならモデリング→AI→モーションですかね?
でも、それなりのモデルを作ろうと思ったらキャラのモデリング1体するだけで結構時間かかります。なのでそれまでAIの勉強ができないことになります。

結論としては、言語をそれなりに習得したらモデルはサンプルを使用しつつ、まずはプログラムを組んでみる。まず、挫折を味わうでしょう。そこで、モデリングやUIに手を出す。モデリングやUIも鬼畜なのでやる気が下がる。プログラミングに戻るというのを繰り返すといいんじゃないかな?人それぞれですけどね

サーバーは私はC++をそのまま使う予定・・・・・

終わり・・・・・たぶん

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#16

投稿記事 by 史上最悪のデスペナ » 7年前

追記

そうそう、たしかFF11ってコマンド選択制じゃなかったですか?
2DRPGの時代からあるあの

→戦う
アイテム
逃げる

って選ぶタイプの。

リアルタイム性の強いMMOだとあまり好まれないのではないでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#17

投稿記事 by softya(ソフト屋) » 7年前

史上最悪のデスペナ さんが書きました:追記

そうそう、たしかFF11ってコマンド選択制じゃなかったですか?
2DRPGの時代からあるあの

→戦う
アイテム
逃げる

って選ぶタイプの。

リアルタイム性の強いMMOだとあまり好まれないのではないでしょうか?
私もFF11プレーヤーではないですが、魔法詠唱などに入らない限りはコマンド選択はないと思いますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#18

投稿記事 by softya(ソフト屋) » 7年前

史上最悪のデスペナ さんが書きました:サーバーは私はC++をそのまま使う予定・・・・・
少人数なら自宅サーバーを用意するよりもレンタルサーバーを借りたほうが良い場合もあります。特にサーバーがマッチングするだけの形式の場合はサーバーの負荷は殆どありません。個人で上位プロバイダの光回線を用意すること(CATVやADSLでは力不足な可能性があります)や24時間サーバーを稼働する電気代を考えるとレンタルサーバーのほうが遥かに安かったりします。

ようは一番多い時の人数によるサーバーの負荷と24時間稼働させる場合の金銭的負担・精神的負担などを考えて決めるべきでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ta

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#19

投稿記事 by ta » 7年前

製作実現したいMMOについて補足です。

『FF11みたいなオンラインゲーム』と件名に書いてしまいましたけど、これは、

http://www.nicovideo.jp/watch/sm15175536
http://www.nicovideo.jp/watch/sm15243113
http://www.nicovideo.jp/watch/sm15328609

この動画を見て、この動画のタイトルをそのまま件名に引用してしまいました。

個人的には

Ultima Online
リネージュ2
真・女神転生IMAGINE
Wizardry Online

のようなMMOを作りたいと思っています。

ただ、動画のような動きさえも、今は実現できない身なので
まずは、動画のような動きやシステムを作れるようにという意味も込めて質問しました。

私自身の現状は、所属していた機関を辞め、24時間フルに時間を使える身となりましたので
体力とモチベの続く限り、MMO製作に時間を使える状態です。
貯金はあまりないので、片っ端から書籍を購入する、というのは多少厳しいかもしれないですが
紹介してくださる書籍・サイト等には、できる限り目を通したいと思っています。

今、出先からですので、帰宅しだい、皆様からの書き込みに返信したいと思います。

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#20

投稿記事 by 史上最悪のデスペナ » 7年前

ta さんが書きました:Ultima Online
リネージュ2
真・女神転生IMAGINE
Wizardry Online
実はどれもやったこと無かったり。でも、おそらく一般的なMMOと思うのですがどうでしょう?
ta さんが書きました:まずは、動画のような動きやシステムを作れるようにという意味も込めて質問しました。
んと、
・プログラムとしてキャラを動かせるとこまでやりたい
・まずはそれ以前にモーションを作れるようになりたい
どちらでしょうか?「システム」という時点で上の選択肢のような気はしますが念のため。

まあ、私はこんな程度にしか作れないのですが、よろしければご覧ください。(テクスチャなし。移動ベクトルなし。歩くモーションのみをRokDeBone2上で再生)
メタセコイアとRokDeBone2を使いました。
添付ファイル
bandicam 2011-12-20 08-38-58-486.zip
(7.9 MiB) ダウンロード数: 82 回

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#21

投稿記事 by softya(ソフト屋) » 7年前

さて、3Dプログラム編です。

1.数学・物理
三角関数、ベクトル、行列などの使い所と意味ぐらいは理解しましょう。
「O'Reilly Japan - 実例で学ぶゲーム3D数学」
http://www.oreilly.co.jp/books/9784873113777/
「3Dプログラム(3Dのグラフィックや動きを扱うプログラム)入門コーナー」
http://homepage2.nifty.com/skimp-studio ... wl_top.htm

2.3Dやゲームにまつわる技術もろもろ
「グラフィックス - ゲームプログラミングWiki」
http://www.c3.club.kyutech.ac.jp/gamewi ... 5%AF%A5%B9
「DirectX技術編」 DXライブラリの中身のDirectXの話で難しいですが知識としては知っておいたほうが良いことが書かれています。
http://marupeke296.com/DirectXMain.html
「衝突判定編」 当たり判定は色々と必要ですね。
http://marupeke296.com/COL_main.html
「ゲームAI連続セミナー「ゲームAIを読み解く」 第1回 レポート:CodeZine」
http://codezine.jp/article/detail/841
「Amazon.co.jp: ゲーム開発者のためのAI入門: David M. Bourg, Glenn Seemann, 株式会社クイープ: 本」

「Amazon.co.jp: ゲームのアルゴリズム 改訂版 思考ルーチンと物理シミュレーション: 橋口 ゆうすけ: 本」


3.3Dゲームのプログラミング
DXライブラリの3D編にチャレンジです。
「DXライブラリ置き場 3D関係関数リファレンスページ」
http://homepage2.nifty.com/natupaji/DxL ... nc_3d.html
「DXライブラリ置き場 サンプルプログラム」 31番以降
http://homepage2.nifty.com/natupaji/DxL ... ogram.html

4.大規模なプログラムを組む場合に大切な技術。いま見てもさっぱり分からないと思います。
これは作りながら学ぶしか無いですが経験が一番ものを言います。
「構造化プログラミング」
http://www2.cc.niigata-u.ac.jp/~takeuch ... cture.html
「CERT C Secure Coding Standard 日本語版」
http://www.jpcert.or.jp/sc-rules/
「C言語のよくある間違い」
http://www.ncos.co.jp/products/cgi-bin/errorcall.cgi
「書籍案内:C言語 デバッグ完全解説|gihyo.jp … 技術評論社」
http://gihyo.jp/book/2008/978-4-7741-3362-1
「Cプログラミング診断室」 悪い例から学ぶ。
http://www.pro.or.jp/~fuji/mybooks/cdia ... ml#mokuji3




●3Dモデリング・モーションについては書籍も色々出ているの探してみてください。
思うままに作るには美術造形の才能が必要だと思います。
「Amazon.co.jp: 3D Character Animation Manual ローポリアニメーションのすべて: K.KINO: 本」

「Amazon.co.jp: MikuMikuDanceスターターパック: 本」


とりあえず、Dixq(管理人)さんの様にフリーの素材を使うのも手です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ta

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#22

投稿記事 by ta » 7年前

ご紹介していただいた書籍・サイトを、片っ端から見ております。
やはり、ゲーム製作(特にネットワークを介したゲーム製作)となるとすごいですね。
何がすごいかって、学ぶべきことの多さや今まで自分が知らなかったことの多さ。
知らない単語が飛び交ってます。
ワクワクしてきました。

http://www.abars.biz/lecture/online/

このサイトに関しては以前は意見したことがありました。
そのとき登録もして少しではありますけどプレイしたこともあります。
が、パソコンが壊れて、その後プレイをしてませんでした。
まさかここでまた、このゲームに再会できるとは思いませんでした。
『オンラインRPGの作り方』は、MMO製作過程について具体的にイメージできました。
今まであまり具体的にイメージできてなかったので、大変助かりました。

http://www.4gamer.net/games/032/G003263/20091212002/

このソフトはすごいですね。
インストして起動してみたのですが、すでに3D空間が出来上がっていました。
RPGツクールの3D版?と思ったほどでした。
もちろん、操作等、まだまったく把握していないので、ぜんぜん使いこなせませんけれど・・・


>・プログラムとしてキャラを動かせるとこまでやりたい
>・まずはそれ以前にモーションを作れるようになりたい
>どちらでしょうか?「システム」という時点で上の選択肢のような気はしますが念のため。

上記二つのどちらもですね。
ただ、キャラのモーション等は、もともと絵心等に乏しいので、
どなたかが作成されたものを使いたいと思ったりもします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#23

投稿記事 by softya(ソフト屋) » 7年前

unreal development kitは日本語書籍が出ていませんので、もしゲームエンジンを使って開発するのならunityをお勧めしますがプログラミングの経験のない人に何処迄できるのか想像できません。
ただし、両方共無料版はオンラインゲームと言うか通信機能に著しく制限があったと思います。

「Unityを使うには - Ubuntu Japanese Wiki」
https://wiki.ubuntulinux.jp/UbuntuTips/ ... ToUseUnity
「Unity 3 - Japanese feature preview」
http://unity3d.com/japan/unity3.html
「Unity - Documentation」
http://ws.cis.sojo-u.ac.jp/~izumi/Unity ... ation.html

「Unityで1週間でミニゲームを作ってみた - GEOQUAKE Backstage」
http://geoquake.jp/blog/2011/07/19/avoider/

[補正]分かりづらい文章を修正。

「UNITY3D 3Dゲーム製作 #1 - YouTube」 このレベルで個人がUnityを使わずさくさく作れるプログラム技術力に到達するのは3~5年ぐらいかかると思います。
[youtube][/youtube]
影、ライティングやテクスチャ周りでピクセルシェーダとか色々とやっているため。見栄えを良くするのは大変なんです。
速く作りたいとかなら、unreal development kitやUnityも悪い選択肢ではありませんが上にも書いた通りオンライン接続でMMOは高額なライセンスを払わないと出来ない可能性があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ta

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#24

投稿記事 by ta » 7年前

先の投稿で誤字がありました。

>このサイトに関しては以前は意見したことがありました。

このサイトに関しては以前拝見したことがありました。

の間違いです。

ta

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#25

投稿記事 by ta » 7年前

softya(ソフト屋) さんが書きました:unreal development kitは日本語書籍が出ていませんので、もしゲームエンジンを使って開発するのならunityをお勧めしますがプログラミングの経験のない人に何処迄できるのか想像できません。
ただし、両方共無料版はオンラインゲームと言うか通信機能に著しく制限があったと思います。
モチベを保つために、テスト的に画面等を表示し、
自由にキャラを動かせるようになりたいという思いはあります。
が、きちんと基礎から学びたいと思っています。

アバター
Dixq (管理人)
管理人
記事: 1659
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#26

投稿記事 by Dixq (管理人) » 7年前

すみません、しばらく不在にしていましたm(_ _;)m

動画の方ご覧下さりありがとうございます。

まず、C言語を知らない状態で、いきなりMMOを作るのは難しいと思うので、何か一番興味がある分野に手を出してみてはいかがでしょうか?

>>キャラのモーション等は、もともと絵心等に乏しいので、どなたかが作成されたものを使いたいと思ったりもします。

素材はよく落ちていますが、モーションデータはなかなかないのでは・・。
やはり3Dゲーム制作をするならモデルのモーションを作る必要も出てきます。
私は「MMD」というソフトでモーションを作りました。
ニコニコ動画に「MMD杯」というイベントがあるのはご存じでしょうか。
なんちゃってでもいいから、「まずあのイベントに出られる位ソフトが使えるようになる」という目標を持ってみるのも良いかもしれません。
モーションを作るのもなかなか楽しいですよ。
今は本もありますからじっくり勉強出来ます。

もしモデルを動かすことより実際にプログラミングを行ってみたいなら、うちのサイトにゲームプログラムの解説サイトがありますからお読みいただければと思います。
ただ、taさんはC言語をまだよくご存じ無いとのことなので一度C言語の基本を勉強された方が良いかと思います。
まずは「C言語 入門」で検索すると良いかと思います。
大きな書店に行ってC言語関連の本を端から読んで気に入った本を探してみるのも良いでしょう。

また、既に他の方が書かれているように、MMORPGを作るにはこれだけではなく他に面白くもない学ばなければいけないことを沢山勉強しなくてはいけません。
しかし今現在は面白そうな事ばかりに手を出していても良いと思います。

仕事じゃないのですから楽しみながら出来るのが一番だと思いますし、モチベーションが何よりも強い武器になります。
taさんは現在とてもやる気でいらっしゃるようですからこの勢いで勉強されたらすぐに本格的なゲームが作れるようになると思いますよ。

今の質問はかなり漠然としているので答えにくいですが、もっと具体的に〇〇をするにはどうしたらいいか?と聞いて頂ければより具体的な回答が出来るかもしれません。
頑張って下さいね。


サーバーについてですが、私はVPSサーバーを使いました。年間2万円ちょっと払えばそこそこ使えるサーバーが借りられます。
VPSなので、自分の好きなようにサーバーの設定を変えられます。

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#27

投稿記事 by 史上最悪のデスペナ » 7年前

私はC++はこのサイトのみで勉強しました。

モデリングは人体はこちらこちらを参考にしましたがどちらかというと操作方法と手順で結果的に少し別のやり方してます。

モーションはRokDeBone2付属のチュートリアルです。
ta さんが書きました:モチベを保つために、テスト的に画面等を表示し、
自由にキャラを動かせるようになりたいという思いはあります。
が、きちんと基礎から学びたいと思っています。
DXLibを使えば、真っ暗な空間を前後左右にキャラが動くだけなら
ほんの30行ほどで書けちゃいます。Win32APIとかDirectX使うならウィンドウ作るだけでそれだけ書くんですけどね・・・・・・(遠い目)

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#28

投稿記事 by 史上最悪のデスペナ » 7年前

史上最悪のデスペナ さんが書きました:ただ、キャラのモーション等は、もともと絵心等に乏しいので、
どなたかが作成されたものを使いたいと思ったりもします。
史上最悪のデスペナ さんが書きました:3Dモデル(人)を作る場合、どうも絵がうまい人のほうが上手に作れるらしいです。なぜなら、絵が上手いということは人体の構造をしっかりと理解しているからです。
と書いたので誤解させてしまったかもしれません。絵心が乏しくても、このソフトのようにリアルなキャラを作ろうとしなければ、大丈夫だと思いますよ。

私も絵心が乏しいので、こんな風に作りました。古い記事ですが私のブログです。あれをちまちまと修正した結果がこちら。髪はまだお勉強中なので見逃してやってください。

アバター
ta
記事: 16
登録日時: 7年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#29

投稿記事 by ta » 7年前

http://www.nicovideo.jp/watch/sm1294850 ... humb_watch



ここまで出来るようになるには、慣れと知識(どんな知識をどの程度)はどのくらい必要でしょうか。
もちろん、具体的に言うのは難しいし、人それぞれ、ということになるかもしれないですけども・・・
少なくとも、この動画くらい、頭に浮かんだ発想を、そのままスラスラとプログラムできるようになるには、という観点で。

ちなみに動画では、Unityを使ってメダルプッシャーを作成しています。

史上最悪のデスペナ
記事: 521
登録日時: 8年前

Re: FF11みたいなオンラインゲーム を作れるようになるには。

#30

投稿記事 by 史上最悪のデスペナ » 7年前

20分は長すぎです・・・・・・・・orz
めんどくさいので最後しか見てませんが、1から完全に組むとなるとすごく大変ですね。メダルとメダルの物理的相互作用をプログラムで組むわけですから。
まあ、摩擦とかいろんなパラメーターを考えず、ゆとり世代の単純な高校物理を用いるなら

コード:

自由落下(g:重力加速度。地球上なら約9.8、t:落下し始めてからの時間(単位秒))
    y = 0.5 * g * t^2

何とかの法則(m,M:物体A,Bの質量、v,v1:衝突前と後の物体Aの速さ、V,V1:衝突前と後の物体Bの速さ)
    mv + MV = mv1 + MV1

を頑張って組み合わせれば何とかなりますかね?
あ、あとベクトルね。
移動ベクトルを水平ベクトルと垂直ベクトルに分解して~(以下略)

まず、こんな感じ(↑)で現象に必要なパラメータとそれの相互作用を言葉、または図で説明できますか?(上のがあってるかは知らない。物理系の人じゃないし)

あとはそれをプログラムにするだけです!

で済んだらいいけど、プログラミングに慣れてないと無理ですよね。(←それが議題だろ)

もう一つの手は物理エンジンを使うことです。(物理エンジンは使ったこと無いので前みたいに例を挙げることが出来なくてすみません。)

閉鎖

“C言語何でも質問掲示板” へ戻る