モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
CGCGへの扉機械学習安藤幸央ディープラーニング月刊エンタメAIニュースGAN河合律子OpenAINVIDIA音楽吉本幸記ニューラルネットワーク三宅陽一郎強化学習GoogleQAグーグルDeepMindGPT-3Facebook自然言語処理人工知能学会大内孝子森川幸人敵対的生成ネットワークシナリオキャラクターAIスクウェア・エニックスモリカトロンAIラボインタビューマイクロソフトルールベースStable DiffusionAIと倫理アート映画デバッグNFTDALL-E2StyleGAN倫理ゲームプレイAI自動生成SIGGRAPHモリカトロンメタAIテキスト画像生成ロボット深層学習ファッションCEDEC2019プロシージャルVFXデジタルツイン遺伝的アルゴリズムテストプレイNPCDALL-ECLIP画像生成大規模言語モデルChatGPTビヘイビア・ツリーディープフェイクCEDEC2021CEDEC2020ゲームAIメタバース不完全情報ゲームVRナビゲーションAI画像生成AIボードゲーム畳み込みニューラルネットワークGDC 2021JSAI2022生成系AIAdobeGDC 2019マルチエージェントCEDEC2022著作権AIアート懐ゲーから辿るゲームAI技術史toioジェネレーティブAICNNMicrosoftNVIDIA OmniverseUnity小説アニメーション鴫原盛之HTN階層型タスクネットワークマンガ汎用人工知能JSAI2020GTC2023TensorFlowインタビューバーチャルヒューマンBERTMidjourneyイベントレポート対話型エージェントAmazonロボティクスMetaMinecraft水野勇太アバターOmniverse3DCGUbisoftGenvid TechnologiesガイスターStyleGAN2GTC2022教育ソニーJSAI2021スポーツ研究シムピープルMCS-AI動的連携モデルマーケティングGDC SummerLLMブロックチェーン作曲アストロノーカキャリアeスポーツスタンフォード大学サイバーエージェント音声認識eSportsDQNBLUE PROTOCOLシーマンStability AIメタAlphaZeroTransformerGPT-2rinnaAIりんなデジタルヒューマンカメラ環世界中島秀之PaLM哲学ベリサーブPlayable!理化学研究所SIGGRAPH ASIANetflix東京大学DARPAドローンシムシティImagenZorkバイアスモーションキャプチャーTEZUKA2020AI美空ひばり手塚治虫テキスト生成バンダイナムコ研究所スパーシャルAIElectronic Arts3DメタデータLEFT 4 DEAD通しプレイOpenAI Five本間翔太CMAudio2Faceピクサープラチナエッグイーサリアムボエダ・ゴティエビッグデータ中嶋謙互Amadeus Codeデータ分析Microsoft AzureMILE模倣学習ナラティブNVIDIA RivaアーケードゲームOmniverse ReplicatorWCCFレコメンドシステムNVIDIA DRIVE SimWORLD CLUB Champion FootballNVIDIA Isaac Simセガ柏田知大軍事田邊雅彦トレーディングカードトレカメディアアートGPTPyTorch眞鍋和子バンダイナムコスタジオaibo合成音声齊藤陽介マインクラフトお知らせMagic Leap Oneチャットボットサルでもわかる人工知能VAEDreamFusionリップシンキングUbisoft La Forge自動運転車ワークショップ知識表現ウォッチドッグス レギオンIGDA秋期GTC2022市場分析どうぶつしょうぎEpic Gamesジェイ・コウガミ音楽ストリーミングMITAIロボ「迷キュー」に挑戦AWS野々下裕子徳井直生マシンラーニング5GMuZeroRival Peakpixivクラウド対話エンジン斎藤由多加リトル・コンピュータ・ピープルCodexコンピューティショナル・フォトグラフィーゴブレット・ゴブラーズ絵画ARMicrosoft Designerイラストシミュレーション完全情報ゲーム坂本洋典釜屋憲彦ウェイポイントパス検索対談藤澤仁生物学GTC 2022画像認識GPT-3.5SiemensStyleCLIPDeNA長谷洋平masumi toyota宮路洋一OpenSeaGDC 2022Gen-1TextWorldEarth-2BingMagenta音楽生成AISFELYZA Pencil松尾豊GTC2021CycleGANテンセントデータマイニングNetHackはこだて未来大学Bardキャラクターモーションフェイクニュース現代アートエージェントRPGSIGGRAPH 2022レベルデザインAIボイスアクターNVIDIA CanvasGPUALife人工生命オルタナティヴ・マシンサウンドスケープLaMDATRPGAI DungeonプロンプトASBS栗原聡ぱいどんアドベンチャーゲーム不気味の谷ナビゲーションメッシュ松井俊浩ELYZAフルコトELYZA DIGEST建築音声合成NeRF西成活裕Apex LegendsELIZA群衆マネジメントライブポートレイトNinjaコンピュータRPGライブビジネスWonder Studioアップルタウン物語新型コロナ土木KELDIC周済涛BIMメロディ言語清田陽司インフラゲームTENTUPLAYサイバネティックスMARVEL Future FightAstro人工知能史Amazon BedrockタイムラプスEgo4DAI哲学マップイーロン・マスクバスキア星新一X.AI日経イノベーション・ラボStyleGAN-XLX Corp.敵対的強化学習StyleGAN3Twitter階層型強化学習GOSU Data LabGANimatorXホールディングスWANNGOSU Voice AssistantVoLux-GANMagi竹内将SenpAI.GGProjected GANStable Diffusion XLMobalyticsSelf-Distilled StyleGANSDXL馬淵浩希CygamesニューラルレンダリングRTFKT岡島学AWS SagemakerPLATONIKE映像セリア・ホデント形態素解析frame.ioClone XUXAWS LambdaFoodly村上隆誤字検出森山和道認知科学中川友紀子Digital MarkゲームデザインSentencePieceアールティSnapchatLUMINOUS ENGINEクリエイターコミュニティLuminous ProductionsBlenderBot 3バーチャルペットパターン・ランゲージ竹村也哉Meta AINVIDIA NeMo Serviceちょまどマーク・ザッカーバーグヴァネッサ・ローザGOAPWACULVanessa A RosaAdobe MAX 2021陶芸自動翻訳Play.ht音声AIAIライティングLiDAROmniverse AvatarAIのべりすとPolycamFPSQuillBotdeforumマルコフ決定過程NVIDIA MegatronCopysmith動画生成AINVIDIA MerlinJasperハーベストNVIDIA MetropolisForGamesパラメータ設計テニスゲームマーケットバランス調整岡野翔太協調フィルタリング郡山喜彦人狼知能テキサス大学ジェフリー・ヒントンGoogle I/O 2023AlphaDogfight TrialsAI Messenger VoicebotGoogle I/OエージェントシミュレーションOpenAI Codex武蔵野美術大学StarCraft IIHyperStyleMax CooperBingAIFuture of Life InstituteRendering with StyleIntelDisney類家利直FireflyLAIKADisneyリサーチヴィトゲンシュタインPhotoshopRotomationGauGAN論理哲学論考LightroomGauGAN2京都芸術大学Canvaドラゴンクエストライバルズ画像言語表現モデルChatGPT4不確定ゲームSIGGRAPH ASIA 2021PromptBaseBOOTHDota 2モンテカルロ木探索ディズニーリサーチpixivFANBOXMitsuba2バンダイナムコネクサス虎の穴ソーシャルゲームEmbeddingワイツマン科学研究所ユーザーレビューFantiaGTC2020CG衣装mimicとらのあなNVIDIA MAXINEVRファッションBaidu集英社淡路滋ビデオ会議ArtflowERNIE-ViLG少年ジャンプ+グリムノーツEponym古文書ComicCopilotゴティエ・ボエダ音声クローニング凸版印刷コミコパGautier Boeda階層的クラスタリングGopherAI-OCRゲームマスター画像判定Inowrld AIJuliusSIE鑑定ラベル付けMODTPRGOxia Palus大澤博隆Ghostwriterバーチャル・ヒューマン・エージェントtoio SDK for UnityArt RecognitionSFプロトタイピングSkyrimクーガー田中章愛実況パワフルサッカースカイリム石井敦銭起揚NHC 2021桃太郎電鉄RPGツクールMZ茂谷保伯池田利夫桃鉄ChatGPT_APIMZGDMC新刊案内パワサカダンジョンズ&ドラゴンズマーベル・シネマティック・ユニバースコナミデジタルエンタテインメントOracle RPG成沢理恵MITメディアラボMCU岩倉宏介深津貴之アベンジャーズPPOxVASynthマジック・リープDigital DomainMachine Learning Project CanvasLaser-NVMagendaMasquerade2.0国立情報学研究所TencentノンファンジブルトークンDDSPフェイシャルキャプチャー石川冬樹MERFサッカーモリカトロン開発者インタビュースパコンAlibaba里井大輝Kaggle宮本茂則スーパーコンピュータVQRFバスケットボール山田暉松岡 聡nvdiffrecAssassin’s Creed OriginsAI会話ジェネレーターTSUBAME 1.0NeRFMeshingSea of ThievesTSUBAME 2.0LERFGEMS COMPANYmonoAI technologyLSTMABCIマスタリングモリカトロンAIソリューション富岳TikTok初音ミクOculusコード生成AISociety 5.0リアム・ギャラガー転移学習テストAlphaCode夏の電脳甲子園グライムスBaldur's Gate 3Codeforces座談会BoomyCandy Crush Saga自己増強型AItext-to-imageジョン・レジェンドSIGGRAPH ASIA 2020COLMAPtext-to-3Dザ・ウィークエンドADOPNVIDIA GET3DドレイクデバッギングBigGANGANverse3DMaterialGANRNNグランツーリスモSPORTAI絵師ReBeLグランツーリスモ・ソフィーUGCGTソフィーPGCVolvoFIAグランツーリスモチャンピオンシップNovelAIRival PrakDGX A100NovelAI DiffusionVTuberユービーアイソフトWebcam VTuberモーションデータ星新一賞北尾まどかHALOポーズ推定将棋メタルギアソリッドVフォートナイトメッシュ生成FSMメルセデス・ベンツRobloxMagic Leapナップサック問題Live NationEpyllion汎用言語モデルWeb3.0マシュー・ボールAIOpsムーアの法則SpotifyスマートコントラクトReplica StudioamuseChitrakarQosmoAdobe MAX 2022巡回セールスマン問題Adobe MAXジョルダン曲線メディアAdobe Research政治Galacticaクラウドゲーミングがんばれ森川君2号和田洋一リアリティ番組映像解析Stadiaジョンソン裕子セキュリティMILEsNightCafe東芝デジタルソリューションズインタラクティブ・ストリーミングLuis RuizSATLYS 映像解析AIインタラクティブ・メディアポケモン3DスキャンPFN 3D Scanシーマン人工知能研究所東京工業大学Ludo博報堂Preferred NetworksラップPFN 4D ScanSIGGRAPH 2019ArtEmisZ世代DreamUpAIラッパーシステムDeviantArtWaifu DiffusionGROVERプラスリンクス ~キミと繋がる想い~元素法典FAIRSTCNovel AIチート検出Style Transfer ConversationOpen AIオンラインカジノRCPアップルRealFlowRinna Character PlatformiPhoneCALADeep FluidsSoul Machines柿沼太一MeInGameAmeliaELSIAIGraphブレイン・コンピュータ・インタフェースバーチャルキャラクターBCIGateboxアフォーダンスLearning from VideoANIMAKPaLM-SayCan予期知能逢妻ヒカリセコムGitHub Copilotユクスキュルバーチャル警備システムCode as Policiesカント損保ジャパンCaP上原利之ドラゴンクエストエージェントアーキテクチャアッパーグラウンドコリジョンチェックPAIROCTOPATH TRAVELER西木康智OCTOPATH TRAVELER 大陸の覇者山口情報芸術センター[YCAM]アルスエレクトロニカ2019品質保証YCAMStyleRigAutodeskアンラーニング・ランゲージ逆転オセロニアBentley Systemsカイル・マクドナルドワールドシミュレーターローレン・リー・マッカーシー奥村エルネスト純いただきストリートH100鎖国[Walled Garden]​​プロジェクト齋藤精一大森田不可止COBOLSIGGRAPH ASIA 2022高橋智隆DGX H100VToonifyロボユニザナックDGX SuperPODControlVAE泉幸典仁井谷正充クラウドコンピューティング変分オートエンコーダーロボコレ2019Instant NeRFフォトグラメトリartonomous回帰型ニューラルネットワークbitGANsDeepJoinぎゅわんぶらあ自己中心派Azure Machine LearningAzure OpenAI Service意思決定モデル脱出ゲームDeepLHybrid Reward Architectureコミュニティ管理DeepL WriteウロチョロスSuper PhoenixSNSProject Malmoオンラインゲーム気候変動Project PaidiaシンギュラリティProject Lookoutマックス・プランク気象研究所レイ・カーツワイルWatch Forビョルン・スティーブンスヴァーナー・ヴィンジ気象モデルRunway ResearchLEFT ALIVE気象シミュレーションMake-A-Video長谷川誠ジミ・ヘンドリックス環境問題PhenakiBaby Xカート・コバーンエコロジーDreamixロバート・ダウニー・Jr.エイミー・ワインハウスSDGsText-to-ImageモデルYouTubeダフト・パンクメモリスタ音声生成AIGlenn MarshallScenarioThe Age of A.I.Story2Hallucination音声変換LatitudeレコメンデーションJukeboxAIピカソVeap JapanAI素材.comEAPneoAISIFT福井千春DreamIconDCGAN医療mignMOBADANNCEメンタルケアstudiffuse人事ハーバード大学Edgar HandyAndreessen Horowitz研修デューク大学AIQVE ONEQA Tech Nightmynet.aiローグライクゲーム松木晋祐東京理科大学下田純也人工音声NeurIPS 2021産業技術総合研究所桑野範久リザバーコンピューティングプレイ動画ヒップホップ対話型AIモデルソニーマーケティングControlNetサイレント映画もじぱnoteNBA環境音暗号通貨note AIアシスタントFUZZLEKetchupAlterationAI News粒子群最適化法Art Selfie進化差分法オープンワールドArt Transfer群知能下川大樹AIFAPet Portraitsウィル・ライト高津芳希P2EBlob Opera大石真史クリムトBEiTStyleGAN-NADA世界モデルDETRゲームエンジンDreamerV3SporeUnreal Engineクリティックネットワークデノイズ南カリフォルニア大学Unity for Industryアクターネットワーク画像処理DMLabSentropyGLIDEControl SuiteCPUDiscordAvatarCLIPAtari 100kSynthetic DataAtari 200MCALMYann LeCunプログラミングサム・アルトマン鈴木雅大ソースコード生成コンセプトアートGMAIシチズンデベロッパーSonanticColie WertzGitHubCohereリドリー・スコットウィザードリィMCN-AI連携モデルマジック:ザ・ギャザリング絵コンテUrzas.aiストーリーボード介護大阪大学西川善司並木幸介KikiBlenderサムライスピリッツ森寅嘉Zoetic AIゼビウスSIGGRAPH 2021ペットGPT-4ストリートファイター半導体Digital Dream LabsPaLM APITopaz Video Enhance AICozmoMakerSuiteDLSSタカラトミーSkeb山野辺一記NetEaseLOVOTDreambooth-Stable-Diffusion大里飛鳥DynamixyzMOFLINゲーム背景RomiGoogle EarthU-NetミクシィGEPPETTO AI13フェイズ構造ユニロボットStable Diffusion web UIADVユニボPoint-EXLandGatoアパレルAGIAI model手塚眞DEATH STRANDINGマルチモーダルAI ModelsEric Johnson汎用強化学習AIZMO.AIデザインMOBBY’SOculus Questコジマプロダクションロンドン芸術大学モビーディック生体情報デシマエンジンGoogle BrainダイビングインディーゲームSound Controlアウトドア写真高橋ミレイSYNTH SUPERAIスキャニング照明Maxim PeterKarl Sims自動採寸Joshua RomoffArtnome3DLOOKハイパースケープICONATESizer山崎陽斗深層強化学習ワコール立木創太松原仁スニーカー浜中雅俊UNSTREETミライ小町武田英明Newelseテスラ福井健策CheckGoodsGameGAN二次流通パックマンTesla BotNEDO中古市場Tesla AI DayWikipediaDupe Killerソサエティ5.0Sphere偽ブランドSIGGRAPH 2020バズグラフXaver 1000配信ニュースタンテキ養蜂東芝Beewiseソニー・ピクチャーズ アニメーションDIB-R倉田宜典フィンテック投資Fosters+Partners韻律射影MILIZEZaha Hadid Architects広告韻律転移三菱UFJ信託銀行

20年間稼働を続けたアーケードゲーム『WCCF』シリーズを支えたAI開発の舞台裏:懐ゲーから辿るゲームAI技術史vol.5<前編>

2022.8.30ゲーム

20年間稼働を続けたアーケードゲーム『WCCF』シリーズを支えたAI開発の舞台裏:懐ゲーから辿るゲームAI技術史vol.5<前編>

今回は、本企画では初となるアーケードゲームのAIを紹介します。本稿で紹介するタイトルは、2002〜2022年にかけて、およそ20年も稼働を続けたアーケード用サッカーゲーム『WORLD CLUB Champion Football』(以下『WCCF』)シリーズです。本シリーズに登場する選手たちは、プレイヤーが指示を出した戦術などをもとに、AIによってパスやドリブル、タックルなどの行動を自動で決定する仕組みになっているのが大きな特徴でした。

ピッチ上にいる22人の選手たちを同時に制御する選手AIは、一体どのように作られていたのでしょうか?『WCCF』シリーズならではのAIの仕組みを、長らく本シリーズのプロデューサーを務めたセガの柏田知大氏と、同じくプログラマーの田邊雅彦氏のお2人に伺いました。

『WCCF』とは?

『WCCF』は2002年7月に稼働を開始した『WCCF 01-02』をシリーズ第1弾とするアーケード用サッカーゲームです。従来のサッカーゲームは、カーソルが点灯した選手をレバーやパスボタンで操作するのが常識でしたが、本シリーズは選手の移動やパスなどのボタン操作がなく、すべての選手がAIによって自動で行動を選択する画期的なシステムを導入しました。

シリーズ第1弾で、プレイヤーが試合中に行う操作はシュート、ゴールキーパー飛び出しの2ボタンと、中央突破、右サイド攻撃、左サイド攻撃、カウンターアタックの各戦術ボタンのみ。レバーやスティック類は一切ありませんでした。

シリーズ第1弾『WCCF 01-02』の筐体
2017年1月から稼働を開始した『WCCF 16-17』のゲーム画面

本シリーズのもうひとつの特徴は、デッキ(チーム)を編成する際は、実在のサッカー選手の写真をプリントしたトレーディングカードを使用することです。

カードは1プレイ(1試合)終了するごとに筐体からランダムで排出される仕組み(※『WCCF FOOTISTA2019』以降はオンデマンド印刷方式)で、プレイヤーは繰り返し遊んでカードを集めながらチームを作れる所にも楽しさがあります。

デッキは試合開始前のインターバル中に自由に変更することが可能で、選手たちはサッカーのピッチが描かれたフラットパネル上に並べたカードの配置と同じフォーメーションを組んだ状態で登場し、試合中もカードを動かすことで自由にフォーメーションを変更できる、素晴らしいアイデアを採用していました。

単にサッカーゲームを遊ぶだけでなく、カードをコレクションする要素も融合し、今までにない新しい遊びを創り上げた本シリーズは、既存のサッカーゲーム好きに加えてリアルのサッカーやトレカのファンをも巻き込み、全国各地のゲームセンターで大ヒット。最盛期には、店に順番待ちのプレイヤーが連日絶えないほどの凄まじい人気を誇りました。

2019年3月には、ソフト・ハードともに大幅に変更した新シリーズ『WCCF FOOTISTA 2019』が登場。その後『FOOTISTA 2020』『FOOTISTA2021』の全3タイトルの稼働を経て、今年の3月31日(正確には4月1日の2時59分)でサービスを終了しました。アーケードゲームでは異例となる約20年間の長期稼働を続け、カードの累計出荷枚数は10億枚を超えました。

『WCCF』シリーズの選手カード(※カードいずれも『WCCF 16-17』のもの)
フラットパネル上にカードを並べた所(※写真は『WCCF FOOTISTA2019』)

監督の指示に従って選手が動くAIを目指し、試行錯誤を繰り返す

——本日はよろしくお願いいたします。まずお尋ねしたいのが、開発スタッフの皆さんが『WCCF』シリーズに選手AIを導入しようと考えた経緯についてです。2002年に登場した第1弾から、すでに高度なAIが出来上がっていたように思いますが、そもそもAIを搭載しようと思ったのはなぜですか?

田邊雅彦氏(以下、田邊):私が最初に参加したのは『WCCF 02-03 Ver.2.0』のファイナルの頃になりますので、立ち上げの段階でなぜAIを入れたのかに関しては、正直聞き及ぶ範囲でしか分からないのですが、「シーンとかのパターンだけでは、何回か遊んだだけで全部見えちゃうよね。無限に遊べるようにするためには、やっぱりAIだよね」と、言った所から『WCCF』の企画がスタートしたと聞いています。

柏田知大氏(以下、柏田):『サカつく』では「このシーンだと、ゴールが入りそうだな」といったパターンのようなものがあったのですが、このパターンを打破するためにはどんな手法を取るかを考えた結果、AIに行き着いたということですね。

田邊:それと『WCCF』は、フラットパネルを使ってカードの配置パターンを無限に作れるゲームだったので、ある固定のパターンではない、細かい操作で細かな違いを生み出せるようにしたかったのも、AIを入れた理由のひとつではないかと思います。

——第1弾が発売される前のロケテストの段階から、すでにプレイヤー間でもかなり反響が大きかったようですね。

柏田:そうですね。AIと、それからカードを使って選手が動くということで「何だろう? 今までになかったものが出たぞ」みたいなファーストインパクトは大きかったと聞いています。

——『WCCF』シリーズには、シュートとゴールキーパーの飛び出しボタンはありますが、パスとかセンタリングのボタンも、選手を直接動かせるレバーも存在しない、おそらく当時は前代未聞のサッカーゲームであったと思います。どのようにして本シリーズのプログラムを作ったのでしょうか?

田邊:『WCCF』は、プレイヤーが選手を直接操作する要素は一切なく、シュートやキーパーボタン、攻撃方向もカードの配置も、すべて監督の指示で動くということだったので、AI を開発するときにも監督、つまりプレイヤーからの指示であることを念頭に入れた作り方をしていました。

柏田:実は、開発段階ではボタンが全然なかったらしいんですよ。

——本当ですか!? これは驚きですね……。

柏田:当時、AM3研の部長だった小口(久雄氏。現:セガサミークリエイション社長)さんが見に来たときに「やっぱり、ボタンがあったほうがいいんじゃない?」と言われたので、ボタンが付いたというエピソードが実はあります。開発チーム内にも、ボタン操作とかを入れてもいいのではという意見があったみたいですが、小口さんの一言でボタンが入ることになりました。

リアルとゲームの中間地点と言いますか、実際の試合では監督が「シュート!」とは言わないですよね?「プレイヤー自身が何もできないのでは、ゲームとして全然面白くないよね」といった考えがあったみたいで、ここがかなり大きな分岐点だったと聞いています。

田邊:あれだけ大きくしたシュートボタンを、力いっぱいバンバン叩いてシュートすること自体が家庭用ではやりにくい面がありますが、力いっぱいボタンを叩いてゴールを決める気持ち良さを出す意図もそこにはあったと思いますね。

——『WCCF』シリーズのシュートボタンに、発光ランプ付きの大きなボタンを使用した理由は、まさにここにあったんですね。では、開発がスタートしてから製品化されるまでの間に、選手AIのプログラムを組むにあたって特にご苦労なさったことはありますか?

田邊:私が引き継いだときには、すでにイチから作ったプログラムがあったのですが、先人たちの苦悩がとてもしのばれる構造でした。大まかに言いますと「もし攻撃だったら」とか「もし守備だったら」とか、「もし最後に自分がボールを触っていたら」とか、if文のかたまりになっていましたね。まだ何も無い所からプログラムを作ると、こういうことになるんだろうなとは思いながらも、実際に自分で作ろうと思ったら、これは大変だなあと正直思いました。

柏田:最初に作ったプログラムは、『WCCF 05-06』までの間は継ぎ足しのタレみたいにしてずっと使い続けていましたね。

田邊:その次の『WCCF 06-07.』のときに、柏田が選手AIのチーフプランナー的な立場になりまして、ここで全面的にプログラムを作り直すことにしました。

『WCCF 05-06』:2007年8月より稼働開始
2008年6月から稼働を開始した『WCCF 06-07Ver.』は筐体デザインを一新。「チームスタイル」を発動させるボタン(キープレイヤーボタン)も新たに追加された

——『WCCF 06-07』でプログラムを作り直すまでの間は、ルールベースでずっとやってきたということですか?

田邊:そうですね。逆に言いますと、例えば「なぜ、そこにパスを出したのか」といったことの説明がつかない、つまり結果的にはパスを出したけど、実際にどこの条件分岐でそうなったのかが追い切れなくなっていました。「何千試合のうち1回だけこういうのが出るんだけど?」って言われても、それがどうして出てくるのかがサッパリ分からないんです。

——『WCCF』シリーズの選手AIはすべて非学習型ですが、選手を練習や試合に出場させることで経験値が上がる要素がありますよね? プログラムを全面的に作り直す前の初期のシリーズでは、選手たちの育成レベルがAIにも反映される仕組みになっていたのでしょうか?

田邊:選手が育つと、単にキックの精度が上がるとか球速がアップするとか、あるいは足が速くなったりするだけですね。

柏田:賢さというよりは、能力値が上がるということですね。

田邊:それから、成長すると特殊なプレイが使えるようにもなりますが、思考の精度自体は特に変わっていません。ただし、選手が十分に育っていないときは、下手なプレイが選ばれやすいプログラムにしてあります。

柏田:学習の要素は一切ありませんが、思考に関しては「この条件を見る」といった要素が途中から入るようになりましたね。

田邊:もともとサッカーではなく「サッカーみたいなルールがある中での球技」とも言えるものですし、3分間のゲーム中に2、3点ぐらい入らなくてはいけないとなったら、実際のサッカーのルールや選手の能力をベースにして経験則で作ってしまうと、全然点が入らないゲームになるだろうなと。

ですから、何かうまいこと「サッカーらしい」ことをしつつ、なおかつ「こんなのサッカーじゃないよ」って言われないよう、線引きはどこになるのかを探しながら作っていました。もし学習型のAIを取り込もうとすると、整備するのがすごく難しくなると思いましたので、基本的には以前からの引き継ぎもありつつ、非学習型のプログラムにしてあります。

選手のパラメーターとAIとの関係

——『WCCF』シリーズがゲームセンターで稼働している間は、各選手カードに設定された細かい能力値は非公開(※)にしていましたよね?『WCCF FOOTISTA 2019』以降は、公式サイトで大部分のパラメーターが公開されましたが、実際はカードごとに100種類のパラメーターが設定されていたと聞いたことがあるのですが、本当にそれだけのデータが入っていたのでしょうか?

※筆者注:初期の『WCCF』シリーズの選手カードには「オフェンス」「ディフェンス」「テクニック」「パワー」「スピード」「スタミナ」の全6種類のパラメーターが20段階で表示されていたが、利き足やプレースキックの精度など、カードには書かれていない細かい要素が多数設定されていた。

田邊:はい、100種類以上のパラメーターが入っていました。その中には、AIの要素かと言われると正直微妙なのですが「運」のパラメーターもありました。毎回、運を作る担当者は苦労していましたね。「この選手は運があるのかな? それともないのかな?」とか(笑)。

柏田:実は、運のパラメーターは使うのをやめました。データ自体は最後まで入っていたのですが、プログラム上では一切使っていません。今、田邊から話がありましたように、運の要素を実装するのは正直大変だったので……。

順番で言いますと、AIよりも先にパラメーターのほうから作りました。私も途中から開発に参加してパラメーターの制作も担当したのですが、「これはゲーム内のどこで使われてますか?」と質問したら「いや、使っていないんだよね」と言われたので、じゃあそっとしまっておこうかと(笑)。その後、自分がAIの担当になったときには「このパラメーターは使わないから実装しない」といったような、効率化を図ることはやりましたね。

田邊:左右それぞれの足のキック精度とか、一般的なパラメーターももちろん入っていますし、片足だけでも10種類ほどのパラメーターが設定されていました。

——片方の足だけで10種類もあったんですか!? それも驚きですね……。

柏田:逆足の「使用頻度」とか「精度」とか、ほかにも「視野の広さ」などのパラメーターも入っていました。

田邊:あとは、選手間の連携のつながりやすさとか、特定の選手同士の「特殊連携」とかもありましたね。

柏田:仕様的には矛盾を抱えていた面もありますが、「特殊連携」にはマイナスの組み合わせもたくさんありました。この人とこの人とでは仲が悪いとか、ユーザー的にはあまり嬉しくないとは思いますが……。

——「特殊連携」懐かしいですね! たとえ仲の悪い組み合わせも、すごくリアルな演出でしたので、これはこれでサッカーファンにとっては楽しいネタだったと思います。

田邊:それから当初は、運がファウルの受けやすさなどに反映されていたのすが、そもそもファウルが頻発するゲームではなかったので、結果的にはあまり差が生まれなかったですね。

——『WCCF FOOTISTA2019』以降のカードには「ケガ耐性」が表示されていたように、選手によって練習や試合中のケガのしやすさも異なっていましたよね? 特に初期のシリーズでは、耐性の低い選手はケガが治りにくかった印象があります。

田邊:はい。ケガも別のパラメーターを持たせていました。初期の頃は、ケガ耐性が低い選手は一度ケガをすると、なかなか治らなかったりすることもありましたね。

——連携でもケガでも、かなり現実の選手やチームに近いリアリティを出そうとしていたわけですね。

田邊:可能な限りは作っていましたが、アフリカとかの出身で詳しいデータがよく分からない選手に「パラメーターを100個つけなさい」って言われるのは、おそらく相当しんどかったと思います。

柏田:当時は死ぬほどサッカーを観ていましたね。選手のパラメーターの担当はセガに1人と、外注の方の1人と合計2人だけでやっていたのですが、選手のことは全員知っておかないとダメなので、私も入社後はオランダリーグとか、今まで見ていなかったリーグなども毎日のように観戦していました。

——『WCCF』シリーズの選手AIは、バージョンが変わるたびに調整を繰り返していたと思いますが、その都度ゲームの面白さの根幹に関わる部分をいじるのは相当なプレッシャーと言いますか、日々ご苦労が絶えなかったのではないかとお察します。

田邊:そうですね。先ほど、ファウルがなかなか出ないというお話をしましたが、守備力をちょっと落として得点率を上げようと調整した瞬間に、今度はスライディングタックルが発生しにくくなったことでファウルが起なくなった結果、フリーキックの機会がなくなるということも起きました。そうなるとフリーキック精度の高い、例えば中村俊輔みたいな選手の活躍の場が失われるなど、何かを目指して作るとすごく転がって違うことが起きるみたいなことがよく起きていましたね。

ちょっと触るたびに、何日間もずっと検証を続けてもらったりして、コーディングよりもチェックの量が多かったですね。

『WCCF FOOTISTA2019』のカード。裏面には「ケガ耐性」「安定度」などのパラメーターも書かれている

バージョンアップ時のAI開発、調整方法とは?

——『WCCF 04-05』以降のシリーズでは、プレイヤーが作ったゴーストチーム同士で対戦できる大会モード(※)が実装されましたよね? こちらも通常の試合と同じ選手AIを使用して試合をしていたのでしょうか?

※筆者注:本シリーズには「ロケーションチャンピオンシップ」などの名称で、異なる店舗間でプレイヤーが登録したチームデータを利用したゴーストチーム同士による対戦モードが存在し、上位の対戦カードは毎回各地の店舗で中継されるようになっていた。

田邊:はい。キーの入力についても、通常のCPU戦でCPUチームがやってくるような入力をそのまま取り入れたうえで、実際に対戦をさせています。

柏田:ただし、トーナメントの最初の頃の対戦に関しては、能力値の大きさでだいたい決まるようにはなっていたかと思います。

田邊:そうですね。メインモニターに中継が流れる上位の試合に関しては、ちゃんと入力とかのデータも反映させていましたが、トーナメント下位の試合では処理が間に合わないぐらいのデータ量になっていたので、能力値を使ったサイコロみたいものを用意していました。

2006年6月から稼働を開始した『WCCF 04-05』。シリーズ当初はイタリアのセリエAのクラブに所属する選手のみ登場していたが、本作からイングランドのプレミアリーグ、スペインのリーガ・エスパニョーラ、オランダ・エールディビジの選手も登場するようになった

柏田:当時の私は、ロケテストのタイミングで「ちゃんと放映されているかどうか、お前見て来い!」って店舗によく送り出されていました。それから、ホームページに「こんな試合だった」みたいな大会の結果とかも書いていましたね。

田邊:サーバー内では、トーナメントの結果はちゃんと公式に計算されるのですが、サーバーでのトーナメントと、実際に中継されるサテライトでの試合は、実は別々に計算されていたんです。そのためにトーナメントでは2-0だったのに、サテライトでは同点で終わったなんてことが起きる場合もあったので、サーバーでの計算結果とサテライトでの計算結果が、ちゃんと合うように必死に調整していました。

——基本的には、同じチーム同士のCPU対戦であれば、いつ、どこのお店で遊んでも同じ結果が出てくるようにならないとおかしいですよね。

田邊:サイコロみたいにランダムで決まる最初の1手目の要素はサーバーからの指示があるのですが、その1手目が毎回同じであれば、試合の結果も同じになることを保証しなきゃダメということですね。

——『WCCF』シリーズは、新バージョンに変わった後も旧シリーズのカードがずっと使えるようになっていました。最終的には1万種類を超えるカードが登場したこともあり、バージョン変更時に旧カードもふくめた選手AIの調整は相当大変だったのではないでしょうか?

田邊:「このバージョンは、セットプレイが生きるようにしよう」とか「このときのバージョンは、得点が入るエキサイティングなものにしよう」とか、テーマみたいなものが多少はあったのですが、そのテーマに沿って作ると「昔作った選手が、何だかうまく動かないな……」ということが確かにありました。そこでチェック担当の方には、過去のカードもふくめて全部試してもらっていました。

——テストプレイやデバッグの際はテスターを雇うとか、あるいはロケテスト中に検証していたのでしょうか?

柏田:方法は色々ありますが、基本的には我々の中にいるチェッカー担当と、外部から招聘したチェッカーさんにやっていただく形で作っていました。ほかにも、私が開発を担当する以前からつながりの強いプレイヤーみたいな方が何人かおりまして、その方々からの情報をインプットしたりもしていました。

あと、いつ頃からだったか「こういう状態でやったら、こういう結果になる」みたいなことを、AIの計算を何千回も回して作るようになりました。ただし、ユーザーのナチュラルな操作までは表現できなかったので、「この状態で、この入力で、ここにカードを置いて、そのまま試合した場合」みたいな条件でしか使えないのが難点でした。

田邊:何百試合に1回しか出ないプレイとかを、実際にちゃんと出てるのかを検証する場合には、オートで試合を回せる仕組みを使っていましたが、プレイ感とかユーザーごとの操作感とかは、熟練のチェッカーに見てもらっていました。開発の中でも、使用できる筐体の数には制限がありましたので、家庭用ソフトみたいにチェッカーをずらっと並べて検証することはできなかったですね。

柏田:だいたい4人ほどのチェッカーが常時いて、ひたすらプレイを続けてもらっていましたね。

『WCCF』シリーズのAI構造:全4階層で選手AIを構築

——『WCCF 06-07Ver.』では筐体のデザインが変わると同時に、新たに「チームスタイル」のシステムが導入されました(※)。チームスタイルが追加されたことで、当然ながら選手AIの制御方法も変わったわけですね?

※筆者注:発動したチームスタイルによって、選手たちの行動が変わるシステムのこと。個々のカードごとに使用できるチームスタイルはあらかじめ決まっていて、試合中にプレイヤーが任意のタイミングで切り替えることが可能。「ショートパス重視」「ディレイディフェンス」「フォアザチーム」など、さまざまなバリエーションがある。

『WCCF 06-07』より。使用中のチームスタイルが画面右側に表示される

田邊:はい。先ほどもお話したように、このタイミングでAIの設計を大幅に作り変えました。私が入って2、3 年ほど経ってから、柏田もAIを担当するようになったときに「いったん、作りを改めよう」と決めました。

これは私の個人的な考えですが、『WCCF』の売りは、1年間チームを育てるとか、あるいはそのチームに特色を持たせることができる所にあると思います。個々のプレイに関しては、既存のほかのゲームに勝てない部分が多かったのですが、「自分たちの売りをちゃんと出すためには、チームスタイルを確立したAI の作りにしなきゃいけないよね」という話になったので、いったんリセットしてチームスタイルベースのAI を新たに作りました。

——チームスタイルは導入当初から多くの種類がありましたので、膨大なパターンの調整が発生して開発が非常に大変だったのではないかと思います。

柏田:チームスタイルは私が全部考えたのですが、途中から種類を減らしました。今考えると、たくさん作り過ぎてしまったなあと。あの頃はちょっと若かったですね(笑)。

田邊:まずは選手が行動を進めようとすると、試合の流れには関係なく、育成した選手のパラメーターとかメンバー構成、フォーメーションとかだけでチームスタイルを決める「チームスタイル層」を作りました。これが第1階層になります。第2階層では、試合の流れの中でチームとして選択する戦術を選ぶ「タクティクス層」を作りました。先ほどもお話したキーの入力に関しては、このタクティクスに対しての入力であると我々はとらえて、戦術ボタンもシュートボタンもキーパーボタンも、全部「タクティクス層」で入力を受け付けるようにしました。

これに従って、例えばシュートボタンを押したときでさえ、個人に対してのシュート指示ではなく、チームとしてシュートを考えたうえでシュートが打てる味方は誰なのかを決めて、その選手に対してシュートを打たせる所までをここで実行できるようにしました。

「今、こういう攻撃をすべきだよね」という「タクティクス」が決まった段階で、今度は第 3 階層の「ロール層」に下りてきます。選手にそれぞれどんな役割を持たせるか、例えばボールを持っている人であれば、ダイレクトパスを出すのかどうかなどを、ここで考えたりします。あとはフォローに回る人とか、あるいはマークに付く人とか、その瞬間ごとに 11 人とも役割を持つよねっていうことで、「ロール層」の所で全員に役割を与えるようにしました。

全員に役割を与えた段階で、最後に最下層の「プレイ階層」に下りてきます。ここでは、それぞれの役割を持った選手は何をすべきか、もし今ボールを持っている場合はドリブルをするのか、それともパスを出すのかとか、ほぼ2択になる所まで落とし込めるようにしました。

ほかにも、誰にパスを出すのかなどの細かい要素はあるのですが、過去に先人たちが作った諸々のAIとかは最下層に全部落とし込んで、その上の部分を組み立ててチームスタイルを実現させる形でAIを作りました。で、いったん組んではみたのですが、最上層と最下層がとにかく大きくて、逆に第2と第3階層はすごく小さかったので、途中から小さい部分をどんどん太らせていく形で組んでいきました。

『WCCF』シリーズのAI構造(セガ提供)

——AIを作り直した所で、プログラムの処理速度が遅くなったりすることはありませんでしたか?

田邊:結果論ではありますが、一つひとつを極力シンプルに作るようにしたことで、想定していたほどの時間は掛からなかったと思います。単にプログラムが4倍になったから時間も4倍掛かるというわけじゃなく。

——当時の『WCCF』に使っていた基板はLINDBERGH(リンドバーグ)だったでしょうか?

柏田:そうです。それ以前はNAOMI(ナオミ)を使っていました。

——今、タクティクスのお話が色々出てきましたが、セットプレイのような特殊なシチュエーションの場合は、どのようにAIなどのプログラムを作ったのでしょうか?

田邊:セットプレイ用の「セットプレイタクティクス」を作りました。セットプレイの場合は、チームスタイルとか育成のデータとかは一切関係なく、「ここからのフリーキックであれば、みんなこうするよね」というイメージのもと、チームスタイルなどの要素はいったん避けておいて強制的に「セットプレイタクティクス」をはめ込むようにしてあります。

例えば、守備側の選手であれば壁に入る人やマークに付く人を決めたり、攻撃側であればキッカーやフェイントを仕掛ける人、それからフォローに回る人といった役割を与えたりして、「あとはヨーイドンで始めてください」という形で、セットプレイはすべてタクティクスで処理していました。

——ナルホド、そういう仕組みだったんですね。フリーキックやコーナーキックのときに攻撃側の選手たちが、まれに壁の横にいた選手が避けたコースにシュートを放つとか、トリックプレーを披露することがあったので、どうやってAIを作っていたのか、すごく興味がありました。

田邊:特殊な位置からの、特殊なセットプレイパターンを用意していました。そのプレイは、おそらく体を引っ込める役と、引っ込めた位置にボールを蹴る役割の選手がいて、そのセットプレイのパターンが呼ばれたときだけ反応するんですね。で、それが「セットプレイ重視」のチームスタイルや、十分に育成されたチームのときだけ呼び出される仕組みになっていました。

柏田:呼び出される条件にはどういうものがあるのか、それをどうやって選ぶのかみたいなものを私がツール化しまして、そのツールからはき出したものをプログラム上で動かすような形で作っていましたが、条件の種類がメチャクチャ多いんです。

一番下の「ブレイ階層」ですと、誰にパスを出すのか、受け手がフリーなのかどうか、自分がどれぐらいフリーで何メートル以内に相手がいるかなど、これらすべての要素をあらかじめ条件としてリストアップしたうえで呼び出すみたいな形でした。あとは選手自身の能力値を見て、これのプレイができる、できないとかを決めたりもしていました。

田邊:ただ先ほどもお話したように、すべての可能性をif文で分けるわけではないので、例えば攻撃、あるいはボールを持っている間は、スライディングタックルを考える必要はないですよね? なので「自分がこういう状況になったら、できるプレイはこれだけだよね」と、全体の中から相当少ない部分に絞ってから、その範囲内で調べることができるようにしていましたので、11人のプレイを全部if文でバーッと決めてはいなかったと思います。

柏田:途中から、ログで可視化されましたよね。「ツールで設定した条件とは、こういう状況では当てはまらないからやらない」みたいなものが明らかになるので、すごく調整がしやすくなりました。

——またセットプレイの質問なのですが、延長線でも勝敗がつかなかった場合のPK戦のときには、どのようなAIを用意していたのでしょうか?『WCCF』シリーズのPK戦は、キッカーの順番以外はすべて自動で実行されますので、どうやって内部で処理をしていたのかがすごく興味があります。

田邊:基本的には、まずゴールキーパーの1対1での守備能力と、キッカーの決定力の能力値を使ったジャンケンをしていました。キーパーは、相手が蹴るコースの読みが当たるか当たらないかを決めて、もし当たれば同じ方向に飛ぶのですが、実際に止めるかどうかはキーパーの手の大きさや身長なども影響します。ですから、こちらとしては能力によって読みが当たるかどうかまでは保証するけれども、実際にキーパーが止めるのか、それともどこかに当たって入るか、あとはお任せみたいな形になりますね。

——単なるジャンケン勝負ではなかったんですね。「PKキーパー」のチームスタイルを持つキーパーを使っても、シュートをなかなか止められないケースがあるのは、読み以外の要素も色々あったからなのかと。ナルホド納得です。

田邊:当時はあまり話題になりませんでしたが、読みが当たる、当たらないの比率を検証していただければ「確かに、このキーパーは読みがいいな」というのが分かっていただけたのではないかと思いますね。

柏田:それから、同じ「PKキーパー」のスキルでも、選手カードごとに設定しておいたPKセービング能力が異なるので、その違いも結果に影響します。例えば「PKセービング」を使うと能力値が2ポイント増えると仮定した場合は、もともとのPKセービング能力が8のキーパーと10のキーパーとでは、止める確率が当然変わりますよね。

——つまりPKセービング能力も、あらかじめ各カードのパラメーターのひとつとして持っていたわけですね。

柏田:そうです。ただし、しばらくPKが続いた場合は、最後に必ずどちらか一方のキッカーがミスをして勝負が決まるようにしていました(※)。

※筆者注:『WCCF』シリーズは、PK戦が長引くと特定の順番で必ずどちらかのチームのキッカーが成功、および失敗して決着がつくプログラムを組んでいた。長時間プレイが続くと店舗の収益に影響が出るアーケードゲームゆえの特殊処理である。

セットプレイ時は「セットプレイタクティクス」を用意して、各選手の行動を決定していた(※『WCCF 16-17』より)
PK戦の場面(※『WCCF FOOTISTA2019』より)

後編に続く(2022年8月31日11時公開)

Writer:鴫原盛之

RELATED ARTICLE関連記事

【GDC 2019】AIは感動的な物語体験をゲームで表現できるか? GDCに見る最新トレンド

2019.4.17ゲーム

【GDC 2019】AIは感動的な物語体験をゲームで表現できるか? GDCに見る...

【JSAI2020】AIによるRPG自動生成技術はどこまで進歩したか?

2020.6.29ゲーム

【JSAI2020】AIによるRPG自動生成技術はどこまで進歩したか?

AIシナリオライターは才能至上主義のアンチテーゼとなるか?:暁影二氏×森川幸人氏対談

2019.11.29ゲーム

AIシナリオライターは才能至上主義のアンチテーゼとなるか?:暁影二氏×森川幸人氏...

RANKING注目の記事はこちら