CEDEC 2024『ゲーム開発者のための C++17~C++23, 近年の C++ 規格策定の動向』
皆さん、こんにちは。VALORANTのゲームシステム開発チームでソフトウェアエンジニアをしているKevin Leeです。ゲームシステム開発チームは移動や戦闘、入力など、VALORANTのゲームプレイの核となる多くのシステムの開発を担当しています。この投稿では、FPSのゲームプレイにおける中心的システムのひとつである、当たり判定について説明します。 VALORANTのように1発のヘッドショットが勝負の明暗を決めるようなゲームでは、当たり判定はとても重要なシステムとなります。私たちの開発者としての目標は、プレイヤーが銃を撃った際にその結果が明白で、違和感がなく、何よりも正確であるようにすることです。 しかし現実には、当たり判定がおかしいと思われる動画を添えたメッセージを受け取ったり、投稿を見かけることもあります。私たちはこれらの報告をすべて深刻に受け止め、各動画を1フレームずつ確認して、システ
Introduction Unreal Engine ユーザーたるもの、Blueprint は日々活用されていることでしょう。そういった皆々様方は、かつてBlueprint に入門されたことかと思いますが、Blueprint の裏側を覗きに行く機会はあまりないかもしれません。 Unreal Engine に搭載されたスクリプティング言語としての Blueprint が、はたしてどのような形で記述され、誰によって実行され、どうやって C++ と連携しているのか? そんな裏側について掘り下げ、「Blueprint に入門」してみるのが本記事です。 使えなさそうで、意外と実用できる場面もある知識だったりしますので、興味のある方はぜひ読んでみてください。「そんなこととっくに知ってるぜ」というパワー系の皆さんは、本記事の粗を探してつついてくれると大変助かります。 目次 前提 検証環境 対象読者 記述
『トゥームレイダー』シリーズや直近では『Marvel's Guardians of the Galaxy』などを開発したアイドス・モントリオールの代表、デイビッド・アンフォッシ氏がビデオ出演で明かしたのは同スタジオの働き方改革について。 同スタジオと姉妹スタジオのアイドス・シャーブルックは昨年、週休3日の週4日勤務制(週あたり32時間勤務)を導入することを公式に発表している。その目的は、過酷な開発業務での燃え尽きをできるだけ低減し、持続可能な勤務体制を構築することだ。 しかし、コロナ禍での開発は簡単ではない。リモートワークへの移行にあたってアイドスでも他社同様、コミュニケーション手段の分散やプライベートと仕事の境目が曖昧になったことなどにより生産性の低下や離職率の増加が見られたそう。しかしアンフォッシ氏は「大きな変化をもたらすのはいつがいいのか? 私達にとっては今です。パンデミックの最中だ
よく、仕様書を書いていなくて、書いてみたいけど、具体的な仕様書がネット上に落ちてなくってこまってるって相談を受けるので 「仕様書の記載内容のイメージ」を作りました! ※前提として「現在仕様書を書いていない、自社開発のMVP検証前後のフェーズのスタートアップ向け」に書いています。PMが仕様書、エンジニアがDesign Docを書く分担です。 ついでに、システム開発の基礎である「システム開発のV字モデルをベースにした設計書の紹介」も含めてまとめてみましたー! 大規模開発に使われたり、古くからあるフレームワークなので、スタートアップの方だと、システム開発のV字モデルの概念やそれにあわせた成果物を知らない人が多いけど、「要件定義書」と「設計書」を全てドキュメント化するとどうなるかを理解した上で、「仕様書」として情報を削る方が、考慮漏れ防止やエンジニアがやっている設計内容の理解につながるので、全体を
original: The Product Management Triangle (by Dan Schmidt) (translated by ninjinkun, reviewed by Kosuke) はじめに プロダクトマネジメントは多くのソフトウェア企業が重要だと認識している役割だ。それにもかかわらず、「プロダクトマネジメント」を正確な言葉で定義することは驚くほど難しい。自らを「プロダクトマネージャー」と呼ぶ人々は、企業ごとに全く違うことをやっている。彼らは異なるタイプのプロダクト、異なるタイプのチーム、異なる組織構造の中で働いている。このプロダクトマネジメントの立場の違いは、とても不毛だ。外の立場から見ていると、同じ肩書きの仕事を参照する際に、誤解を引き起こしているように見える。全てのプロダクトマネジメントの仕事を統合して、共通の話題を抽出しようとすると、価値を説明しようとし
「考慮もれ」「手戻り」をなくしたい モチベーションクラウドシリーズのデザイナーです。 フロントエンドエンジニアのみなさんは、画面デザインを見て「どう実装するんだ?」とストレスを感じたことはないですか? 例えば... 👨💻 フロントエンド「Emptyのときはどうするんだろう?最初から考慮してほしいな...(ストレス)」 👩🎨 デザイナー「この状態も考えないといけないのか。確認するだけで1日終わるな...(ストレス)」 →お互いにとって、よくない!!!!! こうした状態を受けて、お互いにとってストレスなく開発するために、デザイナーとフロントエンドで制作プロセスを改善しました。 今回は、プロセス改善のステップや導入してみて効果的だったツール(シート)についてお伝えします。 【まず初めに】 「UI Stack(状態デザイン)」の必要性の周知 UI Stackとは、UIの考慮すべき5つの
概要 本内容は、AndroidのJobSchedulerクラスをAndroid 8上で定周期で実行し、その挙動について確認した結果をまとめています。 今回は、アプリで歩数計のような機能を実現する必要があったため、その用途に適しているかどうかを検証することを目的に行いました。 JobSchedulerとは、Android 5.0 (API 21)で追加された、指定したスケジュールに従って処理をバックグラウンドで実行させる仕組みです。指定時間後に実行、指定間隔で実行といった動作が可能です(ここでは触れませんが、端末の状態や新しい画像・動画が追加されたタイミングをトリガーとして実行することもできるようです)。従来のバージョンでは、AlarmManagerなどが利用されていました。 Google I/O 2018において発表された「JetPack」において、Androidのバージョンに応じてそれら
[Microsoft] Windowsデスクトップ向け業務アプリ開発には何を採用すべきか? - 2018年9月版.NETWPFWinFormsElectronUWP Windowsデスクトップ向けの業務アプリケーション開発において、どのようなテクノロジを採用すべきか考えたいと思います。 Win32 API そういえばこの手もありましたね。 これじゃないといけない要件があるのなら仕方ないです。 開発言語 C++等 配置方法 Windowsインストーラ、あるいは実行ファイルをコピー 更新方法 Windowsインストーラを再配布、あるいは実行ファイルをコピー Windows Forms (WinForms) .NET Framework 1.0とともに登場した最も歴史ある(もうあまり新規開発がなさそうな)テクノロジです。 高DPI環境で難がありましたが、.NET Framework 4.7 +
現職においてMonolithアーキテクチャからMicroservicesアーキテクチャへの移行とその基盤の構築に関わって2年近くが経った.未だ道半ばであるがこれまでの経験や日々のインプットをもとにいろいろ書いておこうという気持ちになった.本記事ではそもそもMicroservicesアーキテクチャとは何かを整理し,なぜやるべきか?・なぜ避けるべきかを整理する. Microservices? Microservicesアーキテクチャとは「Single purpose,High cohesion,そしてLoosly Couploedなサービスを組み合わせてシステムを構築する」アーキテクチャ手法である.それぞれの原則をまとめると以下のようになる. Single purpose: 一つのことに集中しておりそれをうまくやること Loose coupling: サービスは依存するサービスについて最小限の
Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや本当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば本当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが
ご査収ください (2022年12月8日 追記) フローチャートを書き直しました。内容自体は当時のものと同じです。 補足 パフォーマンスの出し方は人それぞれなので「私はこんな感じです」というものです。 とりあえず「なんかやばいな?」と思ったら休む 体調的にはもちろん、「これ結構やばそうだな?」という勘所は大事 15分以上(長くても30分)悩んだら周りに聞いてみる こういう時はだいたい 視野が狭くなっている(簡単なスペルミスだったり) 暗黙知に触れている(業務だとよくある) とてつもない難問にぶちあたっている といったケースなので、仲間にSOSを出した方がチーム全体の進捗も結果的に良くなる、という経験談です。 ちなみに15分の根拠はなんとなくです。 ちなみに、問題に取り組み始めるその瞬間から「15分やってわからなかったら誰かに聞こう」としている場合は、 フローチャートの「30分動いてなかったら
CEDEC 2016では,開発環境,グラフィックス,AI,キャラクター,バックエンドシステムなど,全部で5つのテーマの「FINAL FANTASY XV」(以下FFXV)関連セッションが最終日に行われ,それこそ,丸一日FFXVセッションを聞くこともできるほどの充実ぶりであった。 本稿では,この日,3番めに行われたエンジニアリング系のセッションである「AAAタイトル開発における最適化 FINAL FANTASY XV実例紹介」の内容をレポートしたい。タイトルにはFFXVの名前が入っているが,ゲームプログラミング全般に応用できそうな内容となっていたので,広く参考になるのではないかと思う。 FFXVでのゲームループ並列化の変遷 前半の講演を担当した佐藤達磨氏(スクウェア・エニックス,第二ビジネスディビジョン,プログラマー) FFXVは,Luminous Studioというスクウェア・エニックスに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く