Spiral_Dance_4v4_XE

 256x265MPA 4v4(Melee/COOP)

 視点を変えて対等では無いMAP。中央対外側。試験的にTeam1は内側、Team2は外側になるように固定されている。また、Dark Greenを選ぶと陣地から外れた左中央の妙なロケーションから始まる(この機能は新しいversionでは削除されてます)。これもテスト。

 AIに対戦させると、中央がよく負ける。中央側陣地のさらに中央には非常用の資源があるため最初は通り抜けができない。そのため援護が困難で偵察が必須。外側AIはかなりしぶとく生き残る。外郭の資源地が傍を通っただけでは存在が分かり辛いからだ。

 広いので、当然のようにZerglingと空軍が強い。

 イメージはWoWのトロルの遺跡。

Spiral_Dance_5v5_UE


200x248MAP 5v5(Melee/COOP)

 また上陸戦マップ。基本的にSCではなくSS(SuddenStrike)の人なので、DDayなマップが好き。DRの海岸の障害物やこのマップの海岸から続く丘陣地はその影響。

 このマップでは、Triggerのテストも兼ねて、陣地それぞれにAuto-Turretx8とPDDx2を設置してみた。AIもそれに合わせて自軍を集結させてくれるので嬉しい。橋は上陸作戦のAIのハマりを回避する苦肉の策だが、橋を防衛するのは建築が一部分しかできないため困難で、しかも海岸からは5つものルートがある上、LOSを切る木々があって防衛側からは把握し辛い。

 5人全員を前に出していないのは、拡張の資源地を混乱させる目的と、マップ中央を戦場にしたかったため。側面からのハラスはTurretにより行いにくくなっている。

 SC2全般に、防衛側はかなり有利なので、本来の陣地的な地形を作ってやるとかなり有利になる(Blizzardのマップは、50:50より防衛側の地面が少なくなるように設定されている。丘の先端に出入口があるような感じで、防衛には不向き)。Terranは修理があるためこのマップはさらに有利ではあるが…。

 橋などのDoodadsは、拡大縮小しても当たり判定は元のサイズのままなので、妙なレーンができている。

 例によってZergling等のハラスにはAIは弱い。SC2は空対地の攻撃が比較的弱いため、大規模な島対島マップでは軍はあるのに引き分け状態になることが多いように思われる。

Spiral_Dance_5v5_LS


128x208MAP 5v5(Melee/COOP)

 FRと同じコンセプト。地形を変えればどうにかなるかと思ったが、やはり島マップはAIが稀にしかうまく動かない。恐らく、大量に余るミネラルの使い道を陸軍に使ってしまうためで、AIは陸軍も空軍も一塊で操作するのが原因と思われる。

 FRから前衛が2つに変わり、左右と後方の支援がないと2つの通路が守れないようになっている。

 拡張性は低いが、島陣地のみ、空輸できなくなる場合を考えて後方に資源地を用意してある。やはり戦って勝ち取る資源地になっている。

namako

Starcraft2で集まってるnamako。namakoというのは、MO黎明期にDiabloのJPN channelに集まっていた集団のひとつです。


当時のBattle Net(BN)は大変賑やかで、皆、初心者に対してとても親切であり、また初心者は常連を見てマナーを覚えていたもので、わざわざマナー云々言う輩は居なかったのが居心地の良さのひとつでした。

私はいろいろな集まりに交流をもっていて、あちこちに知り合いが居たため、namakoに入り浸り始めたのはかなり遅い、Ultima OnlineのBetaが始まる少し前くらいでした。

ちなみに、Noripoo一派(一派?)とか、JPN-30/31(Mr.30周辺)、JPN-10(TEN-POINT周辺)、JPN-7(DAIKOKU周辺)、JPN-0(中心人物おらず?)、他、個々のplayerとか、かなりの知り合いが居ました。自分はJPN-LEAFとかでよくawayしてましたが、名前からかたまに変な人が入ってきてました(笑

namakoについては、Diabloに始まり、UOやSCを経て、EQ組だの、Diablo2組だの、Line2Beta組だの、WoW組だのいろいろゲームを点々としています。

現在、Starcraft2にて集まっていますが、namako常連と、旧SC組の人だけなので、多くても6〜7人。vsAIが主ですが、私は内輪で対戦をやりたいと常々思っている次第でありますので、皆さんよろしく(笑

USサーバのprivate channelはnamakoにしてありますが(よく間違えて消してるので注意)、namako関係者でまだ合流出来ていない人はよろしく。わたしの今のIDはYouUnseenですので。

その他のnamako

  • CaptainTerk: Starcraftの頃からのMember。Terran x Tank。
  • Exzard: GARGILLともアンドーとも。初期からのMember。Protoss x 晩成。
  • rucke: Diablo後半からのMember。りゅっくではなくりゅーく。
  • Muteking: King。最初に見たのはELEKINGだったな。初期からのMember。
  • nukunuku: nukunuku_chan。namakoの初期からのマスコットキャラ。
  • pumpkin: Starcraftの時にnamakoでやってたMember。
  • odradake: Starcraftの時にnamakoでやってたMember。SC2でnamakoチャンネルを見つけたそうで合流。

みんな普通にReal IDで登録されてる上、Skypeでわいわい適当にやってます。pumpkinさん以外は、namakoの現状詳しいのでゲーム内で声をかけてくれればok。

他、今やってない人

  • TakuyaK: たくちゃん。初期Member。最近ログインしてない。
  • cheiron: Starcraft/Diablo2の時にnamakoでやってたMember。
  • Shantotto: Cawさん。Starcraftの時にnamakoでやってたMember。
  • Reat: リートちゃん。ラブコールを送ってるんだが、Xbox360のヴァーチャロンをやってて来てくれない。

AnandaはWoW続行中。BloodはWoWに少し来てたようだが反応がない。

StartLocationを自由に設定する

 Starcraft2でMapを作る場合、Start Locationの設定は結構問題が多い。COOPで人間側を特定の場所に、AIを別の場所に固めることは、普通のmapでは設定できない。Triggerを使用しようにも、Start Locationsは、参照できても設定はできないようになっている。

 解決方法だが、まず『Create melee starting units for all players』と、『Start the melee AI for all computer players』の代替えactionが必要になる。

 前者は比較的簡単に設定できるが、後者はいろいろ試してみた結果、main townを設定してやれば、AIがうまく動作することがわかった。今のところ問題は出ていない。

How to change Start Locations by Triggers Module.

 準備として標準のMelee Initializationから、『Create melee starting units for all players』と『Start the melee AI for all computer players』をClearして、代替えactionを設定する。

 また、StartLocationsというpoint形式の配列変数を作っておく。人数分(max 15なので15でもいい)の配列を作っておく。これに予め、Terrain Moduleで作ったStart Locationを割り当てておく。乱数を使えば、ランダム割り当てもできるが、この部分は割愛する。

    • StartLocations = No Point

 action内にPick Each Player In Player Groupを追加して、Team内のそれぞれのplayer(action内ではpicked playerとして参照される)に設定をする。

  • ※もちろん、Team毎にStart Locationを設定する場合の方法で、個々のplayerに設定する場合は、下記のscriptのpicked playerの部分を個々に指定する。
Replace "Create melee starting units for all players" with this script.

 以下のスクリプトを設置する。内容は、picked playerのRace(種族)に合わせて、picked playerの初期ユニットを、StartLocation変数に収められたpointに設置する。

    • Melee - Create (Race of player (Picked player)) melee starting units for player (Picked player) at StartLocations[(Picked player)]
Replace "Start the melee AI for all computer players" with these script.

 以下のスクリプトを設置する。内容は、picked playerのAIを初期設定し、新しいtownをStartLocationに設置。その新しいtownをmain townとして設定。最後に、初期のworkerに採取を指示する。

    • AI Advanced - Initialize the AI for player (Picked player)
    • AI Advanced - Create a new town for player (Picked player) at point StartLocations[(Picked player)]
    • AI Advanced - Set town (Get the town owned by player (Picked player) closest to point StartLocations[(Picked player)]) to be the main town for player (Picked player)
    • AI Advanced - Start a new harvest job at town (Get the town owned by player (Picked player) closest to point StartLocations[(Picked player)]) for player (Picked player).
  • ※まず、これらはComputerのplayerに対してのみ設定する。条件文で、Controller of playerがComputerかどうか調べれば良い。
  • ※一行目が無いとtown設定ができない。townはAIのための設定なので、AIが設定されてないと当然設定できないようだ。
  • ※三行目でmain townを設定しないと、AIは自動で割り振られた本来のStart Locationを中心に建築・防衛を始めてしまう。
  • ※三行目。townは整数が割り振られてその数値で識別・管理するのだが、数値の指定が面倒そうなので、単純にStartLocationに収められた位置からいちばん近いtownを呼び出している。
  • ※四行目が無いと、初期のworkerが動かない。

 とりあえずはこれでAIは動作する。テストしてみたが、問題は無さそう。

 特定のplayerを特定のStart Locationに割り当てたい場合、playerの色で判別する方法が簡単。Player Colorで、プリセットの色リストを指定して判断してやるだけ。

追記

 AIがExpandを本来のStart Locationの近くに作る問題と、AIがExpandしなくなる問題を修正しました。

Change Start Locations by Triggers Module. [example]

続きを読む

各Playerの陣地に固定砲台を設置する

・用意するもの

    • Terrain ModuleでStart Locationを設置(人数分)
    • Terrain ModuleでPointを設置(必要数x人数分)

Melee Initialization

 Melee Initializationを開き、Actionsから右クリックでcontext menuを開き、New > New ActionでActionを作成。

  • Trigger Module共通なのだが、作成されたActionの編集は各種方法ある。ダブルクリックで開くpaneから検索/選択したり、右中段の階層化されたUIから編集したり、さらに右下段の文章を左クリックで編集したりできる。右下段がアクセスは早い。

 Player GroupからPick each player in Groupを開くと【Pick each player in (All player) and do (Actions)】というActionが追加される。選択時の表記と、階層上の表記が若干違うので注意。作成したActionを、すでに存在してるMelee - Create melee starting units for all playersの下に持ってくる。これはPlayerのStart Locationが決まってから砲台を設置したいため。(が、)

  • Player Group - Pick each player in Group:それぞれのplayerについてactionを実行する。

 Player Group - Pick each player in GroupのActions下に、New Action - General - If Then Else-Ifを作成すると、Actions以下に下記のような階層が追加される。

    • Actions
    • General - If (Conditions) then do multiple (Actions)
    • If Then Else
  • General - If Then Else-If:複数の条件文を繋ぐ場合に使用。Generalには基本的なビルトイン関数が入ってる。

 If Then Elseの下に、さらにGeneral - If Then Else-Ifを作ると、【Else If】が階層下に追加されるので、Else Ifからcontext > New > New Conditionsを開き、Comparisonを選択すると、条件の内容が表示されるので下記内容を設定する。内容は、Player Group - Pick each player in Groupで呼び出されたplayerがStart Location 001であるか否かという単純なもの。

    • Value 1をダブルクリックすると、検索/選択paneが開くので、Player - Start Location Of Playerを選択(検索から、Start Locationで見つけられる)。
    • Playerという項目がValue 1下に追加されるので、Function Sourceから、Player Group - Picked Playerを選択。
    • Operatorは等価(==)を選択。
    • Value 2にはTerrain Moduleで作成したPoint一覧が表示されるので、Start Location 001を選択。

 次に、条件に合致した場合の処理を加える。
 New Action - Unit - Create Units Facing Angleを選択し、内容を下記の様に設定。内容は、Point 001に呼び出されたplayerのAuto-Turretを1つ設置する。向きは270度回転(ゲーム画面手前方向を向く)。設置の際、建設条件は無視する。

    • Count: 1
    • Type: Auto-Turret
    • Player: Picked Player
    • Point: Point 001
    • Angle: 270.0
    • Flags: Ignore Placement

 2つめ以降のTurretを設置したい場合、Point 002以降についても同じActionを追加すれば良い。その際、コピペで追加し、一部内容だけ変更すれば楽。


 Start Location 001についてはこれでokだが、002以降についても同じ処理を繰り返さなくではいけない。もちろん、コピペしてPoint情報だけ変更すれば済むので楽ではある。全員分、設定すれば動作する。

  • ※If Then Else関数より、Switchとかあったと思うので、そっちの方が楽。

Switchでやる場合

続きを読む

Starcraft2 Galaxy Map EditorのTIPSとかメモ - Triggers Module

 いろいろ遊べるTriggerだけど、できるだけオーソドックスなゲームにしたいので、必要な情報だけ。

Melee Initialization

 対戦での初期設定を行う。オーソドックスな対戦では最初から入力されている5つのビルトイン関数だけでまかなえるので、普通は変更しない。

Events

 登録されたactionがいつ実行されるかを設定する。Game initializationを選択しておくと、ゲーム開始時に登録されたactionが実行される。

Local Variables

 変数の設定ができる。変数の種類から配列、定数の設定など、UI上で設定できる。

Conditions

 今のところ触ってないので、具体的な使い方は不明。Event全体の条件設定かな?

Actions

 4つのBuilt-In Actionが入ってる。いずれも、ゲームを開始するのに最低限の初期アクションがまとめられてる。

- Melee - Set melee starting resources for all players

 各プレイヤーに50mineralを配る。

- Melee - Create melee starting units for all players

 Homeの建物とworkerを6体(+Overlord)設置する。ビルトインなので楽。all playersではなく、個々のplayerに設定するビルトイン関数もある。
 ちなみに、例えばStart Locationを固定させたい場合、Player PropertiesがTeam Placementより優先されるためか(Playerのnumberは自動で割り振られてしまう)、思い通りの場所に配置できないことがあるが、player毎に特定の場所に設置することでTeamを特定の側に割り振ったりもできる。

- Melee - Start the Melee AI for all computer players

 AIの中の人を呼んでくる。

- Melee - Set Default melee options for all players

 勝敗やhomeが無くなった場合のrevealを管理・処理する。