タグ

ppp-labのブックマーク (784)

  • 【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita

    はじめに こんにちは、kenです。みなさんコンフリクト解消してますか! チーム開発をしているとコンフリクトとは嫌でも向き合うことになりますが、コンフリクト解消って緊張感のある作業なのでやりたくないですよね。 そんなコンフリクト解消をちょっぴり楽にする(かもしれない)コマンドを最近知ったので今回はそれを紹介します、その名もgit rerereです。 git rerereとは Gitの公式ドキュメント(日語版)には次のように記載されています。 git rerere コマンドはベールに包まれた機能といってもいいでしょう。これは “reuse recorded resolution” の略です。その名が示すとおり、このコマンドは、コンフリクトがどのように解消されたかを記録してくれます。 そして、同じコンフリクトに次に出くわしたときに、自動で解消してくれるのです。 ここに書かれているように、git

    【Git】同じコンフリクト解消を繰り返している人に教えたい「git rerere」 - Qiita
    ppp-lab
    ppp-lab 2024/07/14
  • シェーダー最適化入門 第1回目「条件分岐を使いこなせ」 - CORETECH ENGINEER BLOG

    はじめに こんにちは、サイバーエージェントゲームエンターテイメント事業部、SGEコア技術部(コアテク)のグラフィックスチームに所属している清原です。 コアテクのグラフィックスチームは、各子会社で利用されるグラフィックス関係の基盤の開発や、開発されているタイトルの描画系の不具合の調査や、パフォーマンスチューニングを日々行っています。 この記事では、シェーダー最適化入門として、基盤の開発や実際に開発されているスマートフォンアプリのパフォーマンスチューニングから得た知見を紹介していきます。 第一回目の連載記事として、何かと話題に上がるシェーダーでの条件分岐について取り上げます。「使ってはダメ」や「今のGPUなら使っても問題ない」など、様々な意見があるかと思いますが、この記事ではGPUの並列処理の仕組みを踏まえて、条件分岐の問題点とその対策についてお話ししていきます。 また、最後にはコアテクのグ

    シェーダー最適化入門 第1回目「条件分岐を使いこなせ」 - CORETECH ENGINEER BLOG
  • ゲームの振動は誰が、どのように作るべきか?――『FORSPOKEN』開発者やサウンドディレクターら4名が“現代の触覚デザイン”を徹底討論【SIG-AUDIO 2024 Vol.03レポート】|ゲームメーカーズ

    IGDA日のオーディオ専門部会、SIG-AUDIO主催によるセミナー「SIG-AUDIO 2024 Vol.03 オンラインセミナー「パネルディスカッション: ビデオゲームの振動デザインについて」が2024年3月8日(金)にオンラインで開催されました。 パネルディスカッションには第一線でゲームサウンド業務に関わる4名が参加。「良い振動とは何か?」から、アクセシビリティとしての振動、触覚としての振動、そして振動にまつわる知見やスケジュールの必要性が訴えられたセッションをレポートします。 TEXT / じーくどらむす EDIT / 神山 大輝 今回パネルディスカッションに参加したのは、CEDEC2023で「振動のフォーリー録音!? サウンド技術で振動攻略 ~音と振動はだいたい同じ~」講演を行った株式会社スクウェア・エニックス サウンドプログラマー 雄飛氏と、2023年に同社より発売され

    ゲームの振動は誰が、どのように作るべきか?――『FORSPOKEN』開発者やサウンドディレクターら4名が“現代の触覚デザイン”を徹底討論【SIG-AUDIO 2024 Vol.03レポート】|ゲームメーカーズ
  • グラフィックス知見倉庫一覧

    グラフィックス知見倉庫について グラフィックス知見倉庫という、表現機能や最適化などのグラフィックスの知見を、ジャンル別にスクラップにまとめる運用を開始しました。 目的 記事や聴講で得た知見を機能別にまとめ、今後の開発に活かしたり、最近の動向を追いやすくすることが目的です。 内容 スクラップにまとめる内容は「基的なアルゴリズムの解説の簡略まとめ」や「各ゲームで採用されている技術と採用理由」、「記事化するほど詳細な調査はおこなっていないが気になる手法」、「単純に好きなグラフィックス表現の紹介」などバラバラですが、すべて「今後のゲーム開発で採用するにはどういった表現を大事にするか」や「採用するためにはどういったことを考慮すべきか」ということが追いやすくなるように意識して書いていこうと考えています。 ジャンル分け 今のところ変なジャンル分けですが、筆者が得た知見から新しいジャンルがあれば作成する

    グラフィックス知見倉庫一覧
  • UnityでRenderTextureのコピーを爆速にしたい件 - Qiita

    こんにちは! 株式会社OGIXのエンジニアのR.Kです。 (弊社については最後に紹介があるのでぜひ見てください) はじめに 今回はタイトルの通りRenderTextureのコピーを爆速にしたいお話です。 UnityTextureを使って少し複雑な制作をしたことがある人であれば、 一度はこう思ったことがあるでしょう。 「うわっ…私のテクスチャコピー、遅すぎ…?」 私も最初にテクスチャをコピーする機能を作ってみたときはそう思いました。 今回はこの問題を掘り下げて、最終的に少し違う角度から解決してみたいと思います。 また、今回の方法ではTextureではなくRenderTextureに対して 高速にコピーを行えるアプローチを紹介しますのでお間違えの無いようお願いします。 2024/5/14追記分 ご指摘いただいた内容から、RenderTextureのみならず、 Texture型であれば問題ない

    UnityでRenderTextureのコピーを爆速にしたい件 - Qiita
  • Debug.Break()よりも強力に実行を一時停止する - Qiita

    概要 Windows上の Unity限定の話です。 Unity で開発中、デバッグのために実行を一時停止したいとき、いくつかの方法があります。 Debug.Break() : ゲームを一時停止した状態でシーン内のオブジェクトの状態を確認できるのでとても便利です。 欠点: 瞬時に実行が止まるわけではなく、次のフレームまで実行が進んでから停止します。 デバッガのブレークポイント : 止めたところで変数の内容をウォッチしたりステップ実行したりできます。 欠点: 事前にブレークポイントを置かないといけない。複雑な停止条件をつけたブレークポイントを置いても、うっかり「すべてのブレークポイントの削除」で消してしまう。 x86 CPU 上で C / C++ を使っているなら、 というアセンブリ命令 (3番割り込み) によってデバッガのブレークポイントと同じ効果を発生させることができます。これなら即座に実

    Debug.Break()よりも強力に実行を一時停止する - Qiita
  • Passkey Idiom - yohhoyの日記

    他クラスに対して “メンバ関数単位でのアクセス制限” を実現するイディオム。 template <class T> class Passkey { friend T; Passkey() {} }; class A; class B; class C { public: // クラスAに対してのみ公開 void mfA(Passkey<A>, int arg); // クラスBに対してのみ公開 void mfB(Passkey<B>, int arg); }; class A { public: void f(C& c) { c.mfA({}, 1); // OK c.mfB({}, 2); // NG } }; 上記コードでPasskeyコンストラクタを= defaultでユーザ宣言すると、C++17以前ではイディオムの意図通りに動作しない。コンストラクタのprivateアクセス制限を無

    Passkey Idiom - yohhoyの日記
    ppp-lab
    ppp-lab 2024/04/11
  • 『PSO2ニュージェネシス』における雪原の跡付け表現について - SEGA TECH Blog

    1.はじめに 株式会社セガ 第3事業部 第3オンライン研究開発プログラム1部の釘田と申します。 連日の寒さも徐々に明け、春の訪れを感じる頃合いです。 今年の冬は何度か弊社オフィスのある大崎でも雪が降りました。 私はこれまで雪のあまり降らない地域で過ごしてきたこともあり、 雪が積もるとつい童心に帰り、雪の上を歩きたくなります。 この雪の上で跡が付く様子ですが、ゲームではどのように表現されているでしょうか? 今回の記事では『ファンタシースターオンライン2 ニュージェネシス』における 雪原の跡付け表現について紹介したいと思います。 2.目次 1.はじめに 2.目次 3.前置き 4.フィールドでの雪原の跡付け表現 4.1.キャラクターの足跡表現 4.1.1.地形とキャラクターに対する深度撮影 4.1.2.軌跡テクスチャの作成 4.1.2.1.軌跡テクスチャのフィルタ処理 4.1.3.雪面の変形 5

    『PSO2ニュージェネシス』における雪原の跡付け表現について - SEGA TECH Blog
  • 【C#】SpanとMemory - Annulus Games

    今回の記事はC#のSpan<T>とMemory<T>について。 現代のC#ではパフォーマンス向上のためにSpanが用いられる機会が非常に多くなっています。.NETでも多くのAPIがSpan<T>を受け入れるようになってきており、パフォーマンスに気を遣ってコードを書く場面ではもはやSpanの活用は必須と言えます。 また、C#ではSpanとは別に似たような型としてMemory<T>も存在しています。こちらは利用する上での制約がSpanと比べて少なく、Spanの代替として主にasyncメソッド内で用いられることが多いです。 そこで今回は、Span<T>やMemory<T>の利用方法や使い分け、またMemory<T>を適切に扱うための指針やIMemoryOwner<T>による所有権の管理についてまでをまとめていきたいと思います。基的にはSpan<T>の利用のみで事足りますが、Memory<T>が

    ppp-lab
    ppp-lab 2024/04/06
  • 絵文字を支える技術について|nona

    はじめにこちらはmhidakaが建立したAdvent Calendar Day.3となります。 こんにちは、はじめまして、のなと申します。mhidakaさんのTweetを見つけて、初めてAdvent Calendarなるものを書いています。なにかお作法間違っていたら大目に見てください、よろしくお願いします。 軽く自己紹介をさせていただくと、普段はGoogleAndroidTextまわりの開発を行っており、DroidKaigiやShibuya APKで発表させていただいたりしています。最近はほぼ絵文字の話しかしてないので、絵文字おじさんと思われてそうですが、普段の仕事絵文字に限らず、Androidの文字表示の部分は大抵面倒をみています。 今回この機会をいただいたので、どんな内容を書こうか迷ったのですが、やはり皆が読んで面白い内容というと、絵文字になるのかなぁ、ということで性懲りもなく絵

    絵文字を支える技術について|nona
  • 検索エンジン最適化(SEO)スターター ガイド

    フィードバックを送信 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 検索エンジン最適化(SEO)スターター ガイド ウェブサイトの構築時には、ユーザーを念頭に置き、見つけやすく閲覧しやすいサイトになるよう工夫するのが普通です。検索エンジンもユーザーの一種ですが、コンテンツを見つけるためにユーザーの手助けをします。SEO(検索エンジン最適化)では、検索エンジンにコンテンツを理解させることで、ユーザーが検索エンジンからサイトを見つけてアクセスすべきかどうかを判断できるようにします。 検索の基事項では、ウェブサイトが Google 検索の表示対象となるために特に重要となる事項を説明しています。Google のインデックスに確実に登録される方法はありませんが、検索の基事項に沿って作成したサイトは Google の検索結果に表示されやすくなります。SEO とは

    検索エンジン最適化(SEO)スターター ガイド
  • 9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ

    私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar

    9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ
  • C++ overload pattern - オーバーロードパターン

    オーバーロードパターン 2 Lines Of Code and 3 C++17 Features - The overload Patternという記事を見つけて,初めてオーバーロードパターンという言葉を耳にしました. 気になったので調べてみると,stack overflowにあった質問では,良く知られたパターンとあります. しかし,日語で検索してみても通常のオーバーロードが引っ掛かるばかりで日語での記事は無さそうだったのでまとめてみました.もし日語では別の名前で普及しているよ,という話があれば教えていただけると幸いです.

    C++ overload pattern - オーバーロードパターン
  • Unityの最強シーン遷移管理フレームワーク『Navigathena』と画面管理の設計思想について解説

    はじめに Unityにおいて、シーンの遷移・管理は開発の中核的な役割を担います。それ故に、適切な設計なしで開発に踏み込むと、複雑で扱いづらいプロジェクトになるリスクが高まります。しかし、効果的なシーン管理の設計と実装をするには、それなりに時間と知識を要します。 この課題を解決するため、「高機能」「拡張性」「堅牢性」を念頭に設計・実装した画面管理フレームワークの 『Navigathena』 をオープンソースライブラリとして公開しました。 [GitHub - mackysoft/Navigathena] 記事では、Navigathenaの特徴や使い方を紹介しつつ、Unityにおけるシーン管理の設計について深掘っていきます。 シーン管理には何が必要か? 実際に、Unityでの開発を行う際、どのような機能や考慮点が必要となるでしょうか? これまでの経験や開発事例を踏まえると、大まかに以下のような

    Unityの最強シーン遷移管理フレームワーク『Navigathena』と画面管理の設計思想について解説
  • カプコン技研さんのプロフィール | ドクセル

    株式会社カプコンが誇るゲームエンジン「RE ENGINE」を開発している技術研究統括によるカプコン公式アカウントです。 これまでの技術カンファレンスなどで行った講演資料を公開しています。 【CAPCOM オープンカンファレンス プロフェッショナル RE:2023】 https://www.capcom-games.com/coc/2023/ 【CAPCOM オープンカンファレンス RE:2022】 https://www.capcom.co.jp/RE2022/ 【CAPCOM オープンカンファレンス RE:2019】 http://www.capcom.co.jp/RE2019/

    カプコン技研さんのプロフィール | ドクセル
  • 【C#】zero-byte reads という最適化とピン留めについて。 - ねののお庭。

    現代の .NET では "zero-byte reads" という最適化が随所で行われています。 この記事ではその "zero-byte reads" とはなんなのか、という事についてつらつら書いていこうと思います。 そしてそれに深く絡むピン留めのお話も。 どんな最適化か。 ピン留め手段と GC 負荷。 まとめ。 豆知識。 References どんな最適化か。 端的にいうと、Socket や Stream がネイティブとデータのやりとりする際に、managed heap に確保されているメモリを長時間にわたりピン留めしないようにするための最適化です。 どういう事か。 たとえば C# の Socket.ReceiveAsync は Windows 上では Win32 API の WSARecv をラップしたような形になっています。 C# の Socket.ReceiveAsync には M

    【C#】zero-byte reads という最適化とピン留めについて。 - ねののお庭。
  • フロム・ソフトウェアが語るデバッグメニュー最適化テクニック。ネットワークを活用し、ロード待ちが13秒→15ミリ秒以下に【CEDEC2023】

    国内最大規模のゲーム業界カンファレンス「CEDEC2023」が、2023年8月23日(水)から8月25日(金)までの日程で開催されました。初日となる8月23日には、フロム・ソフトウェア R&Dセクション チーフプログラマー 清水 俊宏氏が登壇。「ゲームの外から操作する柔軟なデバッグメニューシステム」と題する講演が行われました。 デバッグメニューの概要から、従来の自社デバッグメニューの問題点に対するアプローチまで解説された講演をレポートします。 TEXT / wvigler EDIT / 神谷 優斗

    フロム・ソフトウェアが語るデバッグメニュー最適化テクニック。ネットワークを活用し、ロード待ちが13秒→15ミリ秒以下に【CEDEC2023】
  • LIGHT11

    VContainerで動的に生成したGameObjectにDIする方法についてまとめました。 はじめに パターン1: Enemyを生成するクラス(Spawner)にDIする場合 パターン2: Spawnerを介しつつEnemyにDIしたい場合 パターン3: ファクトリメソッドをDIする場合 参考 続きを読む UnityUI Toolkitで、スクロール位置などビューに関わるデータを保存するView Dataを使う方法についてまとめました。 View Dataとは? View Dataの使い方 使ってみる 動作確認 参考 続きを読む .NETRoslynを使った構文解析とセマンティック解析をする方法についてまとめました。 はじめに セットアップ 構文解析 ノード・トークン・トリビア Nodeクラスの派生型 構文ウォーカー SyntaxTreeを可視化する セマンティック解析 セマンティッ

    LIGHT11
  • ねこじゃらシティ|ねこが住む小さな世界。

    2023年8月23日 【Unity】Input SystemのInteractive RebindingをUniTaskで実装する

    ねこじゃらシティ|ねこが住む小さな世界。
  • GBA版から『スカーレット・バイオレット』に至るまでの環境音の歴史に見る、“現実の生き物が存在しない”ポケモン世界のサウンドの作り方【CEDEC2023】

    国内最大規模のゲーム業界カンファレンス「CEDEC2023」が、2023年8月23日(水)から8月25日(金)までの日程で開催されました。2日目となる8月24日には、3名の登壇者による、「ポケモンの せかいを かけめぐる おと! おんきょうデザインで ひろがる ぼうけんの すがた!」と題した講演が行われました。 『ポケットモンスター(以降、ポケモンと表記)』シリーズで継承されてきた鳴き声を、よりリアルに再現するまでの道のりや、プレイによってシームレスに変わってゆく環境音などを解説した講演をレポートします。 TEXT / セレナーデ☆ゆうき EDIT / 酒井理恵

    GBA版から『スカーレット・バイオレット』に至るまでの環境音の歴史に見る、“現実の生き物が存在しない”ポケモン世界のサウンドの作り方【CEDEC2023】