
D3D12 プログラミングの基礎プラス
megayuchi
D3D12プログラミング基礎編に続く講座です。 基本的なレンダリング機能を実装した後、これを使って実際のエンジン開発を行おうとする際に実装すべき機能とアプローチ方法を解説します。
中級以上
DirectX12, DirectX, directx-12
この講義は、オンラインゲーム開発に必要なTCP/IPネットワークプログラミングの核心を実務中心で扱います。 ソケットの基本原理からクライアント・サーバー構造設計、直接作成したネットワークライブラリを利用したゲームフレームワーク実装まで段階的に学習します。 扱う内容: ネットワーク基本概念とTCP/IP動作方式 Socket APIを利用したTCPプログラミング パケットプロトコル設計及び転送構造実装 クライアント/サーバーベースゲームフレームワーク開発 実際のオンラインゲーム開発に必要な最適化及び実務ティップス 注意事項: WindowsでVisual Studioを使用して講義を進行します。標準的なbsd socket APIを使用しますが、unix系OSと若干の違いがあります。 IOCPとOverlapped I/Oは扱いません。
受講生 59名
難易度 中級以上
受講期間 無制限


学習した受講者のレビュー
5.0
wolfclaw4
就職活動中の方なら、ぜひ聞いてほしいです。
5.0
아데니아
講義資料が充実して提供されており、より深く理解するのに役立ちます。
TCP/IPの理解と応用
socketプログラミング
ネットワークプログラミング
オンラインゲームサーバープログラミング
マルチプレイゲームや大規模なプレイヤーが接続するMMOゲームがどのように動作するのか気になったことはありませんか?自作ゲームにネットワークを組み込んでオンラインモードをサポートしたいと思ったことはありませんか?
それなら本講義がお手伝いできます。
インターネット上で単純にデータをやり取りするコードを書くとすれば、socket APIを使用して簡単に実装することは可能です。しかし、単純にデータをやり取りするコードは、ゲーム開発におけるネットワークプログラミングとは多少距離があります。本講座は単純なAPI使用を超えて、実際に使用可能なネットワークコードを作成し、これをクライアント/サーバーモデルのオンラインゲームに適用する方法を説明します。
OSI 7層とTCP/IP 4層について紹介し、これらの概念がインターネットにどのように組み込まれているかを説明します。
インターネットを構成する主要プロトコルであるTCP/IPの技術的な動作原理を学びます。tcpヘッダーとipヘッダーの構造、tcpのseq番号とack応答システム、3 way handshakeを利用した接続確立、4 way handshakeを利用した接続終了について説明します。
WindowsでのSocket API実装体であるWinsockを紹介します。
WinsockとUnix系Socket APIの違いを説明します。Winsockプログラミングで主に使用することになる関数と機能をプレビューします。
接続リクエストを受信するAPIと接続リクエストを実行するAPIを使用して、最初のクライアントとサーバーコードを作成します。
send()関数とrecv()関数を使用して実際にデータをやり取りしてみます。この時点では、blocking mode socketについてのみ扱います。
blocking mode socketは使いやすいですが、リアルタイムゲームで使用するには無理があります。non-blocking socketを使用して実際のゲームプログラミングに使用できるネットワークコードを作成する方法を説明します。
例外状況処理のためには、socketの基本機能だけに依存することはできません。TCP特性上発生する可能性のある例外状況に備えて、Recv-BufferとSend-Bufferを実装してみます。これは本格的なネットワークライブラリ開発において核心的な機能です。
ゲームサーバーとクライアントで共通して使用できるネットワークライブラリを設計し、実際に実装してみます。単純にsocket apiを利用して送受信する機能を実装する段階から実際の製品開発まで二段階以上ジャンプできます。
コードをコピー&ペーストするレベルを超えて真のモジュール化を達成するには、バイナリレベルで分離される必要があります。ネットワークライブラリのコードをDLLに分離してコンテンツレイヤーとネットワークレイヤーの境界を明確にする方法を紹介します。これは実際の製品開発に大きな助けになります。
完全なゲームではありませんが、オンラインゲームを開発するための必須要素を実装してみます。前の講義で作成したネットワークライブラリを使用して、複数のクライアントがサーバーに接続し、移動処理を同期化する簡単なデモを作成します。
オンラインゲームのネットワーク帯域幅とサーバー機器の性能効率を向上させるための技術を紹介します。また、UDP vs TCPの誤解を整理してみます。
オペレーティングシステムおよびバージョン(OS): Windows 10/11
使用ツール:Visual Studio 2022
PDF提供
添付ファイルによるソースコード提供
必須
C/C++
基礎的なWindowsプログラミング
推奨(以下の講義が役に立つ可能性があります。)
Windows システムプログラミング (https://inf.run/VciKC)
Windowsデバッグのtip(https://inf.run/KH5J6)
Windows環境でwinsock APIを使用して講義を進めます。
linuxを含むunix系でも使用できる共通的なsocket API技術を扱いますが、実習環境はWindows + Visual Studio 2022です。
標準socket API以外のOverlapped I/O、IOCP(I/O Completion Port)などの技術は扱いません。
学習対象は
誰でしょう?
ゲームサーバー/クライアントネットワーク構造を直接実装したい開発者
TCP/IP、ソケットなどのネットワーク核心技術を実務的に学びたい方
前提知識、
必要でしょうか?
C/C++
Windowsプログラミング
インフラン認証
キャリア認証
3,374
受講生
104
受講レビュー
25
回答
5.0
講座評価
11
講座
C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket
D3D12プログラミング基礎編 - https://inf.run/7gJhS
D3D12プログラミング基礎プラス - https://inf.run/itHDW
DirectX Raytracing プログラミング - https://inf.run/cQqx7
Windows System プログラミング - https://inf.run/AwfCv
Windowsデバッグのヒント - https://inf.run/zL7E4
ブログ : https://megayuchi.com
Youtube : https://youtube.com/megayuchi
LinkedIn : https://www.linkedin.com/in/megayuchi/
全体
11件 ∙ (11時間 56分)
講座資料(こうぎしりょう):
1. ネットワーク基本 Part 1
01:36:25
2. ネットワーク基本 Part 2 - TCP/IP
02:04:20
3. socket プログラミング概要
32:47
5. send() / recv()
48:18
6. ノンブロッキングソケット
01:10:09
7. Send-Buffer / Recv-Buffer
01:02:46
8. Network Library 設計および実装
01:32:36
11. ゲームサーバーのパフォーマンスのための開発tip
01:14:58
全体
6件
5.0
6件の受講レビュー
受講レビュー 4
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 32
∙
平均評価 5.0
受講レビュー 9
∙
平均評価 5.0
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
¥25,789