タグ

ブックマーク / techblog.kayac.com (46)

  • AWSアカウントを取り違えないための試み - KAYAC Engineers' Blog

    SREチームの長田です。 皆さんは操作するAWSアカウントを取り違えたことはありますか? 私はあります。 カヤックのSREは複数のプロダクトを担当することも多く、 ひとつのプロダクトでも環境(番、ステージング、開発、etc.)ごとにAWSアカウントを分ける場合があり、 扱わなければならないAWSアカウントが多くなる傾向にあります *1。 今回はうっかり別のアカウントのリソースを削除してしまったーといったオペレーションミスを減らすために個人的に行っている、 「気をつける」以外の対策を紹介します。 間違いに気づくための対策 対象のアカウントが操作の対象として正しいかどうかは、結局は操作している人にしか分かりません *2。 そのため、「アカウント取り違え自体をなくす」のではなく、 「アカウントを取り違えていることに気づきやすくする」ための対策をしています。 AWSコンソール用の対策 AWS

    AWSアカウントを取り違えないための試み - KAYAC Engineers' Blog
  • ゲームプログラミング研修 - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

    ゲームプログラミング研修 - KAYAC Engineers' Blog
  • エンジニア in ハイパーカジュアル - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 今回は、ハイパーカジュアルというジャンルにおけるエンジニア、 というテーマで書きます。 勉強会でしゃべった動画がありますので、そちらを見て頂いても良いかと思います。 外に出すということで、普段よりも多少丁寧にしゃべっております。 前置き 平山が作った製品群 これらは2022年あたりから現在にかけて、平山が自分で企画、実装した製品です。 これらのうち、利益を出せた製品は2つあります。 黒字製品 Draw Saber(Android iOS) Mannequin Downhill(Android iOS) の2つで、順に2800万、2100万ダウンロードです。加えて、いい線まで行ったものの、利益を出すに至らなかった製品が一つあります。 赤字だったTitanShoot Titan Shoot(Android iOS) こちらは210万ダウンロードと、うまく行ったもの

    エンジニア in ハイパーカジュアル - KAYAC Engineers' Blog
  • モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023の19日目の記事です。 こんにちは。カヤックアキバスタジオの須藤崇浩(@p_chin)と申します。 記事では私のログに対する考えと、実際にどの様なログを出して、どの様に役立ててるかを紹介します。 また、記事内ではUnity製のモバイルゲームでの事例に限定して話をします。(モバイル以外のクライアントアプリにも応用可能だと思いますが) おそらく周りでも同じ様な事をやっていそうですが、開発の参考になれば幸いです。 私のログを出す際の考え方 具体的にどんな場合にログを出して役立てているのか?の例 実際に出しているログファイルについて紹介 エラーリスト ログ出力時の機種 / アプリ特有の状態リスト 全てのログを含めたもの 以前に起動した時のエラーリスト ログ出力時にメモリに載っているリソースリスト ログ出力時の画面

    モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog
  • ITS健保制覇攻略ーー補助がこんなにお得なのに意外と使われていない件 - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023 の17日目の記事です。 はじめに こんにちは、今年のITS健保、ライブなどの抽選でどれも当選しなかった魏と申します。 ITS健保(関東ITソフトウェア健康保険組合)には様々なお得の施策がありますが、他の社員に聞いたら意外と知られていないのが多いようです。それを機に今回の記事でいくつかを軽く紹介します。 はじめに 保養施設 一番お得な「直営・通年・夏季・冬季保養施設」 抽選申込 空き照会申込 5000円/泊の補助がもらえる「契約保養施設」 ITS旅行センター契約保養施設 ラフォーレ倶楽部 10000円補助がもらえる「ITS旅行パック」 その他 健歩大会 利用料金が半分になる「スポーツクラブ」 さらにお得の小技 最後に 保養施設 保養施設 ITS健保で利用できる保養施設は6種類ありますが、メインの3つだけ紹介

    ITS健保制覇攻略ーー補助がこんなにお得なのに意外と使われていない件 - KAYAC engineers' blog
  • TextMesh Proで絵文字を出す - KAYAC engineers' blog

    このエントリは【カヤック】面白法人グループ Advent Calendar 2023の16日目の記事です。 はじめに こんにちは。中山と申します。 UnityTextMesh Proで絵文字を出す方法と、実装時に躓いた部分について紹介します。 TextMesh Pro標準の機能で絵文字を出す方法 Sprite AssetのSprite Character Tableという項目で画像とコードポイントを紐づけておくと、単体のコードポイントで表される絵文字を表示できるようになります。 ✋(U+270B)のような16bitに収まるコードポイントの絵文字はもちろん、🙏(U+1F64F)のようなサロゲートペアで表現される絵文字も表示してくれます。 こんな感じでSprite Character Tableでコードポイント(Unicode: 0x1F64Fの部分)と画像を紐づけると、絵文字を表示できる

    TextMesh Proで絵文字を出す - KAYAC engineers' blog
  • ゲームにおけるA/Bテストについて - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 今回は、ゲームにおけるA/Bテスト について論じます。 「論じます」で始めたことで察しがつくかとも思いますが、今回はブログではありません。 媒体はブログですが、ブログの容量ではない代物になっております。3.5万字(115KB)超えです。 ゲームにおけるA/Bテストについて、実施の方法や問題点、 倫理的側面に至るまで幅広く書き連ねてみました。 読んで欲しいのはどちらかと言えば同僚なのですが、 そういう時にはまず社外に出してしまった方が良いものですので、 ブログにしてしまいます。 比較的同業の方が読むことを想定しているため、 図表を用いてわかりやすくすることはしておりません。 これを書いた人間は何者か 技術的な問題の前に ゲームにおいても構図は全く同じ A/Bテストが可能である条件 A/Bテストの手続きを概観する 振り分け アプリ内振り分けの場合 Firebase

    ゲームにおけるA/Bテストについて - KAYAC Engineers' Blog
  • TextMeshProのOutlineを使ってみた - KAYAC Engineers' Blog

    こんにちは。カヤックアキバスタジオでエンジニアをやっている臼井です。 この記事は 面白法人グループ Advent Calendar 2022 の25日目の記事です。 クリスマス、みなさまいかがお過ごしでしょうか? 今年も残り後わずか、あっという間にAdvent Calendar最終日!!! 最終日はTextMeshProを最近になって、ようやく使い始めたのでそのお話をしようと思います。 はじめに テキストを表示するとき、アウトラインを使うことってよくありますよね。 UGUITextコンポーネントを使う際は、Outlineコンポーネントをアタッチするとアウトライン表示ができます。 簡単、お手軽、便利ですね。 TextMeshProの場合、Outlineコンポーネントをアタッチしてもアウトライン表示がされませんでした。 なぜ?となりながら色々と試してみた内容を備忘録的に紹介していこうと思いま

    TextMeshProのOutlineを使ってみた - KAYAC Engineers' Blog
  • Webサービスの急激なアクセス数増加を予測して対処する方法と実践 - KAYAC Engineers' Blog

    どうも、ゲームコミュニティ事業部Tonamelのサーバサイド担当の谷脇です。 今回はTonamelのサービス特性上、どうしても発生する急激なアクセス数の増加(以下スパイクアクセス)をどのように対処しているかをお話します。 Tonamelのサービス内容については以前の記事に書いています。一言でいうと「誰でもeスポーツ大会の運営ができるサービス」です。 Tonamelの特徴 大会が開始したときに発生するスパイクアクセス スパイクアクセスの様子 上記は、あるゲーム大会が大会を開始した10:40ごろのリクエスト数の遷移です。Tonamelは大会の開始と同時にトーナメント表が公開されます。大会に参加している人はもちろん、観戦を行っている人もトーナメント表を見に来ます。観戦する人の同期としては、知人や推しの選手のトーナメント表上での位置や、相手を確認しに来ているようです。 Tonamelに限らず、We

    Webサービスの急激なアクセス数増加を予測して対処する方法と実践 - KAYAC Engineers' Blog
  • EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog

    SREチームの長田です。 今回はカヤックで運用している「まちのコイン」というプロダクトのアプリケーション基盤を Amazon EKS(以下EKS)からAmazon ECS(以下ECS)に移行したはなしをします。 まちのコインとは coin.machino.co www.kayac.com まちのコインはカヤックが運営している、デジタル地域通貨を使ってその地域のコミュニティを活性化させるサービスです。 2019年11月から実証実験を開始し、翌年2月から正式リリースされました。 2022年9月現在、20の地域に導入されています。 一般ユーザーが使用するクライアントアプリと、導入地域の運営団体が使用するブラウザ用の管理画面、 それらにAPIを提供するRailsサーバーアプリがあります。 データベースはAmazon Aurora PostgreSQL、 その他AWSのマネージドサービスを組み合わせ

    EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog
  • ecrm - Amazon ECRから不要イメージを安全に削除するOSSを作った - KAYAC engineers' blog

    SREチームの藤原です。今回は、AWSのコンテナレジストリであるAmazon ECRから、不要になったコンテナイメージを安全に削除するツールをOSSとして作った話です。 Amazon ECRのライフサイクルポリシーでは、設定によっては実際に利用中のイメージを削除してしまうことがあります 現在利用中のイメージを避けて、それ以外の不要なイメージを安全に削除できるCLIツールをOSSとして作成しました Amazon ECSとECRでのイメージ運用 カヤックでは、コンテナのオーケストレーションにAmazon ECSを主に使用しています。ECSにタスクをデプロイする場合は、イメージのタグにアプリケーションのGitリポジトリのコミットハッシュ(git log -1 --format=%Hで計算した値)を付与してAmazon ECRにpushし、タスク定義ではそのタグを含めたURLを指定しています。 例

    ecrm - Amazon ECRから不要イメージを安全に削除するOSSを作った - KAYAC engineers' blog
  • Unityで画素密度を固定する解像度設定(FixedDPI) - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 今回は小ネタで、サンプルもありません。ビルドの解像度設定についてです。 スクリーンショットにあるように、PlayerSettingsのResolution and Presentation の項に、Resolution Scalingというものがあり、 Resolution Scaling ModeをデフォルトのDisabledからFixed DPIに 設定することができます( Androidマニュアル、 iOSマニュアル )。 これは、画素(ピクセル)の密度が同じになるように、機種によって解像度を自動で変える、という設定です。 上の画像では326dpi(dot per inch。1インチあたりの画素数)になっており、 これはiPhone4あたりからの伝統的な値です。 iPhone6Plusのような上位機種を除けば、だいたいこの密度になっています。 実際どうな

    Unityで画素密度を固定する解像度設定(FixedDPI) - KAYAC Engineers' Blog
  • SREチームでポストモーテムを1年半運用してみた - KAYAC Engineers' Blog

    SREチームの藤原です。今回は、SREチームが主導してポストモーテムを書く取り組みを、社内で1年半ほど運用してみたという話です。 ポストモーテムとは? 「ポストモーテム」(postmortem=事後検証)とは、システムにインシデントが発生したことによる影響、緩和や解決のために取られた行動、インシデントの原因、再発防止策などをまとめた文書です。 カヤックのSREチームは、各メンバーがそれぞれのプロダクトに参加し、他のエンジニアとともに開発と運用を行う、いわゆる「Embedded SRE」という形態を取っています。そのため、SREチームのメンバーでも自分が関わっていないプロダクトで発生したインシデントについては詳しく把握できないことがありました。SRE以外で運用に携わっている、プロダクト専任のサーバーサイドエンジニアにはなおさら困難でした。 また、インシデント発生時に実際に手を動かす人がどうし

    SREチームでポストモーテムを1年半運用してみた - KAYAC Engineers' Blog
  • 7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog

    この記事は Tech KAYAC Advent Calendar 2021 の20日目の記事です。 こんにちは、バックエンドエンジニアの @commojun です。今年のTech KAYAC Advent Calendarは3度めの参戦です!よろしくお願いいたします! 日の記事は、昨年の記事の続きで、Amazon EC2のプロダクトをAmazon ECS構成へと乗り換えた話になります! techblog.kayac.com 目次 目次 背景 Amazon Linuxのサポート終了 ついでにPerlのバージョンもあげた 苦労したポイント 1,デプロイ方法がめっちゃ変わる デプロイのために都度コンテナイメージを焼く 2階建て作戦 2,batchサーバどうするの問題 sqsjfr + SQS + sqsjkr 作戦 3,泥臭い戦い ecspressoの存在 非エンジニアにもわかってもらおう 「

    7年続いたサービスをEC2構成からECS構成へ乗り換えた話 - KAYAC engineers' blog
  • LIDARではじめる、ギラギラAR - KAYAC Engineers' Blog

    この記事はTech KAYAC Advent Calendar 2020の19日目の記事です。 こんにちは。CL技術部の藤澤覚司です。 普段はUnityを使ったAR開発などを行っています。前回の記事では、可愛いキツネさんがsoft particleの中を走り回っていましたね。コンコン。 最近サイバーパンク2077が発売されましたね。職場の人間はみんなサイバーでパンクな物が大好きなので、僕もすぐ買いに行きました。 www.spike-chunsoft.co.jp サイバーパンク2077をプレイしていて感じましたが、やっぱりギラギラしているサイバーな街並みを見ていると、テンションが上がってきますね。僕の代わり映えしない日常もギラギラと発光していたらいいのに。だから僕はhololiveを見るための板になっていたiPadをおもむろに取り出しました。 作りたかったもの ARKit3.5から新しく追加

    LIDARではじめる、ギラギラAR - KAYAC Engineers' Blog
  • たった一言でエンジニアを怒らせる方法 10 おまけ付き - KAYAC Engineers' Blog

    この記事は、Tech KAYAC Advent Calendar 2020 の17日目の記事になります。 こんにちは。はじめまして。クライアントワーク事業部でコピーライターをしている合田ピエール陽太郎と申します。 www.kayac.com コピーライターとは 普段は、広告を見る人に向けて、どんな言葉を言えば振り向いてくれるか、商品を手に取ってもらえるかを考え続けて全精力を捧げている人間です。いわゆる短い言葉で、人を惹きつけるにはどうすればいいかを常日頃から考えています。たとえば、YouTubeの『好きなことで生きていく』、日産の『やっちゃえ日産』などは一度は目にしたことがあるのではないでしょうか。そういった言葉をディレクターから依頼されて考えることが多いです。 書こうと思ったきっかけ 僕がこれまで数社を渡り歩いてきた中でエンジニアと他の職能の人とが言葉のやりとりで上手くいかずに憤慨してい

    たった一言でエンジニアを怒らせる方法 10 おまけ付き - KAYAC Engineers' Blog
  • お気楽にジャギーを減らす全画面アンチエイリアス - KAYAC Engineers' Blog

    画像をクリックするとサンプルのwebgl実装に飛びます(safariはダメみたいです)。 こんにちは。技術部平山です。 今回は、Unityで使えるアンチエイリアス手法について調べて整理してみました。 ここで言う「アンチエイリアス」は、画面に出るギザギザ(英語でjaggy。ジャギー)を目立たなくする処理のことです。 結論 まず結論です。 ForwardレンダリングであればMSAAのx2はアリ x4は劇的に性能が落ちる機械があるので危険度が高そう Deferredレンダリングだったり、描画面積が大きい場合にはFXAAが理論上良いが、無料で使えるこの実装は何故か手持ちのAndroidで動かなかった。 出る絵の比較 では、アンチエイリアスの効果を画像で見てみましょう。 黒い背景に、赤い球を描いた時の輪郭の一部を拡大したものです。 順に、なし、MSAAx2、MSAAx4、FXAAの効果を示しています

    お気楽にジャギーを減らす全画面アンチエイリアス - KAYAC Engineers' Blog
  • 誰も置いていかないシェーダーはじめの一歩 - KAYAC Engineers' Blog

    この記事はTech KAYAC Advent Calendar 2019の10日目の記事です。 こんにちは! jsdo.itCreativeCodingの世界を知り、jsdo.itに惚れて入社を決め、jsdo.itの譲渡とともに入社し、jsdo.itの終了とともに退職した有給消化期間中の浅利(@kasari39)です! 今回はシェーダーの世界へ一歩踏み出してみませんか?という内容です。 *1 シェーダーコーディングの世界 作品例として手前味噌ですが、このような映像をシェーダーのみで生成できます。 http://glslsandbox.com/e#59292.1 http://glslsandbox.com/e#59293.0 これらは100行にも満たないシェーダーから生成されています。 こんな短いのにこんな豪華な見た目が出るなんて面白いですよね。 それでは一歩踏み出してみましょう! 開発

    誰も置いていかないシェーダーはじめの一歩 - KAYAC Engineers' Blog
  • 運用中プロジェクトをUnity2017からUnity2018にUpgradeした時の話 - KAYAC Engineers' Blog

    表題の通り、Unity2017.4→2018.4にアップデートした時のハマった点や、普段アップデートする時に意識してる事などを紹介できればなといった感じです。 Unityのアップデート作業を初めてやる方や、あと来年2017から2018へ移行する稀有な運命の方がググった時に何か参考になれば幸いです。 ちなみにバージョンを上げる事になった経緯としてはAndroidの64bit対応がUnity5を除くバージョンの場合は8月までに対応必須だったからです。 ゲーム事業部、技術部所属の須藤(@p_chin)です! この記事はTech KAYAC Advent Calendar 2019 Migration Trackの23日目の記事となります。 大まかな作業段取り Unityバージョンの選定 基運用中タイトルなので最新のメジャーバージョンにてLTSリリースである4のマイナーバージョンあたりが出てる場

    運用中プロジェクトをUnity2017からUnity2018にUpgradeした時の話 - KAYAC Engineers' Blog
  • 低価格スマホでコンピュートシェーダ - KAYAC Engineers' Blog

    この記事はTech KAYAC Advent Calendar 2019の2日目の記事です。 こんにちは。技術部平山です。 この記事では、「低価格帯の機械で状況を良くするためにコンピュートシェーダが使えないか?」 という考えを、簡単なサンプルで検証してみました。 結論 最初に結論を申し上げます。微妙。 まず数字を出しましょう。数字はあるテストでのフレームレート(fps, frames per second)です。 データサイズ CPU ComputeShader 1024 52 55 2048 15 17 4096 4 5 CPUからComputeShaderにすると、非常に負荷が大きい局面では25%くらい速くなるかな?というくらいです。 負荷が低い局面では差が小さくなってしまいます。 測定に用いた機械は、SharpのAndroid One S3、 チップはmsm8937(Snapdrag

    低価格スマホでコンピュートシェーダ - KAYAC Engineers' Blog