tohu-soyのブックマーク (2,259)

  • あえて“苦痛”をデザインする––ゲームにおけるUXデザインの特異性を解説

    2019年3月20日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第16回となる今回のテーマは「ゲームに学ぶUXデザイン」。ユーリカ株式会社代表取締役社長の森山明宏氏が、「UXデザイン」の概要と、ゲームにおけるUXのデザインの特異性について語ります。後半パートとなる今回は、ゲーム特有の“苦痛”や”状況”、“キャラクター”のデザインと、それがプレイヤーにもたらすものについて解説しました。 苦痛をデザインする 森山明宏氏(以下、森山):ここまでが楽しさの話。ここからは苦痛をデザインする話です。「苦痛をデザインするって何?」とお考えの方が多いと思いますが、一般にスマホアプリやWebサービスの場合、苦痛というのは「使いづらさ」のことです。 普通、使いづらさの原因となるものはすべて排除さ

    あえて“苦痛”をデザインする––ゲームにおけるUXデザインの特異性を解説
    tohu-soy
    tohu-soy 2019/06/18
  • WebRTCの基本とP2P通信が成立するまでを学ぶ - Qiita

    はじめに 昨年新卒でSIer企業に入り、現在オンラインチャットアプリの開発に取り組んでいるのですが、 その過程でビデオチャットを取り扱う機会がありました。 WebRTCについての知識がないものでだいぶ苦戦したため、 一度WebRTCの基的な仕組みを理解して「とりあえず動く」を脱しようと思い色々調べてみました。 WebRTCって? WebRTCとは、Web Real-Time-Communicationのこと。 HTML5で新しく策定されたAPIの規格で、 P2P通信でブラウザ間のリアルタイムコミュニケーションを実現するための仕組みです。 WebRTCにおけるAPIは次の2つの仕様で策定されているそうです。 カメラ/デバイスへのアクセス Media Capture and Stream ビデオ/オーディオ/データ通信を行う WebRTC 1.0: Real-time Communicati

    WebRTCの基本とP2P通信が成立するまでを学ぶ - Qiita
    tohu-soy
    tohu-soy 2019/06/18
  • WebRTC研修

    WebRTCに関する基的な説明から、実装方法に関する研修テキストで、実際の研修ではスマホとPCをWebRTCで接続したビデオチャットの実習にチャレンジしますRead less

    WebRTC研修
    tohu-soy
    tohu-soy 2019/06/18
  • system-design-primer/README-ja.md at master · donnemartin/system-design-primer

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    system-design-primer/README-ja.md at master · donnemartin/system-design-primer
    tohu-soy
    tohu-soy 2019/06/18
  • 「誰のせいにもしない」文化が、組織の多様化と問題解決を進めていく──熊谷晋一郎×青野慶久 | サイボウズ式

    マネジメント 新しいチームのあり方を探求 就活 就活生必見!サイボウズの疑問 ティール組織 会社の「あたりまえ」が変わる 多様性 100人100通りの個性 ワークスタイル 働き方、生き方、もっと自由に 青野慶久 サイボウズ社長の想いと覚悟 キャリア 人生の「積み上げ方」を見直す 複業 複数の「業」をもつ働き方 人事制度 多様な働き方を支える仕組み マンガ サクッと手軽に読める!

    「誰のせいにもしない」文化が、組織の多様化と問題解決を進めていく──熊谷晋一郎×青野慶久 | サイボウズ式
    tohu-soy
    tohu-soy 2019/06/18
  • イエメン情勢

    こんにちは、皆さんが一切興味がないであろう話をします。 2014年から今にいたるまでイエメンではずっと内戦をしています。この内戦にはサウジアラビア、UAE、イランが関与しており、現在の中東情勢を理解するためにはこの内戦の概要を掴む必要があります。なのでその話をします。 イエメンでは以下の勢力が内戦をしています。すなわち フーシ派 自称はアンサール・アッラーですが一般にフーシ派と呼ばれていますので記事でも以後フーシ派としますシーア派を信奉する集団です。よって同じくシーア派が多数であるイランとの関係が深いハディ派 スンニ派勢力です主にサウジから支援を受けていますこちらを正統政府と見做すメディアもありますです。大まかにいって国土の北西地帯をフーシ派が、南部と東部をハディ派が支配しています。イエメンは部族社会という色が濃く、各部族はそれぞれに思惑をもって活動しており、フーシ派にもハディ派にも属さな

    イエメン情勢
    tohu-soy
    tohu-soy 2019/06/18
  • Push技術 - Wikipedia

    Push技術あるいはserver pushはインターネット上での通信方法の一つであり、ある通信リクエストが送り手側(中央サーバ)により開始されるものを指す。これはPull技術と対比され、こちらは通信のリクエストはクライアントにより開始される。 Pushサービスはクライアントが事前に登録した情報に基づいて行われることが多い。これは出版-購読型モデルと呼ばれる。サーバー側が提供する様々な情報の「チャンネル」にクライアントが「登録」しておき、これらのチャンネルの内の一つに新しい情報が入れば常にサーバはその情報をクライアントにプッシュ通知する。 ポーリング技術を用いて擬似的なプッシュを実現する場合もある。特に、当のプッシュが不可能な状況下(たとえば入ってくるHTTP/Sリクエストを拒否すること要求するセキュリティポリシーをもつサイトなど)ではそうせざるをえない。 同期通信やインスタントメッセージ

    tohu-soy
    tohu-soy 2019/06/18
  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
    tohu-soy
    tohu-soy 2019/06/18
  • gRPCを使ってPairsのchatを高速にしたお話 – Eureka Engineering – Medium

    最近はdatadogという監視とヴィジュアライズが得意な便利なお犬様と戯れるのを趣味にして、メトリクスと監視項目と向き合っている日々です。 どうせなら犬じゃなくてなら、なお良かったのですが 😺 さて今回は、pairsのchat機能にgRPCの双方向ストリーミングを利用して 速度を改善したお話をしようと思います。 解決したかった事 現状のpairsのメッセージ交換は定期ポーリング(数秒間隔)+Push通知をトリガーにしたMySQLDatabaseからのFetchで実現していたので、メッセージが実際にユーザーに届くのに遅延が大きい/外部のPush通知サービスの遅延の影響をそのまま受けるという課題がありました。 恋は秒単位で冷めてしまう物なので、メッセージはできるだけ早く届けなければいけません。そういった意味でこの速度改善は人類にとってプラスという事にもなります。(たぶん why gRPC?

    gRPCを使ってPairsのchatを高速にしたお話 – Eureka Engineering – Medium
    tohu-soy
    tohu-soy 2019/06/18
  • socket.io が提供してくれているものは何か - from scratch

    現在開発中のシステムにリアルタイムな処理があり、そこで socket.io を使おうかなと思ってて、そういう折にタイムリーにもこの辺りの記事がタイムラインで出てきたのでメモ代わりに自分の意見を残しておく。 blog.jxck.io qiita.com socket.io が提供してくれているもの 「ブラウザとサーバ間のプロトコル」という観点で見ると socket.io は WebSocket を基として繋がらなかった時に XHR Long Polling や polling といった形式の代替手段を提供してくれるもの、という位置づけ。 一方で「ライブラリ」という観点で見ると socket.io はリアルタイムアプリケーションを作る際に必要になる処理をまとめて実装し、クライアントとサーバ間での EventEmitter として抽象化してくれているもの、という風になる。 もう少し噛み砕いて言

    socket.io が提供してくれているものは何か - from scratch
    tohu-soy
    tohu-soy 2019/06/18
  • How does any MMO Games backend work? - Narendra L - Medium

    tohu-soy
    tohu-soy 2019/06/18
  • オンラインゲームの仕組みと工夫

    オンラインゲームの仕組みや工夫を調べてみたのを社内勉強会で発表した。ときのスライド。の公開用。 オンラインゲームの種別とそれぞれの仕組みについての話と、オープンソースになっているQuakeの仕組みの話、という2つの話が主なトピックRead less

    オンラインゲームの仕組みと工夫
    tohu-soy
    tohu-soy 2019/06/18
  • Dockerizeを使って他のコンテナの起動を待つ - Qiita

    はじめに この記事は「学生 Advent Calendar 2017」7日目(大遅刻)の記事です。 docker-composeのlinksやdepends_onを使えば、コンテナの起動順を制御することはできます。しかし、他のコンテナの起動を待つことはできません。 例えばデータベースを利用するアプリのコンテナとデータベースのコンテナがあったときに、データベースが起動していないにもかかわらずデータベースを利用するコンテナがデータベースに接続しようとして、例外を吐いて落ちてしまうことがあります。 そこで今回はDockerizeを用いて、他のコンテナの起動を待つことができるように設計する方法を紹介します。 Dockerfile側の準備 Dockerizeはコンテナ内に導入するツールです。従って、Dockerfileにdockerize導入コマンドを追記していきます。Ubuntu(Alpine以外

    Dockerizeを使って他のコンテナの起動を待つ - Qiita
    tohu-soy
    tohu-soy 2019/06/18
  • Object.values() - JavaScript | MDN

    const obj = { foo: "bar", baz: 42 }; console.log(Object.values(obj)); // ['bar', 42] // 配列風オブジェクト const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" }; console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c'] // ランダムなキー順序を持つ配列風オブジェクト // 数値のキーを使用すると、値はキーの番号順に返される const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" }; console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a'] // 列挙可能でないプロパティ getFoo

    Object.values() - JavaScript | MDN
    tohu-soy
    tohu-soy 2019/06/18
  • arc() メソッド - Canvasリファレンス - HTML5.JP

    構文 context . arc(x, y, radius, startAngle, endAngle, anticlockwise) サブパスにいくつかの地点を追加します。それらの地点は、引数によって描かれる円周によって描かれる円弧が、指定の開始角度ではじまり、指定の終了角度で終わり、指定の方向に行き、パスに加えられます。そして、直線で直前の地点に接続されます。 指定の半径が負数なら、INDEX_SIZE_ERR を投げます。 仕様 arc(x, y, radius, startAngle, endAngle, anticlockwise) メソッドは、円弧を描きます。コンテキストにサブパスがあれば、このメソッドは、サブパスの最終地点から円弧の開始地点まで直線を引きます。いずれにせよ、円弧の開始地点と円弧の終了地点の間に円弧を描きます。そして、サブパスに円弧の開始地点と終了地点を加えます

    tohu-soy
    tohu-soy 2019/06/18
  • DOM Keyboardイベントで押されたキーを判別するにはkeyプロパティを使う - Qiita

    エンターキー押下に反応するインタラクションを作りたいときなど、押されたキーを検出する話です。 入力文字列を検出する時はinputイベントを使います。 keyプロパティが推奨 keyプロパティがあります。 window.document.onkeydown = function(event){ if (event.key === 'Enter') console.log('hello Enter') } 詳しい仕様は以下を見てください。 DOM3 Eventsのキーイベント - JavaScriptで遊ぶよ - g:javascript UI Events (formerly DOM Level 3 Events) 主要なブラウザでサポート KeyboardEvent.key - Web APIs | MDN によるとと、2017/8/14日時点で Chrome Edge Firefox (

    DOM Keyboardイベントで押されたキーを判別するにはkeyプロパティを使う - Qiita
    tohu-soy
    tohu-soy 2019/06/18
  • HTTP/2における双方向通信とgRPCとこれから - Qiita

    この記事は 第2のドワンゴ Advent Calendar 2017 最終日の記事です。 はじめに ウェブ技術を語る上で欠かすことのできない要素として、HTTPがある。 従来のHTTP/1を無くして、ここまでのウェブの発展はなかったといえるだろう。言うまでもなく、HTTP/1が我々人類に齎した功績は大きい。 しかしその一方で、その規格のシンプルな原理原則に縛られた結果、要件を達成するために非効率なネットワーク使用を前提とするシステムが量産されるなど、HTTP/1がもたらした技術的負債も存在する。 その中の一分野として、双方向通信に着目したときに、HTTP/1からHTTP/2へのアップグレードによってどのような変化がもたらされたか。 稿ではHTTP/2という規格と、それが持つ可能性の一端としてgRPCについての仕組みを紹介し、従来とこれからのWeb開発における双方向通信について述懐する。

    HTTP/2における双方向通信とgRPCとこれから - Qiita
    tohu-soy
    tohu-soy 2019/06/17
  • 実践イカパケット解析

    実践イカパケット解析!!! 巷で話題のあのイカパケットを解析してみた話 a.k.a. PacketoonRead less

    実践イカパケット解析
    tohu-soy
    tohu-soy 2019/06/17
  • スプラトゥーン2のオンライン環境は前作より悪化している  AN IN-DEPTH LOOK AT ONLINE MULTIPLAYER IN SPLATOON 2 日本語要約 - YONの土鳩ブログ

    スプラトゥーン2を買ってから主に鮭、時々ガチマで楽しんでいる私だが、先日Twitterにてこのようなツイートを発見し、詳細を調べる内に引用元の記事を発見した。こちらはスプラトゥーン2のオンライン対戦の仕様と、それを理解するための前提知識を非常に詳しく解説した有用な記事である。この記事では、その記事を要約した日語訳を記載する。 http://archive.today/Rgbht (魚拓版) こちらの記事はCreative Commons Attribution 4.0 International Licenseに則って書かれており、この翻訳記事もこれに従う。 前述のクリエイティブコモンズライセンスに従い、改変を加えた点を示す。原文の翻訳、要約に際し、改変を加えた点は以下の通りである。 一部を除き、箇条書きによる要約を行っている。また中略や原文から記載箇所を変えた記述(後述)、厳密な和訳よ

    スプラトゥーン2のオンライン環境は前作より悪化している  AN IN-DEPTH LOOK AT ONLINE MULTIPLAYER IN SPLATOON 2 日本語要約 - YONの土鳩ブログ
    tohu-soy
    tohu-soy 2019/06/17
  • マルチプレイヤーゲームの Client-Server 勉強ノート

    Web 上の記事 [2017-10] How netcode works, and what makes ‘good’ netcode | PC Gamer 通信の基礎知識やネットワークモデル、ラグ補正などについて解説されている。最初に読みたい系 ping, Routing, Update rate, Tick rate Dedicate game server / Client hosted (listen server) / Peer-to-peer クラウド上のゲームインフラの概要 | ソリューション | Google Cloud GCP の記事 [2018-10] How does any MMO Games backend work? – Narendra L – Medium 読み物系 / Client サイド予測や、PUBG の様な広いエリアの扱いなど [2010-09] C

    マルチプレイヤーゲームの Client-Server 勉強ノート
    tohu-soy
    tohu-soy 2019/06/17