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

1名前は開発中のものです。
垢版 |
02/06/18 23:47ID:O1WPckYQ
教えろ
2014/05/02(金) 23:00:33.49ID:wLqSX8UR
[step-8]時計とスコアボードの実装
ttp://www13.plala.or.jp/amagame/soccer/step8.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最終的な試作品は、こちらからダウンロードできます。
ttp://www13.plala.or.jp/amagame/soccer/
2014/07/06(日) 00:26:27.98ID:kEJ3/V9n
完成おつかれさまです。( ´ω`)
参考にします。
2014/07/06(日) 04:26:16.53ID:Raj7PBL/
>>183
一人で修行スレの人ですね。どうぞよろしく。
分かりにくいところは、出来るだけ解説を補足しますので
お気軽に質問などしてくださいね。
2014/07/07(月) 00:00:46.58ID:f9FnhUMD
なんとか記憶を取り戻してプログラムが書けるようにがんばりますので
こちらこそよろしくおねがいします (^o^)/
186名前は開発中のものです。
垢版 |
2017/02/05(日) 08:33:29.62ID:LnsVjv+3
そうかそうか
187名前は開発中のものです。
垢版 |
2017/12/31(日) 22:13:59.48ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

CIVBANFHAV
188名前は開発中のものです。
垢版 |
2018/04/25(水) 16:26:07.76ID:cVFSt/oN
サッカーで遊ぼう
https://goo.gl/w2LR6Y
189名前は開発中のものです。
垢版 |
2018/04/26(木) 12:07:47.97ID:kEhPUDkl
やってみりゃわかるよ
https://goo.gl/PX4kph
190
垢版 |
2018/07/03(火) 22:11:01.42ID:PgC7x65J
https://youtu.be/OxFIecj0PCo
2021/09/06(月) 20:42:57.84ID:dILLG29i
プロフィール。1点入った1、入らない0。樹形図。総当り表。メディカル。パンフレット。グッズ。
2024/04/29(月) 19:56:26.29ID:XMtpdsp9
欲種
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況