サッカーゲームの作り方教えろ

このエントリーをはてなブックマークに追加
136名前は開発中のものです。:2010/12/11(土) 18:54:19 ID:MaCRM9l0
3 :名も無き冒険者:2010/10/01(金) 00:38:45 ID:jYxaf24n
===DreamCup=== みんなでネットサッカーしようぜ!!! ===DreamCup===
                                    ∧_∧ 
夕方〜深夜2時は・・・                      (´∀` )
  ∧_∧          中 毒 者 続 出        ⊂ 9 と)
 ( ´∀`)        全 世 界 待 望 の      (⌒   /
 ( 1 0 )    ○  多人数 対戦 サポート!    (_)ゝ ノ
 | | ヽ、 彡    DCやろうぜ!みんな!      ○ 
 (__)ヾ_ノ  http://www.nicovideo.jp/watch/sm2182514

★FW、MF、DF、GKから好きなポジを選び、22人戦やフットサルが可能。
★レベルなどの面倒な概念はなく、純粋にプレイヤー同士の腕で勝負。

[公式]http://dc.giganet.net/ [練習]http://shinya22.s14.xrea.com/dc/
137名前は開発中のものです。:2010/12/22(水) 05:41:32 ID:9m4lklBm
Simulation Soccer 2.0みたいなのを作ってくれないかな。
チーム数を3つ程増やしてくれるだけでいいんだ。
138名前は開発中のものです。:2011/03/02(水) 12:33:19.21 ID:MOcMbHbH
サカつく作りたい
139名前は開発中のものです。:2011/03/17(木) 13:15:24.11 ID:eFEumzQa
age
140名前は開発中のものです。:2011/12/16(金) 21:22:33.50 ID:og+xjDkf
で、結局、何から作ったらいいんだ?
141名前は開発中のものです。:2012/01/03(火) 06:18:34.71 ID:ioX3a31x
Mini Soccer Tactics3みたいのなのを誰か作ってくれ!
142名前は開発中のものです。:2012/01/03(火) 19:45:31.21 ID:Oq9jEq8e
PlayMakerFootballとか面白かったなぁ
143名前は開発中のものです。:2012/01/23(月) 19:51:16.25 ID:0X6D2hBD
ウイイレとかリアルで楽しいんだが
俺の美化された記憶ではファミコンサッカーが一番。

でも何から作ればいいのか分からん
144名前は開発中のものです。:2012/01/26(木) 14:58:32.14 ID:1fKV/kkD
物理演算に基づいたリアルなボールの動き

各選手の動きは、まぁ、DQ式のらんだむえんかうんとでいいんじゃまいか
145名前は開発中のものです。:2012/01/31(火) 05:06:09.00 ID:sJW7mNED
Simulation Soccer 2.0に影響されてサッカーゲーム作ってます。
自己満レベルだけど形になったら公開するね。
146名前は開発中のものです。:2012/02/21(火) 02:16:35.06 ID:x0fhiYAk
SFCのリアルのサッカーゲームって、どれも微妙じゃないか?

バスケゲームに名作無しは有名だと思うが

147電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:5) 【21m】 :2013/08/31(土) NY:AN:NY.AN ID:BMnmSRUX BE:283786447-PLT(12080)

  ∧_∧
  ( ・∀・)            人 ガッ
  (    つ―-‐-‐-‐-‐-‐○ <  >__Λ∩
  人 Y ノ.             V`Д´)/
  し(_)                  /  ←>>74
148名前は開発中のものです。:2013/12/02(月) 12:57:17.03 ID:bDMG3qei
作ったけどボールに群がる幼稚園サッカーみたになっちまったぜ
149名前は開発中のものです。:2014/01/18(土) 07:18:39.83 ID:08F9EB5G
サッカーゲームを作るなら、まずは陣取り合戦からかな。
ボールの動きなんてその後でいいんじゃない?
150名前は開発中のものです。:2014/04/09(水) 09:40:23.27 ID:9NiONvxk
ワールドカップに向けてサッカーゲームでも作ってみっかな
まずはルールを覚えないと
151名前は開発中のものです。:2014/04/09(水) 09:57:01.22 ID:9NiONvxk
挫折しました
152名前は開発中のものです。:2014/04/09(水) 14:21:07.57 ID:L1H+Dbac
>>151
17分て・・・早っ
153名前は開発中のものです。:2014/04/10(木) 04:48:38.48 ID:2ZrXXk32
ジーコサッカー
154名前は開発中のものです。:2014/04/11(金) 04:28:56.58 ID:ZP+Idukl
カードゲーム化で。
TCGのように選手カードがどうたらというものではなく、場面ごとに手札切っていってゴールへつなげていくゲーム。
…カプコンのドカベンのサッカー版……乱数要素が半視覚化されたキャプ翼
155名前は開発中のものです。:2014/04/28(月) 10:45:44.22 ID:6mFyNfRu
今から少しずつ作ってみたいと思います。
[step-1] まずはグラウンドを描画してみます。
156名前は開発中のものです。:2014/04/28(月) 12:57:16.30 ID:6mFyNfRu
[step-1]グラウンドの芝生の描画テスト結果
ttp://www13.plala.or.jp/amagame/soccer/step1.png
基本的に緑色の地面を準備しただけですが、縞模様になるように描画しています。

次は、[step-2]グラウンドに白線を引いてみます。
157名前は開発中のものです。:2014/04/28(月) 16:24:53.81 ID:6mFyNfRu
[step-2]グラウンドに白線を引きました。
ttp://www13.plala.or.jp/amagame/soccer/step2.png
視点は3Dになっていますが、実質的には2次元(XY平面)での描画プログラムです。

次は、[step-3]ゴールの枠など立体構造物を準備しようと思います。
158名前は開発中のものです。:2014/04/28(月) 20:11:25.15 ID:6mFyNfRu
[step-3]立体物を追加しました。
ttp://www13.plala.or.jp/amagame/soccer/step3.png

データ構造の関係上、2Dの白線と3Dのゴールポストを別オブジェクトにしましたが、
プログラミング的には同じような作業になります。

次はいよいよ、[step-4]サッカーボールを登場させようと思います。
159名前は開発中のものです。:2014/04/28(月) 21:49:02.77 ID:6mFyNfRu
[step-4]サッカーボールの作成
ttp://www13.plala.or.jp/amagame/soccer/step4.png

正20面体をもとにしてボール形状を得ています。
サンプル画像はボールの柄を見やすくするため、フィールドサイズに対してかなり大きくなっています。
実寸に調整することも勿論簡単にできますが、見易さに配慮してこのままのサイズでゲームにするのも
悪くないような気もしています。

本日はここまでで終了です。
160名前は開発中のものです。:2014/04/30(水) 21:01:23.25 ID:5brmSDUW
[step-5]サッカーボールの運動
ttp://www13.plala.or.jp/amagame/soccer/step5.png

空中では放物線運動、地面では転がり運動するようにプログラミングします。
物理シミュレーションの基本的課題ですが、これがうまく動くようになると、
プログラミングが面白くなってくると思います。
161名前は開発中のものです。:2014/04/30(水) 21:46:54.75 ID:5brmSDUW
[step-6]ゴールとボールの接触判定
ttp://www13.plala.or.jp/amagame/soccer/step6.png

ボールがゴールの立体構造物にぶつかったら反射するような判定処理を作ります。

ボールを自在にコントロールできるうちは容易にテストできるので、この段階で
しつこく蹴りつけて納得いくまでデバッグしておくと良いと思います。
162名前は開発中のものです。:2014/04/30(水) 22:15:21.22 ID:5brmSDUW
[step-7]ゴールとラインの通過判定
ttp://www13.plala.or.jp/amagame/soccer/step7.png

ボールがゴール内に入ったり、ラインを割ったかどうかを判定するようにしました。
判定後は一定時間操作を禁止し、所定の位置にボールをリセットします。

本日はここまでで終了です。
163名前は開発中のものです。:2014/04/30(水) 22:40:24.68 ID:5brmSDUW
誰も見ていないかもしれませんが、とりあえず、>>155-162のまとめです。
ttp://www13.plala.or.jp/amagame/soccer/

実行可能なサンプルプログラムも公開してみます。
ご意見、ご質問などはこのスレでどうぞ。
164名前は開発中のものです。:2014/05/02(金) 23:00:33.49 ID:wLqSX8UR
[step-8]時計とスコアボードの実装
ttp://www13.plala.or.jp/amagame/soccer/step8.png

スコアクラスには時刻と時間帯(前半、後半など)と、
時間帯別チーム別のスコア配列を保持し、ボールがゴールに入ったとき、インクリメントしています。
また、得点があったときは、ささやかながら、得点が更新されるアニメーション表示を実装しました。
165名前は開発中のものです。:2014/05/03(土) 11:32:48.98 ID:ioL37ML9
[step-9]試合の進行管理処理を作る
ttp://www13.plala.or.jp/amagame/soccer/step9.png

前半、後半、延長戦の管理を実装しました。
これによって、「サッカーのルールを模擬した箱庭」が、ほぼ完成です。

ここからは、ボール操作の自由度を縛っていく方向でゲーム性を加えていきます。
166名前は開発中のものです。:2014/05/06(火) 13:01:27.03 ID:C3g9GlRL
[step-10]脱「箱庭」の方針

ここまでに作ったプログラムで、ボールがゴールに入れば勝敗が決まるという、
サッカーの基本ルールは実装できましたが、そもそも、ボールがマウスで
自由に動かせるのでは、まだまでゲームと呼べるものにはなっていません。

やはり、ボールは選手が蹴ってこそサッカーゲームということになりますが、
いきなりフルスペックで「サッカー選手」の思考やアクションを設計、実装するのは
ハードルが高いと思います。

そこで、最初は「フィールドに選手が立っているだけ」の状態から始め、
徐々にボールに干渉させつつ、最後は効率的に攻守をこなせるように発展させる、
という段取りで作ってみようと思います。
167名前は開発中のものです。:2014/05/06(火) 13:06:39.57 ID:C3g9GlRL
[step-11]選手の表示
ttp://www13.plala.or.jp/amagame/soccer/step11.png

選手クラスとして、座標と方向のみを持つクラスを作り、適当な初期位置に配置して、
ストックキャラクタを表示するようにしてみました。

まだボールに反応しないどころか、当たり判定もありませんので幽霊みたいなものですが、
取り掛かりはいつもこんな感じです。
168名前は開発中のものです。:2014/05/09(金) 21:27:36.68 ID:vAmRioNV
[step-12]選手とボールの衝突判定
ttp://www13.plala.or.jp/amagame/soccer/step12.png

ボールが選手の体に当たると跳ね返るようになりました。

まだ選手はうごきませんが、サッカーゴールのときと同様、
ボールが自在に動かせるうちに、しつこく接触判定の実装と
テストを行っておくのが楽だと思います。
169名前は開発中のものです。:2014/05/09(金) 21:37:49.10 ID:vAmRioNV
[step-13]ボールをトラップする
ttp://www13.plala.or.jp/amagame/soccer/step13.png

衝突判定を拡張し、正面側からボールを受けたときは跳ね返りを抑えて
足元にボールをトラップするようにしました。
170名前は開発中のものです。:2014/05/10(土) 22:13:12.22 ID:bLfshhAR
[step-14]選手を試験的に動かす
ttp://www13.plala.or.jp/amagame/soccer/step14.png

ボールに向かって選手を動かしてみました。案の定、幼稚園児の球蹴り遊びのように、
すぐに団子状態になってしまいますが、ずいぶんとにぎやかになってきました。

実行ファイルも公開中です。
ttp://www13.plala.or.jp/amagame/soccer/index.html
171名前は開発中のものです。:2014/05/17(土) 07:20:57.48 ID:E7s/lqXl
[step-15]ドリブルをさせる
ttp://www13.plala.or.jp/amagame/soccer/step15.png

step-13で実装した処理を拡張し、適当な条件のとき、トラップする代わりに
正面に向かって蹴り出すようにすると、ドリブルするようになります。
172名前は開発中のものです。:2014/05/20(火) 21:24:24.19 ID:X4klhCbP
[step-16]選手の動きを改良する
ttp://www13.plala.or.jp/amagame/soccer/step16.png

選手ごとに目的地を保持し、自動的にそちらへ向かって動くようにしました。
この機能をベースにして発展させれば、将来的にはボールに群がらず、
フォーメーションを整えられるようにできそうです。

静止画からはぱっとしませんが、かなり重要な実装ステップのひとつかと思います。
173名前は開発中のものです。:2014/05/20(火) 21:41:23.97 ID:X4klhCbP
[step-17]選手同士の接触判定
ttp://www13.plala.or.jp/amagame/soccer/step17.png

選手同士の位置が近づきすぎたとき、お互いに離れる方向に加速することで、
重なり合ってしまう不自然な現象を解決してみました。

剛体同士の接触処理に使われるような厳密な判定とちがって簡易な処理なので
押しくらまんじゅう状態になるとめり込んだりすることもあるかもしれませんが、
このようなゲームシステムでは、そんなに神経質にならなくても良いように思います。
174名前は開発中のものです。:2014/05/29(木) 09:12:48.67 ID:GzbyVACp
[step-18]選手たちにサッカーの試合をさせるための方針

ここまでのところで、ボールに群がってしまう幼稚なサッカー風環境ソフトができました。
この後、サッカーゲームとして仕上げていくには、選手を統率した動きを与える、
という開発方針をとりますが、プログラミング技術よりも、監督、コーチ的な技術が
重要になってくるかもしれません。

しかしながら、私にはサッカー指導者の経験がありませんので、極めて適当な
草サッカーチームになるかもしれませんが、一応の完成を目指して
これまでどおり段階的に進めてみたいと思います。
175名前は開発中のものです。:2014/05/29(木) 09:18:07.28 ID:GzbyVACp
[step-19]ポジションに配置する
ttp://www13.plala.or.jp/amagame/soccer/step19.png

ゴールキーパーを含む1チーム11人の選手をフィールド上に立たせてみました。
ここまでに、すでに選手の初期位置を与えるメソッドは作ってありましたので、
フィールドの寸法と配置座標(正規化座標)から、11人分の選手の位置を
リセットする関数を新たに定義しています。

フィールド座標の原点をセンターサークル中央にしているので、
XY座標の符号を逆にすれば逆サイドのチームも同様に配置できます。
176名前は開発中のものです。:2014/06/06(金) 22:05:11.63 ID:+UOYPqqU
[step-20]フォーメーションエディタを作る
ttp://www13.plala.or.jp/amagame/soccer/step20.png

選手の移動を組織的にコントロールするためには、
選手個人の人工知能的アルゴリズムを工夫するよりも、
フィールド上でのフォーメーションパターンをあらかじめ決めておき、
状況に応じて選択する、という方法が簡単に実装できそうです。

これは、そのフォーメーションパターンを設計するための専用エディタです。
177名前は開発中のものです。:2014/06/06(金) 22:18:48.35 ID:+UOYPqqU
[step-21]フォーメーション変更
ttp://www13.plala.or.jp/amagame/soccer/step21.png

フォーメーションエディタで編集したポジションに、あるキーを押すと
一斉に選手が移動するようなインタフェースを試験的に追加しました。

ボールを見て動くわけではないのですが、指示通り組織的に動くようになるだけで、
ちょっと本格的なサッカーになったような錯覚を覚えます。

ちなみに、こういう指導方法を子供相手にやる人はコーチ失格だそうです。
178名前は開発中のものです。:2014/06/11(水) 21:51:49.36 ID:H1wDQdSg
[step-22]フォーメーション自動切り替え
ttp://www13.plala.or.jp/amagame/soccer/step22.png

ボールの参照位置を変えてフォーメーションを数パターン作成し、
現在のボールの位置に最寄の参照フォーメーションに自動で切り替える処理を実装しました。

ボールの動きに呼応して選手が各々動くので、なんとなくサッカーぽく見えます。
179名前は開発中のものです。:2014/06/11(水) 21:57:32.85 ID:H1wDQdSg
[step-23]最寄の選手がボールを追う
ttp://www13.plala.or.jp/amagame/soccer/step23.png

各チームごとに、ボールに最寄りの選手一人はフォーメーションに関わらず
ボールを直接追いかけるようにしました。
放っておくと、相手チームの選手と競り合いながらドリブルしていきます。

以前も同様な追っかけ処理を実装していましたが、
そのころの全員集まって来る幼稚園サッカーと違い、
他の選手はボールを遠巻きにフォーメーションを保とうとしますので、
ずいぶん成長したように見えます。
180名前は開発中のものです。:2014/06/30(月) 17:13:41.88 ID:Utu19xNB
[step-24]カメラを改良する
ttp://www13.plala.or.jp/amagame/soccer/step24.png

これまでのカメラはボールを後ろから追いかけるアルゴリズムでしたが、
フォーメーションや攻撃サイドがわかりにくい問題がありましたので、
テレビのサッカー中継でよく見られるスタンド目線の首振りカメラに変更してみました。

ロングショットの映像は、フィールド全体の様子がわかりやすいのですが、
迫力では劣りますので、大画面テレビ向けのような気がします。
181名前は開発中のものです。:2014/06/30(月) 17:17:02.35 ID:Utu19xNB
[step-25]セットプレイ
ttp://www13.plala.or.jp/amagame/soccer/step25.png

ボールが外に出たり、ゴールに入ったときの後の再開時のための処理を追加しました。
攻撃、守備を管理するフラグを制御しつつ、守備側はボールが蹴られるまで一定距離
離れるように制約しています。
182名前は開発中のものです。:2014/06/30(月) 17:24:18.44 ID:Utu19xNB
……という感じで、ワールドカップの時期に合わせて
自主的にサッカーゲームを作ってみました。

敵味方ともにAIがいまいちで、まともにプレイできるレベルではありませんが、
これ以上作りこむには製作者にサッカーの知識と経験が足りないと感じています。

しかし、プログラミング的に興味のあった要素については大体試せたので、
とりあえずこの段階で今回は製作完了ということにしようと思います。

最終的な試作品は、こちらからダウンロードできます。
ttp://www13.plala.or.jp/amagame/soccer/
183SGGK ◆6pZCoAtaxk :2014/07/06(日) 00:26:27.98 ID:kEJ3/V9n
完成おつかれさまです。( ´ω`)
参考にします。
184名前は開発中のものです。:2014/07/06(日) 04:26:16.53 ID:Raj7PBL/
>>183
一人で修行スレの人ですね。どうぞよろしく。
分かりにくいところは、出来るだけ解説を補足しますので
お気軽に質問などしてくださいね。
185SGGK ◆6pZCoAtaxk
なんとか記憶を取り戻してプログラムが書けるようにがんばりますので
こちらこそよろしくおねがいします (^o^)/