Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hidden Gems of Everyday Game Development with C#
Search
Andrea Magnorsky
December 05, 2013
Technology
1
450
Hidden Gems of Everyday Game Development with C#
Hidden Gems of Everyday
Game Development with C#
Andrea Magnorsky
December 05, 2013
Tweet
Share
More Decks by Andrea Magnorsky
See All by Andrea Magnorsky
F#, this ain't a game
roundcrisis
0
780
Like a rabbit in headlights: Removing the OO googles with F#
roundcrisis
0
390
Coding play, crafting code
roundcrisis
0
1.5k
Monogame 3
roundcrisis
0
230
StateOfPlayPresentation.pdf
roundcrisis
0
63
Works on all machines
roundcrisis
0
69
Other Decks in Technology
See All in Technology
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
250
Understanding Go GC #coefl_go_jp
bengo4com
1
1.1k
見てわかるテスト駆動開発
recruitengineers
PRO
6
2.1k
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
7
730
LLMエージェント時代に適応した開発フロー
hiragram
1
460
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
6
780
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
0
460
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
280
モバイルアプリ研修
recruitengineers
PRO
5
1.5k
microCMS 最新リリース情報(microCMS Meetup 2025)
microcms
0
280
Product Management Conference -AI時代に進化するPdM-
kojima111
0
260
KINTO FACTORYから学ぶ生成AI活用戦略
kintotechdev
0
130
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
KATA
mclloyd
32
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Scaling GitHub
holman
463
140k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How GitHub (no longer) Works
holman
315
140k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Making Projects Easy
brettharned
117
6.3k
BBQ
matthewcrist
89
9.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
Transcript
Hidden Gems of Everyday Game Development with C# Andrea Magnorsky
@silverspoon roundcrisis.com
None
The humble Game Loop
Hello Dovahkiin
None
Delegates, func, etc
Don’t use linq
Coroutines “Coroutines are computer program components that generalize subroutines to
allow multiple entry points for suspending and resuming execution at certain locations”
Why?
_changePositionCoroutine.MoveNext()
Iterator
Multi threaded rendering • Double buffer • Triple buffer •
Concurrent Collections • Jobs and workers
Renderer waiting for render commands Update Frame 1 Wait for
renderer to switch buffers Swap buffers Double Buffer
Renderer waiting for render commands Update Frame 1 Draw Frame
1 Update Frame 2 Wait for renderer to switch buffers Draw Frame 2 Wait for renderer to switch buffers Renderer waiting for render commands Swap buffers Swap buffers
Renderer waiting for render commands Update Frame 1 Draw Frame
1 Update Frame 2 Wait for renderer to switch buffers Draw Frame 2 Wait for renderer to switch buffers Update Frame 3 Blocked until rendering finished Draw Frame 3 Renderer waiting for render commands Swap buffers Swap buffers Swap buffers Wait for renderer to switch buffers
None
None
Why
Using concurrent Queue instead and Blocking Collection
Analysis
Comparision Double buffer Concurrent Queue
None
Thanks More to read http://bitly.com/bundles/roundcrisis/3 Andrea Magnorsky @silverspoon roundcrisis.com
batcatgames.com