ひよっこゲームブログ

なにもかも初心者のひよっこがゆったりと何かする

私的レベルデザインのtips

僕は業界の人間ではないので間違ってることもあるかもしれないけど

学んだことをアウトプットするために今まで書いてたのを公開することにした

いい機会だろうし

 

(8/9追記

ここに書いたのはレベルデザインよりかは

厳密にはUX(ユーザー体験)デザインと呼んだ方が近いらしい

定義が難しい

 

==========

 

 

■ ゲームを進める楽しみは何か?

 

■ ゲームを進める楽しみは何か? ゲームを進める際に学習を行う

新しい「もの」との遭遇 ⇒ プレイヤーが新しいものを学習する

マップを探索する ⇒ マップの情報量から何をできるかプレイヤーに予測させる

プレイヤーのできること(対応できること)を苦痛にならないよう増やしていくのが大事

同じことの繰り返しに見えても違いを作ればプレイヤーは楽しむことが可能

 

ただ同じことを続けるのはNG、前のを踏まえた上で新しいものをさせていくこと

同じ要素の繰り返しばかりで新しさがなければプレイヤーは途中で飽きてしまう

 

ある程度「何」をさせるかプレイヤーに予測させることが大事

誰が見ても気が付き、理解できる

 

プレイヤーを新しい物事に対して誘導させていくことが大事


既存のゲームでの常識を適用するという思考

⇒ 敵は触れるとダメージを受ける (など)

そこから外れる場合はその物事を学習できる機会を作る

 

学習したものの類似品を出すことで効率よく学習を行う

⇒ 木箱、色付きの木箱、鉄の箱・・・

⇒ 見た目からどういうものが必要なのか、何をする必要があるのかが分かる状態である

⇒ 本来であれば言葉で説明する手間を上手く省く方法になる

 

プレイヤーの判断に可能性を持たせる

決まった道のりでも、自由度がある程度あるように幅を持たせる

探索する順序の自由、道を進む際のルートの自由度、敵を撃破する際の過程、方法を選択させる

⇒ 結果的に一つの方法でしか突破できないという状態を防ぐことが重要(プレイヤー全員が同じ動きになってはいけない)

⇒ リスクとリターンをプレイヤーに選択させる

 

プレイヤーに追体験を行わせることによって事前に成功させた事例をスムーズに解決させる

⇒ 上達したという感覚を実感させる

⇒ 特定のリスクに対して効果的な解法を覚えさせる

 

何かしらの方法で発見があること

プレイヤーが目視できても気が付かないパターンは避ける(開発者しか分からないパターン)

「あえて」のミスリード的なものはありだが、その回収でプレイヤーを納得させなければいけない

 

ステージで複数の遊び方を取り入れることで、退屈しない作りになる

収集要素(全て集めなくても実績になるようなもの)を取り入れることで探索に意味を作る(

最短で行動するのが正しいとは限らなくする)

プレイヤーの目につくようにきちんとアプローチはすること

プレイヤーの実力に関わらず謎解きやひらめきを必要とする方がとっつきやすい

 

ゲーム内の演出などから次に行う行動や、できることが何かというものを分かるようにする

舞台装置(?)というやつ、物事の背景などを知らしめる(隠しで見つけたりすると嬉しい)

 

■ リスクとリターン

プレイヤーにリスクとリターンの選択を迫ることでゲームに面白さや自由度を作ることができる

 

一本道でのリスクとリターンの例

敵を無視する ⇒ 戦うことのリスクを冒さない、リターンとして安全を得る

敵と戦う ⇒ 戦うリスクを冒す、リターンとして敵を倒して経験値、その場所の安全を入手する

 

キャラクター選択式において、各々がリスクとリターンの取り方が変わっていると差別化の認識がされやすい


■ 攻撃するということ

攻撃をさせる状況を作る ⇒ ゲーム中で攻撃をすることに意味を持たせる必要がある

ステルスとかは攻撃をしない意味を持たせている行為

攻撃の意味

⇒ 攻撃をすることで防衛を行う(敵やオブジェクトへ何らかのアプローチを行う) ⇒ 攻撃をする、しないのリスクリターンを選択させる

敵を全滅させないとその場から進めないシチュエーションは行動を起こさせやすい(道をふさいでるとか)

 

■ プレイヤーの予測 プレイヤーは一つのアクションに対して予測を行う

予想外の出来事 ⇒ 驚き、嬉しさ(良い内容の場合)

予想内の出来事 ⇒ 納得、安心

予想内外にかかわらず、予想が絶対的なものであると魅力が落ちる場合がある

⇒ 予想で80%くらいの合致率で、そこにリスクとリターンが含まれていると面白さが増す

 

ここで起きる予想外のアクションにおいて、ある程度リカバーができた方がよい

予想外で失敗をした場合、次回に同じアクションが起きた際に成功率を上げることができプレイヤーの予測範囲内で遊ぶことができる


■ 視覚と聴覚による情報

視覚で分かるもの

敵の大きさ ⇒ 大きいやつは強い、小さいやつは弱い。(通常敵と比較しての大きさ)

大きさによって迫力とかが出るので、大きいと強そうに見える 逆にボスなどで通常敵サイズや他と比べて小さい場合、強敵感だったりや変化球として使える

色などで危険度を判断したりできる

 

聴覚で分かるもの

敵の行動音(存在するという情報、攻撃モーションなど)

画面外からの情報なども得ることができる(視覚では補えない)

BGMがとたんに静かになると、環境や展開の変化から次に何か起こるかもしれないと判断できる(ボス前とか)

 

聴覚と視覚を両方使った情報

重要な情報は2つ以上の手段を用いてプレイヤーに知らせると分かりやすい

例) ※これらは全て学習が可能である(再体験に有用)

敵からの攻撃

・視覚 ⇒ 攻撃をする直前に軽い構えモーションが入る

・視覚 ⇒ 攻撃を構えた際に土煙などのエフェクトが入る 溜め攻撃とか

・視覚 ⇒ 普段の攻撃と違う構え ・視覚 ⇒ 溜めモーションのエフェクトが入る

・聴覚 ⇒ 溜め攻撃を行う際に足の踏み込みで「ドン」って大きな音が鳴る

 

 

=====おまけ=====

(たぶんUIが絡むと話が違う気がしたので)

 

ダメージを受ける

・視覚 ⇒ キャラクターにダメージエフェクトが重なる

・視覚 ⇒ ダメージの値が表示される

・視覚 ⇒ 体力バーが減少する

・聴覚 ⇒ 攻撃された音が鳴る

 

ダメージを受けて体力が半分になる

・視覚 ⇒ 体力バーが 青 → 緑 になる

 

ダメージを受けて瀕死になる

・視覚 ⇒ 体力バーが 緑 → 赤 になる

・視覚 ⇒ 操作キャラクターが疲弊する動作を見せる

・聴覚 ⇒ 緊急を知らせる音が鳴り続ける(ピコーンピコーンってやつ)

 

 

 

 

新しく気づきがあったら更新するかも・・・

間違ってたらコメントください

上位互換というデザイン

自分のメモみたいなもの

 

 

 

 

 

上位互換という便利さ

 ゲームにおいて「上位互換」というデザインがある

使いどころを間違えなければシンプルで良い機能になる

 

例)

弱い武器 → 強い武器 へ交換

⇒ 数字などの情報もあるが、強くなったり便利になることが分かる

 

 

ストーリー前半で出てきた敵の色違い ⇒ 上位互換である可能性が受け取れる

 

 番外編)

同じタイプの武器でも値段が違う

⇒ 上位互換である可能性が高い or 違う性能 と読み取れる

 

プレイヤーが目に見えて分かる、実感できるので非常に便利

では問題となってしまうケースは何か?

 

 

 

上位互換がもたらす変化のなさ

注意するところはは「プロセス」と「結果」の関連性にある

 

例)

目的   : 敵を倒す

プロセス : 敵を攻撃する

結果   : 敵を倒す

 

もし、「プロセス」に違いがあってもプレイヤーが必要とする「結果」は同じである

プロセスに大きな魅力がなければより結果を出しやすい方を選択しがちになる

 

ゲームにおいて「強キャラ」などが忌み嫌われる原因もここにある

コツコツ積み上げてきたプロセスをすべて破壊する威力があるからだ

これはプレイヤーの努力を踏みにじる行為に等しい

 

対戦ゲームでなくとも、同じ攻撃を繰り返せば勝ててしまうという

「退屈なプロセス」になってしまうケースもここに当てはまる

(※繰り返し同じことをしても面白いゲームは面白い)

 

 

 

開発が「意図しない」 or 「気が付かなかった」上位互換

いわゆる糞バランス

様々なゲームジャンルにおいて問題のタネになるタイプの上位互換

 

どんなプレイヤーも特定の行為において選択肢が1つに絞られるようになってしまう

これはプレイヤーのモチベーションを大きく下げる原因にもなる

 

失敗の体験をした際、その失敗をリカバーし成功へ繋げる選択肢の中に

「上位互換へ変更する」という選択肢がチラつくのが最悪だ

 

 

これは開発側が「プロセスに大きな違いがある」と考えたことを

プレイヤーが「大した違いではない」と受け取ってしまった場合に起きる

お互いの目線がズレていたという最悪の状態

 

 

また、結果に執着するような状態でも起こりうる

 

プロセスが魅力的であれば、プレイヤーもこの山を乗り越えてくれる場合がある

(上位互換へ安易に乗り換えをしないということ)

 

 

きちんとテストをしたり、情報の比較をきちんと行うことで回避できる・・・はず?

一番怖い

一人でゲームを作るということ

6/4、twitterで「ゲームを一人で作る人間はSSRのようなものだ」という発言を目にした

 

これについてまぁ自分が思ったこととか

なんとなくまとめたくなった訳でこれを書いた

 

 結論から言うと、僕は誰だってゲームは作れると思う

 

もしゲーム開発に興味があるなら

調べながらやれば手を動かせば何かしら動くものは作れる

その最初の1歩を踏み出すのがとても大変なだけだと思うから

 

 

 

 

 

 

 

なぜ、ゲームを作り始めたのか 

少し自分語りから始めよう

 

僕は会社を鬱で辞めて療養から半年経ち、何になりたいのが悩んで

やってみようとゲームを作り始めたのが去年の11~12月で今に至る

 

経緯を細かく書くと

勤めていた会社で配属された場所ではプログラミングのプの字もなく

自主的に作業をサボるためにこっそりコードを書いていた程度だった

 

情報系の大学を出てプログラミングをして飯を食べるはずだったのに

業務内容はそこから大きく外れ、全く違ったわけだ

 

仕事のギャップだったり人間関係で鬱になって会社を辞めたあと

療養の後に病院通いも終わり、プログラマーになるために再就職の扉を叩いた

しかし、どうもいまいち未来のビジョンが見えなかった

これから長いこと生きていく中で、その業界で一生懸命働く自分が想像できなかったのだ

 

普通の人なら5日間働いて2日休むというサイクルで生活をする

ただ、僕は前職で5日間歯を食いしばりながら我慢して2日で心の余裕を取り戻す

というサイクルで生活をしていた。それはもうまっぴらごめんだった

 

もう失うものは何もなくなった今

どうせなら昔から憧れていたゲーム業界を目指してやるだけやってみようと考え

漠然とした目標の中で、企業に提出する作品くらいは必要だろうと思い

そんな短絡的思考でゲームを作り始めたわけだ、お粗末なこった

 

 

 

ゲームと学生時代 

 僕は小さいころからゲームが大好きで

ゲームを作ってみたくてPCにツールを入れて、プログラミングで挫折をした 

当時は「ものを調べる力」が全く身についてなかった

 

大学もプログラミングが勉強できるならゲームを作れるだろうと思って入った

 

運よく大学にはゲームを作るサークルがあったのだけれど

僕はゲーム開発ではなく音楽制作の方に大きく興味が出てしまい

ゲーム開発サークルとDTMサークルでずっと音楽を作っていた

 

つまるとこ、去年までゲームの開発経験は0でノウハウもない

 

プログラミングは大学を卒業できる最低限の知識しかなく

自分よりすごい人間は数えきれないほどいた

 

その中には一人でゲームを作る人間もいれば

多人数開発で商業のようなゲームを作るすごい人達もいた

 

今思えば、学生の頃にやっておけばよかったなと思う

丁度Unity proがフリーになったのもそのあたりだ

ちなみに僕の周りは時代的にDXlib派だった

 

ちなみに僕は狂ったようにゲームセンターに通ってた

 

 

 

ゲームを作るために

ひとまず技術の話を先に、エンジンの話はそのあとで

 

世間一般にゲームを作るために必要な技術だと言われてるのは以下の3つ

 1.プログラミング

 2.ビジュアル

 3.音楽

ソフトとかを紹介しながら内容を軽く触れていく

 (ビジュアルをひとまとめにし過ぎだとかシナリオはどうだとかあるけど割愛)

 

 

1.プログラミング

これは調べればそれなりにできると思っている

 僕は情報系出身だが、正直なところもうほとんど記憶にないから全て調べる

Unityで必要なC#なんて全然触ったことがなかったので参考書と常ににらめっこだ

 

僕の汚いソースコードを見たら現役プログラマーはその場で僕を殴りつけるだろう

パズル的な頭の柔らかさは必要かもしれない、あと数学

 

Unityで開発しているので使用しているツールはVisualStudio

これはMicrosoftが公開している無料のソフトだ

とりあえずこれがあればなんとかなる、他にも手段はあるが好みだ

Microsoft Visual Studio ホームページ - Visual Studio

 

 

2.ビジュアル

UnityであればAssetなんてものがあるので絵心がなくてもなんとでもなる

2Dも3Dもなんでも配布している、クオリティが欲しければ少し小銭を出せばいい

 

僕は絵を描くのが好きだったので自分でドット絵を描いている

使ってるツールはAsepriteだ(Steamで1500円くらい)

store.steampowered.com

 

ドット絵なんて難しいと思うかもしれない

でも作り方は調べればいくらでも出てくるし、有志が細かく説明してるものだってある

基本的に見て参考にすれば、あとは努力である程度の見た目は確保できる

 

ちなみに3Dも無料のソフトがあるし、お金をだせば便利なソフトはいくらでもある

イラストのソフトも大体そんな感じだ

 

 

3.音楽

僕はStudioOne3というソフトを使っている(確か3万くらい)

あとプラグインやらで2~3万くらい使っている

 

まぁでもそんなにお金をかけなくても

これもフリーで使える音楽や効果音を集めたサイトがある(調べれば出てくる)

 

自分で曲を作りたいという人は無料の音楽ソフト(DAW)もある

cakewalk」というソフトが今は一番お勧めだ

 

これは昔はSONARという名前で有料のソフトだったのだけれど

会社が紆余曲折あって名前が変わり無料で公開している

 

音楽はセンスだという人がいるかもしれないけれど

これも色んな曲を聴いたり参考にしてみたり、調べれば解説してるサイトもあるし

Youtubeで「How to」とか調べれば 外人がいくらでも解説してくれる

 

つまるとこ、こちらも気合な節はある

 

 

 

開発環境の話

僕はUnityを使っているが他にもゲームエンジンは色々ある

Unity(無料)

 スマホゲーなどでも動いている便利なやつ

 最近日本語化に手を伸ばし始めた

 無料のAssetがあるので素材には困らなそう

 先人が多いので調べれば何でも出てくる

 手っ取り早く動くものが作りたいならこれな気がする

 

Unreal Engine 4UE4)(無料)

 ゲームを起動すると様々なロゴやらなんやら出てくるが

 でかでかと出てくる丸に「U」という1文字のマークを見たことがある人もいると思う

 こいつはプログラミングを使わずに開発ができる(良くも悪くも)

 公式のドキュメントがかなり丁寧なので良い

 世間でのエンジン2大派閥はUE4とUnityな感じがある

 

ツクール(有料)

 某動画サイトで名前が有名になった気がする

 素材も豊富だし作りやすいと思う、細かいことは知らない

 夏にアクションツクールが出るらしい、気になる

 ドキュメントが少々お粗末 

 

・そのほか

 SmileGameBuilder, GameMakerStudioなど・・・(有料)

 エンジンを使わずにDXlibというものを使ってゴリゴリ1から作るという手もある

 が、プログラミングを頑張る必要があるので人を選ぶ

 

これ以上この話をすると色々な方向から刺されそうなのでこの辺りで

 

 

結論として何が言いたいかというと

今は無料で何でも試せるのでひとまず触ってみればいいと思う

それから色々考えて自分に合ったやり方を模索すればいい

 

 

 

 一人でゲームを作るということ

はいタイトル回収

 

前の項目で触れた通り、一人でゲームを作る敷居はすごく下がってきている 

あくまでも「敷居が下がってきている」

 

正直なところ、決して簡単なことではない

なぜなら、本来であれば分担して作業を行うのが当たり前だからだ

 

・・・ というのが綺麗な締め方だと思うが

今はこれだけ膨大なツールがあるので手を動かせばものは作れるのだ

 

最初はものを拾うだけのゲームと呼べるか怪しいものでも作ってみればいいと思う 

それは自分の理想であったり、自分で考えた最強のゲームだったりはしないだろう

でも自分で作ったものが動いたという感動は何にも代えられないくらい楽しいのだ

 

そしてクオリティが欲しくなったときにどうアプローチするかが1つの分岐点だと思う

 

・・・まぁ1人でやるなら頑張るしかないのだ 

 

それでも「何か作った」、「これは僕の作品だ」というのは大きいし

なんでも完成したら胸を張っていい、俺が最強だ

 

 

 

利点と欠点

・利点

 一人なので自由に開発ができる

 思いついたから機能を追加する、みたいなことをしても大丈夫

 

・欠点

 開発するには膨大な時間とモチベーションが必要となる

 開発を進めてプレイをしていると面白いのかどうなのか自分で分からなくなる

 一人だと全体のクオリティを上げるにも倍以上のパワーが必要となる

 

 

多人数開発は大体この逆、開発モチベーションの違いで蒸発とかが怖い

ちなみに僕はモチベーションの維持が一番苦しいと思う(上下が激しいタイプ) 

 

 

個人開発者な人達

twitterとかでちらほら見る 、学生とかだったりして驚く

 スマートフォンアプリとかで作ってる人とかよく見る気がする

彼らは結構情報を発信しているので見ているだけで元気がもらえる(大事)

 

人によっては展示会とかに出している人もいるので

そういったところで開発中のゲームを触ることができたりする

 

僕もお金に余裕ができたらイベントに顔を出してみたい

 

 

 

終わりに

ゲーム作るのは面白い

 

自分は何一つプロフェッショナルではないけれども

中途半端なのが良くも悪くもこうやって今になって役に立っている

何事も色々やってみるもんだ

 

ドット絵はほぼ初めてだけど面白いし

プログラミングしてものが動くと面白いし

人から反応もらうのも楽しいし

 

 

勢いで書いたのでなんか尻すぼみになってしまった

なんか今更ながら恥ずかしくなってきた(おい 

 

この記事を書き終えたら今日も寝るまでだらだら作るぞー

そろそろ形として完成しそうだし音楽とか入れたいしあぁ・・・

 

ちなみに今作ってるゲームの進捗はちょこちょこtwitterにあげてる

こうすることでなんとなくモチベーションが上がる(大事)

 

https://twitter.com/denden_kata/media

 

 

そろそろ新しいゲームが欲しいなぁ

LoLのプレシーズンなので自分が学んだこととかまとめてみる

LoLの大型アップデートがきましたー

やったー

 

ということで久々にブログを更新するの巻

色んなブログに「○○するといい」みたいなのはたくさん書いてあるけど

その中でもあまり書かれてないものをちょこっと書いてみる

 

 

 

 

 

「めっちゃ基礎じゃねーか!」と思っても、きちんとできてない人は意外と多い

 

 

 

ピックで負けるな(心の叫び)

1.オールADにしない(相手がAP防具積まなくてよくなるから)

「mid即ロックヤスオ!お前のことだよ!」

 

2.NO CC 構成にしない

adcピックした時に味方がCC薄すぎると泣く(泣きながらとりあえずVarusを選ぶ)

 誰か1人はAOE CCが欲しい・・・欲しくない?

 

3.どの時間帯が強いのか把握しておく

とても大事

 

 

ワードを置く

プロも絶対愛用するOPアイテム(ここ重要)

 

だいたい開始5:00~には1個置く(Lv3 jg gank警戒)

1試合中にコントロールワードを1個以上買う(そしてブッシュに置く)

それだけでgankされるリスクを減らすことができる

 

ジャングラーはブッシュにキャンプとかする時用に持っておくと安心できる 

topのtpに使えるのでbotレーンに置いておくと助かる

リザルトで自分がどのくらい置いているのか確認するといい、置け

 

自分より上手い人のプレイを見るときに

チャンプしか見てなくてワードをどこに置いたかを見てない人は多いと思う

 

 

 

靴を買う

プロも絶対(略

 

靴は大事、立ち回りを改善してくれるし防具にもなる

レーンでデスを重ね続ける人はたいてい靴買ってない

「敵から逃げ切る、敵に追いつく」ために必須

 

 

1stタワーより2ndタワーの方が大事

味方の2ndが危ないのに自分のレーンの1stが折れてないからって

ずーっとタワーに寄り添ってる人はよく見る

 

1stと2ndのフリー交換なら2ndの方がお得

 

 

ジャングルをまわるにあたって

ジャングルアイテムは早めに完成させるべきだと思う

例(合わせたときに効果が似てるのでシージではなくジェムを例に挙げてる)

f:id:denden_kata:20171109193708p:plain

2625 GOLD AD+60, CD-10%

f:id:denden_kata:20171109194016p:plain

800 GOLD CD-10%, Health+200

f:id:denden_kata:20171109193802p:plain 

3000 GOLD AD+40, CD-20%, Health+400, +Passive

 

1.jgアイテムから順調に積む

ブレード(2625) + ジェム(800) = 3425 GOLD

AD+60, CD-20%, Health+200

 

2.jgアイテム放置して先に別のアイテムを積む

エンチャなしのブレード(1000) + 黒斧(3000) = 4000 GOLD

AD+40, CD-20%, Health+400, +Passive

 

シージ(1250)だと合計 3875 GOLDで

AD+75, CD-10%, Helath+200, +Passive

 

途中からjgアイテムほったらかして積みにいく人いるけど

コスパ的にはjgアイテム完成 ⇒ 次のアイテムにした方がいいと思ってる 

 

 

レーンで負けても経験値は吸う

負けてるからCSに必死になってダメージトレードをミスってリコールさせられたり

キル狙おうとして返り討ちにあったりするくらいなら

 

セーフプレイしてデスしないような立ち位置にして

レーンに居座り経験値を吸いつつ、最悪スキルでCSを取った方がいい

(経験則)

 

もちろん取り返せるくらいのタイミングなら早めにjgを呼ぶ

 

 

対面に勝ってるはずなのに、自分のタワーが折れる理由

リコールタイミングを間違えている、ウェーブの管理ができてない

ミニオンを押し付けられてタワーが削れてるのがほとんど(経験則2)

 

できる限り「プッシュしてタワーに押し付けてからリコール」

リコールした後にどこでミニオンがフリーズするか考えれば改善する

 

 

タワー下の集団戦

人数差がないなら自分のタワー下で集団戦ができるのがベスト

負けてる時は焦らずにタワー下で当たれるように我慢した方がいい方向に転ぶ

 でもタワー下は絶対安全という訳ではないのであしからず

 

逆に勝ってるならタワー下に行かれる前に仕掛ける

 

 

 

 

 

とりあえずこんなもん

新ルーン楽しいね

いい感じに確認ダイアログを出したかったけど諦めた

前回の記事のちょっとした続き
denden-kata.hatenablog.com

今回は分かったことだけを淡々と書いていく


自分がChrome拡張機能を作るきっかけとなったのが
「ブラウザを閉じるときに確認ダイアログを表示する」機能が欲しかったから


FireFoxとかにはデフォルトでついてるよね
(はるか昔にちょっとだけ使ったのでもう知らない)


この機能はもともとChromeにも存在していて
あるバージョンの時に切り捨てられてしまった(だから不便だなぁとか思ってた)


結論から言うと、この機能を作るのは諦めた


というか、諦めざるを得なかった・・・


自分ができる範囲で調べたところ
この機能を実装したChrome拡張機能は過去にたくさん存在していた
でも、あるバージョンを境に動かなくなったという報告が多数挙げられているのを発見


また、確認ダイアログのメッセージがカスタムできなくなっていた
www.chromestatus.com


つまるとこ、確認ダイアログに関しては
完全にいじれないようになってしまったらしい


ちなみに昔は

window.onbeforeunload = function() {
    return 'このメッセージがダイアログに出る';
}
window.addEventListener('beforeunload', function(e) {
    e.returnValue = 'このメッセージがダイアログに出る';
})


とかでダイアログにメッセージが出てきてくれたらしい
調べたら大体上記のような感じのソースコードが出てくる


そして公式フォーラムでも
「ユーザーの手を止めないために、この機能をなくした」的な文章を発見


WTF


ちなみに、悪質な確認ダイアログの表示を消したかったらしいとの噂も


んで、一番の問題は

1.ページ内のリンクによるページ遷移
2.ページ内のボタンによるページ遷移
3.閉じるボタンによってページを落とす(?)(日本語力がない)

を区別する方法が思いつかなかった・・・
beforeunloadだとこのイベント全てに発火します


という訳で、次のネタ探しの旅に出ます・・・



【追記】
記事を更新した瞬間に友人から「まだ何とかなるっぽい」
みたいな話を受け取ったのでもう少しだけ調べてみる

Chrome拡張の作り方~準備編~

無職で暇なので(暴論)フロントの勉強がてら、Chrome拡張を作ってみたりしてるので
とりあえず書き残しておこうとか思った、みんな作ってみてね

とりあえず最低限

json
・html
css
・js

こいつらを同一フォルダにぶち込んでやるぜ!
設定 > その他のツール > 拡張機能 を開いて
「パッケージ化されていない拡張機能を読み込む…」でフォルダを選択してあげる


"manifest.json"はマニュアルみたいなもの、名前はこれ指定
最低限のことしか書いてないので、公式を参照にするとベネ
Manifest File Format - Google Chrome

/* manifest.json */

{  
    "manifest_version": 2,
    "name": "Chrome拡張の名前",
    "description": "Chrome拡張の説明",
    // Chrome拡張のバージョン(アップデートの度に更新必須)
    "version": "1.0",

    "browser_action":{
        // ツールバーに常駐するアイコンの読み込み(同一フォルダ内に入れておく)
        // 指定しないと拡張機能の名前の頭文字になる
        "default_icon":"icon.jpg",
        // ツールバーのアイコンをクリックするとポップアップ表示
        // そのための html
        "default_popup":"popup.html"
    },

    "content_scripts":[{
        // このページで動く(必要に応じて指定)
        "matches": ["https://*/*", "http://*/*"],
        // 使うjsを読み込む
        "js":["main.js"]
    }]
}

これはあくまでも一例なのであしからず
ポップアップの横幅を270pxで指定してるのはゴリ押し
本当は文字幅に合わせて余白とか取る方法あるからーーー

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <!-- CSSを読み込む -->
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div class = "ext_container">
            <style>
            .ext_container{
                width: 270px;
            }
            </style>
            <h1 class = "comment">ブラウザを閉じる前に<br>
                確認ダイアログを表示するchrome拡張だよ!</h1>
            <p>※ http, https のみ対応<br>
            何かあっても自己責任でお願いだよ(´・ω・`)<br>
            <br>
            制作者:denden_kata</p>
        </div>
    </body>
</html>


んで、さみしいのでCSSでちょっと飾って

/* style.css */

/* 見出し用 */
.comment { font-size: 13px; }
/* その他文章 */
p { font-size: 12px; }


ポップアップはこんなのになります

f:id:denden_kata:20170828190047p:plain


あとは"main.js"に拡張機能を実装して終わり(つらい)
onbeforeunloadの挙動がよくわからんちんしてる


金と職くれ

退職してから数ヶ月経った

国産の某大手メーカーを2月末に退職してから数ヶ月
ある意味貴重な経験だと思うので、いろいろと書き残すことにした

 

以下、退職に至った主な理由


負担の問題
自分は決して効率の良い方ではないが、それでも負担は大きかった
課の担当グループの人数があまりにも少なく、そもそも仕事が回っていない
自分は始業30分前に職場に着くようにしていたが
それよりも前に真っ暗なオフィスで働いている人がいる時点でもういかれていたのかもしれない

しかもその年いっぱいで僕の面倒を見てくれていた先輩が海外へ
他部署から異動してきた人だったが、とても仕事ができる人だった
課内の仕事マニュアルを作成していたのもこの人(というより今まで何もなかったのが恐ろしいが)
人として本当に尊敬していたし、この人が自分の担当をしてくれて本当に良かったと思う

 


時間の問題
持病の関係から、朝どうしても思い通りの時間に行けないこともあったため
就職の際にフレックス制度を使える企業を選んだが
実際は早朝に会議をセッティングされることがほとんどだったため、意味を成していなかった
後から知り合いを通じて知ったことだが、他の部署はガンガン使ってた

 


ソフトウェア採用だったのに全く違う部署に配属された
普通に考えて企業側がしてはいけないことだと思う
人事の採用担当のミスをこういったやり方でカバーするのは本当におかしい

本来の知識とは大きく外れたものを要求されたため、かなり苦しかった
英語を勉強しないのは仕事を放棄してるのと同じだとか言われたが、もう完全にやる気はなかった
海外拠点との会議やメールは現地の通訳を介さなければいけなかった為、情報に齟齬が生じていた

もちろんそんな環境では自分が本来得たかったスキルなどは一切なく
そんな自分に止めを刺すようにExcelVBAで便利ツールを作らされていた、ふざけんな

便利ツール作成はもちろん本来の業務外

 


課の半数以上が高齢で若手がいない
今後彼らが退職することを考えると負担が増えるばかりなのは容易に想像できる
毎年人員の補充を求めていたらしいが、一行に増える気配がなかったらしい

1/3くらいの人が本当に意味のある仕事をしているのか不明瞭だったし
人によっては席を離れたあとに長時行き先不明になる人もいた
その爺さんたちが定時前に机を全部片づけているのがうらやましくてしょうがなかった

若手はフレッシュだからとかいう文句に殺意を抱いていた

 


企業の目線
慢心という言葉がこれほどぴったり当てはまるとは、という感じ

完全に年功序列な感じだったので、大きい会議の場でふんぞり返ったり
若手をいびったりする風潮は本当によくなかった、もちろん理解のある人もいたが少数だった
(自分の課はその辺きちんとしてたが、周りには軍隊のようなところもあった)

大手なので採用人数も多く、今思えば研修はかなり雑だった
研修内容で役に立った内容はほとんどなかったのだけれど、そんなものなんだろうか

 


同期がクソ
就活が上手いやつが企業に入るんだなって感じた

 


そのほか
自分の配属された拠点の立地が悪い(残業するとバスの本数がなく、駅まで歩いて30~40分)
社内の売店が定時20分後に閉まる、周りにコンビニなし

 

 

終わりに
環境が変わると感覚が麻痺してしまうのは本当にあると思うし
働いている当時は全く気が付かなかったけどおかしいこともたくさんあった

狂ったアプローチに乗っけられて、それに慣れてしまったらダメになってしまうと思う

正直今の自分に全く自身は持てないし
今後転職した際にきちんと働けるのか死ぬほど疑問になる

本当に役に立つ人間になれるんだろうか・・・