吉村家の待機時間

列が移動する1サイクルは約25分 店の前まで移動したら10分ちょいで入店

グラウンド横の待機列は2~3サイクルくらいなので、大体60〜90分待ちになると思われる。 運良くサイクルが移動する直前に並んだ場合、ギリ60分切れるかなという感じ

1時間くらいの並びは覚悟しておいた方がよさそうです

ラスアスマルチ入門

ラスアスのマルチ超初心者向けの記事です。
私も200周くらいの脱初心者レベルです。

まずは基本セットについて紹介します。
一番クセがなく、安定して強い組み合わせです。

スキル

まず最初の壁スキルですが、これは下記が基本になります。

  • 狙撃手3
  • 応急処置1
  • アジリティ2

各スキルの詳細はかる茄子さんのブログを参照してください。 karunasu.hateblo.jp

最初はアジリティ2は隠密訓練/爆発物エキスパート or プロに変えても良いかもしれません。

武器

武器は下記2つが安定です。

  • セミオート(中・長距離に強い)
  • バーストライフル(近距離に強い)

小武器はリボルバーが強いです。

強スキル・強武器

おそらく最初は上のスキル・武器を使ってもなかなか勝てません。勝てないと面白くないです。
なので、強武器・強スキルを組み合わせて使うのがおすすめです。

強スキル

  • 隠密訓練2/3
    • 座ってる状態で敵から聞き耳で見えなくなります。このゲームは敵の裏をかくことが重要です。正面からの打ち合いが苦手でも背中が取れればほぼ勝てます。また、最初にこちらの弾がヒットすれば大体勝てます。そのためこっそり隠れて相手が来たら打つ行動が非常に強いです。
  • 爆発物エキスパート or プロ
    • いわゆる投げ物(爆弾 or 火炎瓶)の範囲・爆発までの速度が上がります。

強武器

  • タクティカルショットガン
    • 攻撃範囲が広いのでエイムをあまり気にせず撃てます。

おそらく強武器・強スキルを使用しても最初はなかなか勝てません。あまり気にしないでください。

行動

行動についてはまず下記を意識すると良いと思います。

  • 相手にどこにいるのかわからないように動く
    • 敵の近くで走るのをやめましょう(走ると相手に自分の場所がわかります。爆弾を設置する時もわかります。)
  • 相手に見つからないように動く
    • 遮蔽物がない場所の真ん中を歩くのをやめましょう。
  • 相手の裏をかくように動く
    • 相手をマークしたり、相手の動いている方向を予測したりして相手の位置を大体把握してみてください。そしたら背後や側面から攻撃を仕掛けるようにしてみてください。

撃ち合うゲームという認識をやめて、隠れて相手の裏をかくゲームだと思ってプレイするのが良いと思います。

動画で勉強

上手い人のプレイを見るのがとにかく勉強になります。スキルや武器の使い方もわかります。 フリーマンさんの動画を新しいものから順番に見ていくのが良い気がします。

www.youtube.com

www.youtube.com

www.youtube.com

何やかんや書きましたがスキルや武器は好きなものを色々使ってしっくりくるものを使用するのが良いと思います。 自分は

  • フロンティアライフル
  • リボルバー
  • 一匹狼
  • 爆発物エキスパート
  • 適当なスキル

が好きです。

ラスアスマルチをこれから始める人の助けになれば幸いです。

WSL起動時のエラー WSL (8) ERROR: CreateProcessParseCommon:789: Failed to translate の解消

wsl-vpnkitが原因だった。 詳細は全く読んでいないが、wsl-vpnkit呼び出し処理を下記に書き直したら解消された。 wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit status >/dev/null || wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit start

github.com

メモ:アジャイルソフトウェア開発の奥義 アジャイル設計とは?

プログラムが腐る原因

  • 硬さ
    • ちょっとした変更でも難しいと思ってしまうような設計
      • 最近とあるUI変更で硬さを感じることがあった。そのUIはある型が持っているテキストデータを表示するUIだった。そのUIは変更前の型に依存した実装になっており、そのUIに別の型のデータを入れるという変更が行われ少し苦労した。
  • もろさ
    • 変更により別の箇所に問題が生じてしまう。
      • 昔数千行のif文によって制御されたスパーモノリシックなjsを管理していた時がこれだった。(そのjsはアプリケーションの全てのページで使用されていた...)
  • 移植性のなさ
    • 他のシステムでも使えるが、オリジナルのシステムから切り離すのが困難
      • あまり経験がないが、他のアプリでも使用する前提で作成されたUtilityコードがモジュール化されておらず、結局そのアプリでしか使用されていないという場面は見たことがある。
  • 扱いにくさ
    • ソフトウェアの厚かにくさと開発環境の扱いにくさ。設計構造を保持したまま変更が難しいもの
      • ちょっとよくわからなかった。ソフトウェアや開発環境が快適でないことに起因する不都合さ全般のこと?
  • 不必要な複雑さ
    • 仕様変更を先取りし、不必要な機能を取り入れてしまうようなこと
      • これは結構ある。XXXならどうする?XXXは?とコードレビューで指摘されついつい現状の仕様以上の機能を入れてしまうことがある。(正しいこともあるが)
  • 不必要な繰り返し
    • そのまま
  • 不透明さ
    • 書き上げた時は理解してても、その後すぐにわからなくなってしまうようなコード
      • ほぼこれ

対策

で、アジャイルチームはこれに対してどう対応するのか

設計をクリーンにシンプルにして、頻繁にテストし変更ができる体制を作り上げておく。 初期の設計は腐ってしまうのはしょうがない!各イテレーションでその時その時最適な設計に作り変えていく。

感想

とにかく最初から大仰な設計をするのではなく、必要に応じて必要な設計を施すのだ!ということが書かれていた。 それはそうなんだけど、なかなか難しいよね...。一度作ったモジュールはなかなか変更許可が降りなかったり、リファクタリング工数が取れなかったりして

ChatGPTに質問①

Rustのtraitとjavaのinterfaceの違いを教えて。

RustのtraitとJavaのinterfaceは、両方とも抽象化されたタイプを表現する方法ですが、以下に示すようにいくつかの重要な違いがあります。

実装の強制

Javaのinterfaceは、クラスがimplementsを使用してinterfaceを実装することを強制します。そのため、Javaのinterfaceは、Javaクラス階層内の異なるクラスの間で共通の機能を実現することができます。 Rustのtraitは、任意の型がimplを使用してtraitを実装できるようにします。ただし、traitが実装される必要がある型は、トレイトが依存する型を実装する必要があります。このため、Rustのtraitは、型固有の振る舞いを強制することができます。 デフォルト実装

Javaのinterfaceは、デフォルト実装を提供できます。これは、インターフェースを実装するクラスが、明示的に実装しなくてもよいメソッドの実装を提供できることを意味します。 Rustのtraitは、デフォルト実装を提供できますが、これは主にトレイトオブジェクトを操作するためのものであり、ジェネリック関数の実装では使用できません。 静的ディスパッチ/動的ディスパッチ

Javaのinterfaceは、常に動的ディスパッチを使用します。つまり、実行時にオブジェクトの型をチェックして、正しいメソッドを呼び出します。 Rustのtraitは、dynキーワードを使用してトレイトオブジェクトを作成する場合にのみ、動的ディスパッチを使用します。それ以外の場合、静的ディスパッチが使用され、コンパイル時に実行されます。 関連型とジェネリック

Rustのtraitは、関連型を使用して、トレイト自体内で定義された型を表現できます。これにより、トレイトをより柔軟にすることができます。 Rustのtraitは、また、ジェネリックを使用して、トレイトが依存する型のパラメータ化を可能にします。 以上の違いにより、RustのtraitとJavaのinterfaceは、似たような概念であるにもかかわらず、異なる目的に使用されます。