日頃の行い

個人的な日頃の行いをつらつら書いてます\\\\ ٩( 'ω' )و ////

Splathon Ladder#3 にAjitoonで参加してきた

こんにちは、Dungeon Warfare2というゲームに時間を溶かしまくっています。
経験値稼ぎしてたらレベル5000(カンスト)いきました。
スマホ版もあるよ!
はい。

さて、Splathonというコミュニティで行われたLadder#3の振り返りです。
とりあえずの感想を伝えたいのですが、とにかく楽しかった!!!!!最高!!!!!!!

Splathonとは?

kawakubox.hatenablog.com

Ladderって?

Splathon Ladder #1 について

Ajitoon

※ 由来をほとんど話したことなかったけど、 Ajitoonは鯵ではなくて社内バーのAJITOを文字ってつけられています。
今回のAjitoonのLadder#3結果は、
6位 -> 8位 -> 11位 -> 11位 -> 8位 -> 5位で最終5位でした。やったね!
11位に行ったときは、あれ?Splathon10では何位でしたっけ?
みたいな気持ちになったりしていました。

イカしたメンバー

名前 ブキ ミドルリーグ関係
Aratoon マニュ系, スピナー系, その他 傍観者
Sakamotoon フデ系, クラネオ (コーチ) おっさんずラブ
Protoon カーボンローラー(デコ) (選手) 優勝のトライフォース
ごまちゃんさん 96ガロン (選手) 餃子日和

みんなミドルリーグに関わってるから試合も見てくれよな!

感想

試合の結果がメッセージでメンションしてどなたかに書いてもらうという状況からSlackコマンドになったりして、すごく便利になりました!
運営の皆さまありがとうございました!

日程のやりとりも慣れている方々ばかりだったのかかなり楽でした!
加えて先に言ってくださる方々ばかりだったので自分の社会人力を疑う日々でした😇
あとSlackで動いているコードがGithubとかにpublicに上がってるとPR上げたりもできるんでそのへんもうちょいpublicにされてると嬉しいなーという気持ちにもなりました。
Ladderのリーダーチャンネルもpublicにみんな見えてると他メンバーに進捗見えて嬉しくなります。

ここからは試合の感想

1試合目

挑戦:負け
防衛:負け

やばいノヴァの人がいないぞ!と思ったらやばいキャンプの人がいてめっちゃつらかったw
うちのチームキャンプに弱すぎるって気づけたので良かったです。
ボム無いからね。スプリンクラーとかビーコンじゃね。仕方ないね。

挑戦 [1-05] 06位 Ajitoon vs 05位 あなたのノヴァブラスターになりたい

www.youtube.com

防衛 [1-07] 08位 前夜祭 vs 06位 Ajitoon

www.youtube.com

2試合目

挑戦:負け
防衛:負け

このときは確かクアッド持ったら結構キル取れるなって思って、
調子に乗ってクアッドを試したけどやっぱりダメだったよみたいな感じになってしまっていました。

挑戦 [2-06] 08位 Ajitoon vs 05位 ぷんぷん丸

www.youtube.com

防衛 [2-09] 11位 ペンキぬり vs 08位 Ajitoon

www.youtube.com

3試合目

挑戦:負け
防衛:勝ち

2試合目に負けたペンキぬりとの再戦だーと思いつつ、
このときから確かスピナーつよつよマンのmi-kunさんが入ってきていて、
結構スピナーを持つようになっていた自分としてはここでお前を越えていく!!という気持ちで戦っていました。(勝てなかった
気持ちはこんな感じ

f:id:arata3da4:20190904021200j:plain
俺はお前を越えていく(越えられませんでした)

悔しい

悔しい!

悔しいぃ!!!!!!!!!!!!!!!!!

はい。
イカスに勝てなかった記憶が強い。
防衛は安定して勝利できてよかった。

挑戦 [3-09] 11位 Ajitoon vs 08位 ペンキぬり

www.youtube.com

防衛 [3-12] 14位 ハイカラスクエア駅前会計事務所 vs 11位 Ajitoon

www.youtube.com

4試合目

挑戦:勝ち
防衛:勝ち

個人的にはこのときあたりから自分が長射程持っても仕方ないなってなってきていた。
仕方ないなってのは、長射程武器がAjitoonというチームとの相性がそれほど良くないという気持ちになっていたりした感じですた
この後 #middlenai のプラベで比較的スパッタリーが刺さっていたので、短射程を持つ気持ちにここで変えるなどしました。

ぷんぷん丸はLadder#2とかでも対戦した相手で、全く勝てなかった印象だったので勝ててよかった。
短射程が多くて勢いがあるので、こちらも短射程並べて勢いで当たれたのが良かった気がします。

防衛は短射程だけで勝っていこうとしたらまだ早かった感じがあった。
ヤグラは射程なしでもいけるんじゃないかって個人的には思っていたけど、
ブラスターが強かったなぁ+スペシャルの合わせが強かった。

挑戦 [4-08] 11位 Ajitoon vs 08位 ぷんぷん丸

www.youtube.com

Aratoon視点

www.youtube.com

防衛 [4-10] 15位 NuRItaclesワカメ vs 11位 Ajitoon

www.youtube.com

5試合目

挑戦:勝ち
防衛:None

素直に勝てて嬉しかった。
ここは前のLadder#2で全員ミサイルで無限にミサイル撃たれ続けた思い出があり、
絶対に許さないかんなという気持ちを持っていました←
自分が後ろよりの武器を持っているときに仕事が全くできなくて沼っていたので申し訳なかった。
ホコとかのルールで相手が比較的重い編成に対してこっちは前よりな編成で勝てたので良かった。

挑戦 [5-06] 08位 Ajitoon vs 05位 NuRItaclesカスタードクリーム

www.youtube.com

防衛

なし

6試合目

挑戦:負け
防衛:勝ち

挑戦側、ひどかったw
防衛側、どうにか守りたくて守れてよかった。
挑戦は防衛で完全に力尽きてたのかなんか噛み合わないなって言ってたら終わってたw
噛み合ってても怪しいのに噛み合ってなかったらそらダメなのでちゃんと集中してこうなってなりました。
防衛は本来得意と思っていたホコでしっかり勝てたのでよかった。
これ勝てれば5位には居座れるから絶対勝ちたいって思っていたので本当に良かったです。

挑戦 [6-03] 05位 Ajitoon vs 03位 都立道玄坂高校イカ部(仮)

www.youtube.com

防衛 [6-06] 08位 NuRItaclesカスタードクリーム vs 05位 Ajitoon

www.youtube.com

さいごに

本当に楽しかった!
運営の方々も対戦相手の方々もありがとうございました!
次回のLadder#4もあったら参加していきたいと思います\\\ ٩( 'ω' )و ////

Travis CIからSlackに通知できなくて困った

個人のレポジトリからタイトル通り通知させようとしたら全然できなくて困った話です。
結論Slackのドキュメントが少し古いのか間違っていて、
.travis.ymlに生成される設定が間違ったものになってしまうことが原因でした。

Slackの設定(間違ってるやつ)

TravisCIのSlackの設定はここですね。
https://my.slack.com/apps/A0F81FP4N-travis-ci

追加しようとするとこんなコマンドを打ってねと出てきます。
accountの部分が間違ってるのかと思ったんですが、URLのslack.comの前のやつでいいみたいですね。

travis encrypt "<account>:<見せられないよのやつ1>" --add notifications.slack

このコマンドだとこんなのが生成されます。

 notifications:
  slack:
    secure: 見せられないよのやつ2

ここで便利だったのが travis lint というコマンドで、間違ってる項目がある場合教えてくれます。

$travis lint
Warnings for .travis.yml:
[x] in notifications.slack section: unexpected key secure, dropping

そんなものはないからdropしたよって話でした。
つらい。

Travisのドキュメント(合ってるやつ)

TravisCI上のドキュメントを読むと正しいコマンドがあって、 roomsを付ける必要があるようです。

travis encrypt "<account>:<token>" --add notifications.slack.rooms

docs.travis-ci.com

notifications:
    slack:
        rooms:
            secure: 見せられないよのやつ3

lintも試しに見てみると大丈夫そうです。

$travis lint
Hooray, .travis.yml looks valid :)

その後pushしたら通知されました。
でめたしでめたし。
その後一応Slackにも問い合わせしたので、もしかしたらこれを見てることには直っているかもしれません。

ScalikeJDBCでMySQLにREPLACE INTOのクエリを投げるだけ

こんばんは、普段ScalaMySQL用のライブラリにScalikJDBCを利用していて、
QueryDSLをよく使ったりしているんですが、
ふとMySQL固有のクエリを使いたくなった時に、テーブル名やカラム名はべた書きではなく、
case classに定義しているものを使いたいんだけど、
どれを参照すればいいのか正直わからんってなったので、それで調べたときのメモです。

検証したコードはここに置きました。

github.com

ScalikeJDBC

ScalikeJDBC

QueryDSL

QueryDSL - ScalikeJDBC

こんな感じにScalaコードでSQLを書けます

val u = UniqTestRecord.syntax
val rs = withSQL(select.from(UniqTestRecord as u))
  .map(rs => (rs.long(u.resultName.id), rs.long(u.resultName.otherId)))
  .list()
  .apply()

REPLACE INTO

成約に引っかかるデータがあった場合、データを削除して挿入してくれるやつですね

MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.8 REPLACE 構文

テーブル準備

REPLACE INTOを使いたいときは、ユニーク成約がある際などに、
既にレコードがあるなら特に何もせず、レコードがないならレコードをInsertして欲しいみたいな時に使うかと思います。
なので今回は適当にユニーク成約を持ったこんなテーブルを用意しました。

create table uniq_test (
    id              int unsigned not null,
    other_id        int unsigned not null,
    unique (id, other_id)
);

書いたコード

最終的に書いたコードはこちらです。
scalike-jdbc-mysql-sample/ReplaceInto.scala at master · ara-ta3/scalike-jdbc-mysql-sample · GitHub

冒頭でテーブル名などをcase classに・・・と書きましたが、
case classをOR Mapperのように使えるようにする仕組みがScalikeJDBCには用意されているので、
そのあたりを活用します。

http://scalikejdbc.org/documentation/sql-interpolation.html#sqlsyntaxsupport

こんな感じのcase classとobjectです。

case class UniqTestRecord(
    id: Long,
    otherId: Long
)

object UniqTestRecord extends MySQLSyntaxSupport[UniqTestRecord] {
  override val tableName = "uniq_test"
}


class MySQLSyntaxSupport[T] extends SQLSyntaxSupport[T] {
  override def connectionPoolName: Symbol = Hello.connection
}

困ったこと

最終的に書きたいクエリはこんな感じなのですが、
カラム名とテーブル名を渡す方法がわかりませんでした。

REPLACE INTO uniq_test (id, other_id) VALUES (?, ?);

調べたところ

  • テーブル名
    • UniqTestRecord.table
    • SQLSyntaxSupportのtableというプロパティ
  • カラム名
    • UniqTestRecord.column.hoge
    • other_idなら UniqTestRecord.column.otherId

みたいな感じでした。なのでScalaで書くとこんな感じです。

sql"""
              REPLACE INTO ${UniqTestRecord.table}
              (${col.id}, ${col.otherId})
              VALUES (?, ?)
        """

最終的に書いたコードがこちらです。
mainの部分はREPLACE INTOのクエリを2度発行して、
最後にSELECT *を1度投げるという流れです。

package com.ru.waka

import scalikejdbc._
import scala.util.control.Exception.catching

object ReplaceInto {
  def main(args: Array[String]): Unit = {
    val data1 = Seq(
      Seq(1, 2)
    )
    val data2 = Seq(
      Seq(1, 2),
      Seq(2, 3)
    )
    val connection = Hello.connection
    val col        = UniqTestRecord.column
    val s          = sql"""
              REPLACE INTO ${UniqTestRecord.table}
              (${col.id}, ${col.otherId})
              VALUES (?, ?)
        """
    NamedDB(connection) localTx { implicit session =>
      catching(classOf[Throwable]) either {
        s.batch(data1: _*).apply()
        s.batch(data2: _*).apply()

        val u = UniqTestRecord.syntax
        val rs = withSQL(select.from(UniqTestRecord as u))
          .map(rs => (rs.long(u.resultName.id), rs.long(u.resultName.otherId)))
          .list()
          .apply()
        println(rs)
        // List((1,2), (2,3))
      }
    }

    ()
  }
}

case class UniqTestRecord(
    id: Long,
    otherId: Long
)

object UniqTestRecord extends MySQLSyntaxSupport[UniqTestRecord] {
  override val tableName = "uniq_test"
}

実際に実行してみましょう。

[info] Running com.ru.waka.ReplaceInto
[DEBUG] [2019/06/14 19:46:50.151] [run-main-0] - Registered connection pool : ConnectionPool(url:jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8, user:root) using factory : <default>
[DEBUG] [2019/06/14 19:46:50.533] [run-main-0] - SQL execution completed

  [SQL Execution]
   REPLACE INTO uniq_test (id, other_id) VALUES (1, 2); (2 ms)

  [Stack Trace]
    ...
    com.ru.waka.ReplaceInto$.$anonfun$main$2(ReplaceInto.scala:24)
    scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)
    scala.util.control.Exception$Catch.apply(Exception.scala:228)
    scala.util.control.Exception$Catch.either(Exception.scala:252)
    com.ru.waka.ReplaceInto$.$anonfun$main$1(ReplaceInto.scala:23)
    scalikejdbc.DBConnection.$anonfun$localTx$3(DBConnection.scala:335)
    scalikejdbc.DBConnection.rollbackIfThrowable(DBConnection.scala:300)
    scalikejdbc.DBConnection.localTx(DBConnection.scala:329)
    scalikejdbc.DBConnection.localTx$(DBConnection.scala:324)
    scalikejdbc.NamedDB.localTx(NamedDB.scala:20)
    com.ru.waka.ReplaceInto$.main(ReplaceInto.scala:22)
    com.ru.waka.ReplaceInto.main(ReplaceInto.scala)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    ...

[DEBUG] [2019/06/14 19:46:50.540] [run-main-0] - SQL execution completed

  [SQL Execution]
   REPLACE INTO uniq_test (id, other_id) VALUES (1, 2);
   REPLACE INTO uniq_test (id, other_id) VALUES (2, 3); (3 ms)

  [Stack Trace]
    ...
    com.ru.waka.ReplaceInto$.$anonfun$main$2(ReplaceInto.scala:25)
    scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)
    scala.util.control.Exception$Catch.apply(Exception.scala:228)
    scala.util.control.Exception$Catch.either(Exception.scala:252)
    com.ru.waka.ReplaceInto$.$anonfun$main$1(ReplaceInto.scala:23)
    scalikejdbc.DBConnection.$anonfun$localTx$3(DBConnection.scala:335)
    scalikejdbc.DBConnection.rollbackIfThrowable(DBConnection.scala:300)
    scalikejdbc.DBConnection.localTx(DBConnection.scala:329)
    scalikejdbc.DBConnection.localTx$(DBConnection.scala:324)
    scalikejdbc.NamedDB.localTx(NamedDB.scala:20)
    com.ru.waka.ReplaceInto$.main(ReplaceInto.scala:22)
    com.ru.waka.ReplaceInto.main(ReplaceInto.scala)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    ...

[DEBUG] [2019/06/14 19:46:50.574] [run-main-0] - SQL execution completed

  [SQL Execution]
   select uniq_test.id as i_on_uniq_test, uniq_test.other_id as oi_on_uniq_test from uniq_test; (2 ms)

  [Stack Trace]
    ...
    com.ru.waka.ReplaceInto$.$anonfun$main$2(ReplaceInto.scala:31)
    scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)
    scala.util.control.Exception$Catch.apply(Exception.scala:228)
    scala.util.control.Exception$Catch.either(Exception.scala:252)
    com.ru.waka.ReplaceInto$.$anonfun$main$1(ReplaceInto.scala:23)
    scalikejdbc.DBConnection.$anonfun$localTx$3(DBConnection.scala:335)
    scalikejdbc.DBConnection.rollbackIfThrowable(DBConnection.scala:300)
    scalikejdbc.DBConnection.localTx(DBConnection.scala:329)
    scalikejdbc.DBConnection.localTx$(DBConnection.scala:324)
    scalikejdbc.NamedDB.localTx(NamedDB.scala:20)
    com.ru.waka.ReplaceInto$.main(ReplaceInto.scala:22)
    com.ru.waka.ReplaceInto.main(ReplaceInto.scala)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    ...

List((1,2), (2,3))

debugログからREPLACE INTOのクエリが走ってるのがわかりますね。
よかったよかった。
ちなみにdebugログが出ていますが、
これは依存に "org.slf4j" % "slf4j-log4j12" % "1.7.25" を追加して、
resourcesディレクトリにlog4j.xmlを追加してあげるとライブラリが流れたクエリをdebugログで出してくれます。

log4j.xmlのサンプル
どっかから丸コピしたので全く考えられたものではないです(突っ込まないで)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" >

    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%-5p] [%d{yyyy/MM/dd HH:mm:ss.SSS}] [%t] - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="debug" />
        <appender-ref ref="stdout"/>
    </root>
</log4j:configuration>

まとめ

  • ScalikeJDBC素のクエリもわりと簡単に投げれそう
  • debugログ便利

Splathon#10にAjitoonで参加してきた感想

Splatoonの記事しか書かないエンジニアです。こんにちは。
GW入ってターミナル触ってなかったんですが、さっきdockerコマンド叩きました。
令和元年の5/1にSplathonの第10回目のイベントがあって参加してきました。
9回目の記事もあるのでぜひ見てもらえたら嬉しいです。

arata.hatenadiary.com

試合はtwitchで配信されていて、
アーカイブも残ってるので気になる方は見てみてください!

www.twitch.tv

みーくんさんに記事期待してますからね!とか言われましたけど、
もともと書くつもりだったしそのためじゃないんだからね!!!///

SplathonXに来たときの感想

あぁ〜今回もこんな感じか〜(またやべぇとこに来てしまった・・・
対戦ができる卓が6卓あり、選手用には全てにモニターが設置され、
観戦用のプロジェクターかモニターが設置されており、
選手はチームメイトとボイチャで会話ができるようにヘッドホンが設置されていました。
前回はボイチャのヘッドセットは全ての卓にはありませんでしたが、
今回は全てそうなっててまたやべえところに来てしまったという感じになりました(小並感

Ajitoon試合結果

結果から言うと決勝トーナメントまで行けて、
最終的にはベスト4でした。

Splathonはスイスドロー式で4戦し、
その後TOP8チームがトーナメントに入るというような形です。
今回自分のチーム、Ajitoonの4戦は3勝1敗で9Pointsで初めの4戦では5位になりました!

初めの3試合で3勝したのがAjitoonだけだったので、
3試合終了時では瞬間一位を計測できましたw
やったぜ!!

AjitoonはSplathon第7回から参加していて、
大体中盤あたりにいたんですが、
トーナメントまではいけなかったので、
トーナメントに行くことを目標にしていました。
その結果チームの一言はこんな感じになりました。

f:id:arata3da4:20190505225307p:plain
Ajitoon

決勝トーナメントまでどうにか行けたので良かったです。
行くだけではなく1勝できたのでなお良かったです!
最終的な気持ちはこんな感じです。

試合の軽い振り返り

動画もし出たら振り返りたいなぁと思いつつ、
思い出に残ってる限りで振り返ろうかなと思います。
配信で残っているのが1ターム?の1試合目と4タームの3試合目だったので、
そのへんだけ書いておこうかなと思います。

1試合目 VS dentoon

2勝0敗

https://www.twitch.tv/videos/418685340?t=00h51m40s

この試合はふわっふわっしすぎてて少なくともエイムがひどかった。
最後の打開のナイスダマ、相手が2人しかいないのにはいたのは良くなかった。
初戦はスポーツと一緒でアップがないとなんかよくわからなくなりますねw

2試合目 VS WAVE4

2勝0敗

無我夢中で何も覚えてないので動画がもし出たら思い出そう・・・w

3試合目 VS ぴぎまる水産

2勝0敗

オートロのナワバリは最後全員落として勝てたのでよかった

ヤグラは最後自分がナイスダマ外したら負けみたいな感じだったので、
本当にプレッシャー感じてましたw

4試合目 VS 人生の春休みキッズ

前回のSplathon9で夏休みだったチームが春休みを迎えてまた戦うことに・・・!w
しかし結果は0勝2敗

https://www.twitch.tv/videos/418685340?t=05h21m24s

ナワバリでは、左3枚来てる助けて〜って言ったら、
右のスクイクに無限にやられてるって聞いて、
あぁ・・・さんこさんか・・・じゃあ厳しいね・・・ってなった記憶あります。
あと中盤から終盤あたりにかぼすさん(スクスロベッチュー)が後ろから入ってきたあとに、
さんこさんのスフィアに合わせたチャクチにやれれて一気に心折れそうになりましたw
ホコでは、かぼすさんが初め自陣に入ってきて、めちゃくちゃ圧かけられてしんどかった
もうどこにいても確2で倒してくるかぼすさんがつらかったw
かぼすさん弱体化はよ!!

決勝トーナメント1試合目 VS からまりまきあーと

2勝0敗

この辺なってくる朝から起きてて体力が微妙だけどテンションでもってるみたいな感じだったので記憶が曖昧w
動画がもし出たら思い(ry

決勝トーナメント 準決勝 VS 都立道玄坂高校イカ部(仮)

1勝2敗

まさかのナワバリを引かれてしまって焦ったが、なぜかナワバリで勝てた試合
最後のオールダウンがアツかった
エリアは自分のエクスが落とされなければ行けたかもしれないので悲しかった
モズク農園のリッター怖すぎワロタ

SplathonXを終えて

トーナメントに行けたのは本当に嬉しかった!
そしてトーナメントの試合はどれも激アツで眠くなってしまった体が一瞬で目が覚めるなどしていましたw
Splathonに参加するごとに徐々に徐々に順位を上げて、
同じウデマエ帯なら連携力で上をいけるという自信がついた気がします。

ただ、前回も思ったことで、
毎度トーナメントに出てくるめちゃくちゃ強いチーム(今回負けたところなど)にはまだまだ勝てなくて、
おそらくこれは個々の強さを上げないといけないなというのは再度思いました。
懇親会で、猛者たちのプラベに入って揉まれるとかされるといいかもと言われたので、
#boshuのプラベに入ったり、ガチマをfeedbackしてもらうとかしていくともっと上にいけるのかな〜とか思ったりしましたとさ
ベスト4まで来たので次回はもう優勝していくしかない!

最後に、運営の皆さん本当に楽しいイベント作って頂いてありがとうございました!!!
単にアツい試合が楽しかったし、それを最大限楽しめる環境を作ってもらえたし、
いくつかオンラインのイベントに参加したおかげか懇親会で色んな人と話せてよかったです!
Splathon最高!マンメンミ!!

Splathon#9にAjitoonで参加してきた感想と今までの振り返り

こんばんは、ここのところSplatoonの記事しか書いてませんが、エンジニアです。
最近はScalaを書いています。本当です。信じてください。
さて、先日24日(日)にSplathonの第9回目のイベントがあってそれに参加してきた感想メモろうかなと思いました。

Splathonって?みたいなのは前書いたりしたので、気になったりしたら見てもらえると嬉しいです。

arata.hatenadiary.com

Splathonと書いてるのですが、コミュニティの名前を示しつつも、
オフラインでどこかに集まって行うイベントのことをもともと呼んでたのかな(?)なので、
今回はオフラインで集まって行われた大会の話になります。
自分は単に参加者として1チームとして出たので全体の感想と、
実は3回目(Splathon#7, #8を経て)の参加なのでそれも合わせて振り返りつつ、
チームで大会に出るとこんなに楽しいんだぞ!みたいなのが伝わったら幸いです。

Splathon#9の感想

「やべぇ・・・(語彙力)」

でしたw
前回#8でも準備がすごくて「すっごーい(語彙力)」って思ってたんですけど、
今回到着した際に、「え・・・これどこのe-sportsの大会ですか・・・?」ってなりました。

前回(Splathon#8)の様子です。

kawakubox.hatenablog.com

今回(Splathon#9)の様子です。

やばくないですか?
6卓ですよ6卓。A卓なんて全試合通じて解説入ってるし、
A, B, C, D卓はLogicoolのヘッドセット付きで、チーム会話が出来るんですよ。
チームで会話しながら練習してきた身としては超絶最高でした。
なんと協賛していただけたんですね!ほしいものリストまではすでに入りました。
(別のLogicoolの使ってるんだよなぁ

ちなみに解説の様子は当日のTwitchの配信があるのでちょっと覗いてみてください。
e-sportsの大会にしか見えないと思います。
ちなみに、最後優勝チームが決まってトロフィーが授与されたあと、
イカ研究員さんからアップデートのお知らせが来るって体が勝手に思うくらいやばかったです。
直後に、あ、そうだこれコミュニティのイベントだって我に返りました。
ブキチコレクションはよ。

www.twitch.tv

当日のTwitterの様子もtoggeterにまとめられてるみたいなのでぜひ見てみてください。

togetter.com

Splathon#7, #8, #9の参加を経て

Splathon#7から参加したんですが、今回チームになってきた気がするなぁって思ったのでちょっと振り返ろうかなぁと思います。

Splathon #7

自分たちが初めて参加したのがSplathon#7でした。
ニコ生だったんですけど、もう見れなくなってました。悲しい。

live.nicovideo.jp

この頃の自分のチーム、Ajitoonは単に集まっただけの構成だったんじゃないかなぁって気がします。
自分は確か赤ZAPとか持って、
ローラー2枚とカーリングもう1枚でホッケふ頭を駆け巡っていて、
打開?戦略?チーム連携?何それみたいな構成だった記憶がかすかにありますw

ただ、この時参加してよかったなと思ったのは、
ガチマッチやリーグマッチとは違う、どうしても勝たなければならない一回一回の勝負で勝つとすごい嬉しい。
そして、負けるとすごい悔しいと感じたことでした。
こう思うと勝てるようもっと練習しよう、勝つためにはどうしたらいいんだって考えるのが始まって最高に楽しいです。
スポーツって感じがしますね!

その後チームで練習しようってなりました(確か
そのあたりからチームでの活動が始まって、毎週木曜日の夜を練習日として、リグマに行くようになりました。
そして時を経てSplathon#8に参加しました。
アーカイブ残ってた(・∀・)

Splathon #8

youtu.be

この頃は自分たちが使える武器を使いつつ、
打開時に必ずスペシャルを合わせる動きは出来るようになっていました。
ガチマッチでの基本は出来るようになってた感じですね。
個々人の強さが前より上がっていた気がします。
ただ武器構成は比較的前よりで、この時はスパヒュー、カーボン、プラコラ or ホットブラスター、プライムだったみたいです。
雨だらけですね。

ただ、この時は合わせられるようになりつつも、各々が味方に場所を教えてもらいつつ、
単にガチマッチをやっているような動きになっていたような気がします。
チームとして連携が取れているかというとまだまだ怪しいんじゃないかなと思います。
まだまだ課題は残っていた感じがします。

このあと、Splathon#8が2018年5月開催で、
Splathon#9(今回)が2019年2月開催なため、かなり練習できました。
実際には、いろんな武器を試したりいろんな武器構成を試したりしました。
自分の場合、スパヒュー -> デュアル -> エクスプロッシャー or クーゲルシュライバーと射程が伸びていったり、
もうひとりはホットブラスター -> 96ガロン -> ジェットスイーパーカスタム -> 96ガロン(だったかな) と変わったりしました。
カーボンのプロはカーボン一筋でしたね。さすがや。

非常に嬉しかったのが、徐々に最高リーグパワーが上がっていって成長を感じたことでした。
大事なのは、偶然上がったというよりはちゃんと各々が役割をこなして勝てるという試合が増えてきたと感じたことでした。
あと、SplathonのコミュニティではLadderという、数ヶ月の期間で順位を決めるリーグがあって、
そこでも安定して勝てるようになってきたのもまた一つ自身につながった気がします。
やはり具体的な数字に現れると嬉しいですね。

そんな状態で迎えた今回のSplathon#9でした。
決勝トーナメントに行きたいそんな思いで参加しました。

Splathon #9

https://www.twitch.tv/videos/385725447?t=06h55m10s

配信に辛くも乗ることが出来た試合がこちらでした。
相手にXパワー2700とかいて、「えぇ・・・」とか思ってました。
最終的な結果は2勝1敗1分で10位タイでOMWPを考慮すると11位でした。
配信に載っている試合に勝てれば決勝トーナメントだったので非常に悔しい結果となりました。

ただ、今回よかったなと思ったのが初めの2チームとの試合に全勝出来たことでした。
ルールがナワバリとヤグラだったのですが、
ヤグラは練習してきた構成でちゃんと勝ち、
ナワバリはエリアと同様の動きで最後逆転勝ちをしっかり決めて勝つことが出来ました。
パワーバランスが近いチームに対してしっかり勝ちをものにできたんじゃないかなと思い、
過去の参加からの成長を感じました。

前まではパワーバランスが近いチームに対して危うかったんですよね。
気を抜くと負けてしまうみたいなのがあったりしました。
でも、どうしても勝たなければならない一回一回の勝負で、
しっかり勝てるようになってきたと実感するのは本当に嬉しかったです。
勝ったときにマジ味方ナイス最高って叫べるの本当に楽しいです。
マジ最高、Ajitoonありがとう!

しかし、俺たちの戦いはここからだなーと思いました()
強いチームなんであんなに強いのかわからないんですよねw
3試合目に最終的に優勝したチームにフルボッコでやられたあとの自分の気持ちです。

もうなんかわからないけど、
チームでっていうよりそろそろ個々の力を強くしないといけない気がしてきたんですよね。
そして思ったのがこちら。

まあなんか、Splathonに参加するとモチベーション上がりすぎますね。
本当に良くない。これのせいでテイルズオブヴェスペリアやってる場合じゃなくなりました。
ガチマ、疲弊するから最近逃げちゃってたけど、戦うことにしました。
2700目指すぞ!!!1111(震え声

たまに配信してるから応援してくれよな!

まとめ

  • Splathon#9まじやべぇ
    • 最高に楽しかったです!
    • 趣味のコミュニティだから仕方ないよねーみたいなの一切なかったw
    • 完成度がヤバイ
    • Splathon#10も期待大だけど無理せず行ってほしい
    • botの実装とか手伝うかー
  • 今の完成度とか関係なくチームでとりあえず出るの本当におすすめ!
    • 自分はこのコミュニティで初めてチーム組んだけど、すっごい学び多いし、ガチマッチにもかなり活きてるので本当におすすめ
    • ガチマッチには正直どうでも良い
    • 勝ったことを一緒に楽しんで、負けたことを一緒に振り返られるチーム本当に最高なのでまじおすすめ

Splatoonの企業対抗戦やってるコミュニティに入ったらすごく楽しかった話

これは Splathon Advent Calendar 2018 - Adventar の9日目の記事です。

なんでもどうぞってことだったのでSplathonの思い出を語ろうと思います。
Splathonってなんだろうとか、コミュニティ楽しそうとか、チーム組んで戦うのが楽しそうってのが伝わったら嬉しいです。

Splathonとは

Splathonという単語の意味はこんな感じらしいです。
最近はコミュニティ名として使われてる印象です。

「スプラソン」(Splathon)とは、スプラトゥーンsplatoon)とマラソンmarathon)を組み合わせた 株式会社Speee発祥の造語で、複数の参加チームが、マラソンのように、 数時間から数日間の与えられた時間を徹してSplatoonに没頭し、戦果を競い合うゲームイベントのことをいいます。

オフライン、もしくはオンラインで企業対抗戦をやったり、
企業関係なくチームを組んで一定期間でリーグ戦を行うなど色んなイベントがあったりします。
どんなイベントがあったりするのか気になる方は、
アドベントカレンダー1日目のkawakuboxさんの記事がよくわかると思うので見てみてください!

kawakubox.hatenablog.com

Splathonとの出会い

参加している人がWeb企業の人が多いためか、
参加してる人がフォロー内にいて、
突如Twitterのタイムラインに #splathon というハッシュタグが流れて来たのがきっかけでした。

羨ましがってる様子です。

おもむろにつぶやいてみたら中に人がいたら招待してもらうといいっぽく、
探してみたらいたのでどうにか招待してもらうことに成功しました。
コミュニティが気になる方は中の人の知り合いを探してみてください!w

参加したイベント

会社のメンバーでいろんなイベントに参加したりしました。

Splathon #7, #8

Splathonはオフラインである会場に集まって競い合うイベントですね。
イメージはSplatoon甲子園のような感じです。

www.youtube.com

Splathon eXtreme - Draft Tournament#1

eXtremeはウデマエXの人が集まって、 すっごい強い人(語彙力)がリーダーになってドラフトしたチームで競い合うイベントです。
ウデマエXになったばっかりでそんなに強くないから選ばれんやろーとか思ってたら選ばれて、
スマブラのムービーで驚愕してるイカちゃんみたいな顔をしながら怯えていました。

www.youtube.com

Splathon Ladder League #1 #Spladder

Ladder Leagueはオンラインのイベントで、
数ヶ月の期間で順位を決めるリーグでした。

全試合録画されててすごいw
最終的な順位は25チーム中7位でした。

#Splathon Ladder League #1 #Spladder - YouTube

Splathon Online League #3

Splathon Online Leagueはsolってよく訳されてるんですが、
(初め全然わからなくてsolってなんだ・・・ってなってました。
エンジョイよりのオンラインのイベントで、
参加したい人を運営の人がいい感じ(語彙力)に割り振って数ヶ月で、
順位を決めるようなイベントです。

チームで戦う楽しさ

コミュニティに入って同じ会社のメンバーでチーム作ったんですが、チームでやるのすごいよかったです。
まずは、チームでやるとみんな次勝つためにどうしたら良いかって考えるようになりました。
自分の立ち回りをもう少しこうしてほしいと言ってもらえたり、
対面が強い前線の味方を活かすために塗り拡げるの優先で動いたほうが良かったなー考えたりなど。

あとは、単に練習という名目でリーグマッチに行くのが単に楽しいです。
(今のチームのAjitoonでは練習として毎週木曜日にリーグマッチに行っています。

さらに、自分が使う武器だけではなく、
チームでの武器の組み合わせを試すというのもすごい楽しいです。
Ajitoonは初めメンバーの3/4のスペシャルがスーパーチャクチのチャクチーズで、
打開とは🙄みたいなチームでしたが、
今は色んな組み合わせが試せてすごい楽しいです。
(一人カーボンローラー固定だけど

Splathon #7, #8やLadder League #1のおかげでそんな楽しみ方を出来ました。
チームを作るきっかけをくれたSplathon、そのチームでプレイするきっかけを作り続けてくれるSplathonに感謝!!
コミュニティの楽しさとチームを組む楽しさが伝わったかどうか怪しいですが、
チームを組んで対抗戦するの本当に楽しいんで、
ぜひ皆さんもチーム組んだりしてみてください!

Splatoon2から始めてウデマエXまで行くときにやったりしたことの備忘録

この記事はSplatoon Advent Calendarの1日目として書かれています。
勢いで作ったら結構埋まっててとても嬉しいですw

adventar.org

なにを書こうか悩んだんですが、
Splatoon2が発売されてからウデマエX行くまでを振り返って、
自分がどうやってウデマエXまで行けたかを書いてみようかなと思います。
ウデマエXを目指す方のなにか参考になれば嬉しい限りです。

今のウデマエと使用武器

普段の使用武器はマニューバ系やシューター系の短距離から中距離のブキを持っています。
今現在のXパワーは2100 ~ 2300強くらいをさまよう、一部ではX底辺と言われたりするくらいのウデマエです。

初めS+0までのとき

初めS, S+0まで行ったときはずっとボールドマーカーを使っていました。
特にルールごとになにか考えることもなくプレイしていた気がしますw
唯一やってたことは率先してオブジェクトに絡むことをしていました。
エリアだったらエリアを塗る。
ヤグラだったらヤグラに乗る。
ホコならホコを持つ。
自分以外がやらなそうだったら自分がやるようにしてたら上がれたような気がします。

A+ ~ S+2あたりをウロウロしてるとき

S+0までは発売から3ヶ月ほどですんなり一度上がれたんですが、
その後立ち回りがわからなくなってきてウデマエが上がったり下がったりするようになりました。
正直ボールドマーカーに限界を感じるようになったのでいろんな武器を使うようにしました。

エリアでは

  • ボールドマーカー
  • スクリュースロッシャー
  • N-ZAP85
  • N-ZAP89
  • ダイナモローラーテスラ
  • バケットスロッシャーデコ
  • スパッタリーヒュー

ヤグラでは

  • ジェットスイーパー
  • ホットブラスター
  • もみじシューター
  • スパッタリーヒュー

ホコでは

  • ボールドマーカー
  • バケットスロッシャーデコ
  • スパッタリー
  • スパッタリーヒュー

アサリでは

  • スプラローラー
  • ホットブラスター
  • デュアルスイーパー
  • スパッタリーヒュー

などを使っていました。
かなり迷走気味ですね。
でも、これをやってよかったなと思うことがありました。
使っていた武器との対面の仕方や、その武器がどこに立ちたくなるかのポジションがわかるようになったことです。
どこに潜伏してそうかとか、どういう行動をあの武器はやられたら嫌かがわかると、
それらの武器に対して優位に対面できると思うので、
いろんな武器を持ってガチマッチに潜ったのはつらかったけど本当によかったなと思います。

S+の数字を上げていったとき

いろんな武器を持っていたんですが、
アメフラシが強いなーと思ってたのと、キル性能が高かったのもあり
スパッタリーヒューに使用武器が固定され始めて、
ようやくS+にも数字がついて落ち着くようになってきました。
その頃ちょうどウデマエXが出るという話が出てきたので、
S+10くらいまでなら頑張りたいなと思ってどうやったらよくなるかを考え始めた時期でした。
そこでやったのが上手い人の動画を見て学ぶということでした。
今考えると、もうちょっと早くやっても良かったんじゃないかなとかよぎりますねw

エリア

まずはエリアですが、
スパッタリーヒューを使っていこうと思ってたのでYoutubeで探したら、
あしんさんという配信者さんがガチエリアでの立ち回りを解説している動画や、
よくやってる試し打ちを動画にされていたのでそれを見てとりあえず丸パクリして徐々にアレンジしていくことにしました。

www.youtube.com

www.youtube.com

エリアの立ち回りの動画を見たとき、
打開とか抑えの考えを一切自分は持ってなかったので、本当に参考になりました。
打開時にちゃんと味方と合わせるというのが大事で、
それさえ出来たらあとはサクサク数字が上がって4種の中で一番はじめにXになりました。
途中でX導入されたので元々強かった人々がいなくなったってのもありそうですがw
あとは試し打ちをちゃんとやったらエイムがかなり良くなって対面も勝てるようになったので、
ちゃんとやると効果出てよかったです。
バスケでもシュート練習しないとシュートはいらなくなるし、
ピアノでも練習しないと指動かないしなーとか思ってやっぱ練習大事だなと思いました。

ヤグラ

ヤグラはS+0に行った後に、様々な武器を使ってAまで落ちてしまい、
その際、もみじシューターを使って這い上がってきたんですが、
塗り拡げてキル武器にキルを取らせて、自分がヤグラに乗って、止めるときは雨をはけば勝てると思ってたので、
特段探さず殺傷能力の上がったスパッタリーヒュー+アメフラシでどうにかしていましたw
デュアルスイーパーカスタムが出た後は更に塗りやすくなったので持ち替えて、
塗りながらヤグラに乗ってアメフラシで止めるという方針でXまで行きました。

ホコ

ホコは結構好きだったんですが、
苦戦してたので探したらメシアはボールドさまという配信者さんの動画を見つけて参考にしてました。

www.youtube.com

この時まで何も考えずホコを進めてたんですが、
ゴールから限りなくホコを遠ざけるとか、どこまではホコを進ませても大丈夫とかそういう考え方を気付かされた動画でした。
どこまでには必ず止める。
無駄に突っ込まないが大事ですね。
ホコ持ちが得意だったこともあり、この考え方のおかげでわりとすんなり上がることが出来ました。
ホコではスパッタリーヒューよりスパッタリーをよく使っていました。

アサリ

アサリはエリアのおかげで周りが見えるようになって特段なにもなく上がってしまったので割愛しますw
武器はデュアルスイーパーカスタムがでて使いやすかったのでずっとデュアルスイーパーカスタムを使っていました。

まとめ

所感としては個人的には

  • ある程度ルールなれるまではひたすら同じ武器を使うとよかった
  • ガチマッチはオブジェクトに絡むようにするとよかった
  • ガチマッチ慣れてきたらいろんな武器をいろんなルールで使ってみるとよかった
  • 立ち回りよくわからなくなってきたら動画を見て真似してみるとよかった

という感じでした!
もしSplatoonやっててなにか悩んだ人の参考にでもなればとても嬉しいです!