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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andrea Magnorsky
December 05, 2013
Technology
1
470
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
810
Like a rabbit in headlights: Removing the OO googles with F#
roundcrisis
0
410
Coding play, crafting code
roundcrisis
0
1.6k
Monogame 3
roundcrisis
0
240
StateOfPlayPresentation.pdf
roundcrisis
0
64
Works on all machines
roundcrisis
0
72
Other Decks in Technology
See All in Technology
OCI技術資料 : コンピュート・サービス 概要
ocise
4
54k
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
120
Kubernetesにおける推論基盤
ry
1
160
型を書かないRuby開発への挑戦
riseshia
0
210
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
460
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
850
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.1k
組織全体で実現する標準監視設計
yuobayashi
2
380
Fundraising Gala’s in 2026 What’s Changing & What Still Works
auctria
PRO
0
100
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
2.2k
聲の形にみるアクセシビリティ
tomokusaba
0
150
Evolution of Claude Code & How to use features
oikon48
1
550
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
320
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
230
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