Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Nostalgia Meets Technology: Super Mario with Ty...
Search
Manfred Steyer
PRO
September 29, 2026
Programming
50
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nostalgia Meets Technology: Super Mario with TypeScript @BASTA 2026 in Mainz, Germany
Manfred Steyer
PRO
September 29, 2026
More Decks by Manfred Steyer
See All by Manfred Steyer
Human in the Loop Beyond Approval: Toward True Collaboration @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
58
Agentic UI: Where the Agent meets the User @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
61
A2UI as an Architecture Question: Agentic UI Between AI Freedom and Control
manfredsteyer
PRO
0
92
AI-Ready Angular Architectures Architecture as Executable Contract
manfredsteyer
PRO
0
250
Beyond Chatbots: Agentic UI with Open Standards @AGNTcon 2026 in Amsterdam
manfredsteyer
PRO
0
150
Next-Level Frontends: Agentic Web UIs Under the Hood
manfredsteyer
PRO
0
110
Agentic UI with Open Standards @ngGraz Sep 2026
manfredsteyer
PRO
0
120
Agentic UI with Open Standards @GDG Salzburg, Bgl & Prishtina
manfredsteyer
PRO
0
100
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
540
Other Decks in Programming
See All in Programming
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
410
Workers Cache を知る
syumai
0
360
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Agents on Rails - Rails at Scale 2026
irinanazarova
0
540
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
170
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
410
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Documentation Writing (for coders)
carmenintech
77
5.6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
KATA
mclloyd
PRO
35
16k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Visualization
eitanlees
153
17k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
How to Ace a Technical Interview
jacobian
280
24k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Transcript
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene Nostalgia Meets
Technology Super Mario with TypeScript ANGULARarchitects.io
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene 2
Mastertextformat bearbeiten Why? 1) Just for Fun! • Textmasterformat bearbeiten
2) Learning/ Repeating Typical Patterns Zweite Ebene Exercise 3) •Nice Programming 3
Mastertextformat bearbeiten Agenda 1) Game Loop • Textmasterformat bearbeiten 2)
Tiles & Coordinates Zweite Ebene 3) •Gravity 4) Side Scrolling & View Port 5) Collision Detection 4
Mastertextformat About Me bearbeiten Manfred Steyer, ANGULARarchitects.io • Textmasterformat bearbeiten
• Zweite Ebene (Remote) Angular Workshops and Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular 5
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene DEMO 6
Mastertextformat Loading Images bearbeiten const response = await fetch('/hero.png'); const
blob = await response.blob(); •const Textmasterformat bearbeiten heroTile = await createImageBitmap( blob, 0, // x 8, // y 16, // width 16 // height ); • Zweite Ebene 7
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene Game Loop
8
Mastertextformat A Simple Game Loop bearbeiten function tick(ctx: HeroContext, timeStamp:
number): void { •[…]Textmasterformat bearbeiten } • Zweite Ebene 9
Mastertextformat A Simple Game Loop bearbeiten function tick(ctx: HeroContext, timeStamp:
number): void { timeStamp); •console.log('timeStamp', Textmasterformat bearbeiten […] • Zweite Ebene } 10
Mastertextformat A Simple Game Loop bearbeiten function tick(ctx: HeroContext, timeStamp:
number): void { timeStamp); •console.log('timeStamp', Textmasterformat bearbeiten if (keyboard.right) { ctx.x += 1; } • Zweite Ebene […] } 11
Mastertextformat A Simple Game Loop bearbeiten function tick(ctx: HeroContext, timeStamp:
number): void { timeStamp); •console.log('timeStamp', Textmasterformat bearbeiten if (keyboard.right) { ctx.x += 1; } • Zweite Ebene ctx.context.clearRect(0, 0, 1000, 1000); ctx.context.drawImage(ctx.heroTile, ctx.x, ctx.y, 16, 16); […] } 12
Mastertextformat A Simple Game Loop bearbeiten function tick(ctx: HeroContext, timeStamp:
number): void { timeStamp); •console.log('timeStamp', Textmasterformat bearbeiten if (keyboard.right) { ctx.x += 1; } • Zweite Ebene ctx.context.clearRect(0, 0, 1000, 1000); ctx.context.drawImage(ctx.heroTile, ctx.x, ctx.y, 16, 16); requestAnimationFrame((timeStamp) => tick(ctx, timeStamp)); } 13
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene DEMO 14
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene Tiles &
Coordinates 15
Mastertextformat (Cols, Rows) vs. (x,bearbeiten y) • Textmasterformat bearbeiten •
Zweite Ebene 16
Mastertextformat bearbeiten GameGrid gameGrid[0][0] = { tile: skyTile }; gameGrid[1][0]
= { tile: skyTile }; •[…]Textmasterformat bearbeiten • Zweite Ebene 17
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene Gravity 18
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene 19
Mastertextformat bearbeiten Idea WHILE not at ground • Textmasterformat bearbeiten
Increase y by velocity • Zweite Ebene Increase velocity 20
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene DEMO 21
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene Side Scrolling
& View Port 22
Mastertextformat bearbeiten Scroll Offset View Port x - renderX •
Textmasterformat bearbeiten • Zweite Ebene renderX x Scroll Offset + View Port Width 23
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene DEMO 24
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene Collision Detection
25
Mastertextformat Bounding Boxes bearbeiten • Textmasterformat bearbeiten • Zweite Ebene
26
Mastertextformat First, in 1D bearbeiten • Textmasterformat bearbeiten < •
Zweite Ebene < 27
Mastertextformat First, in 1D bearbeiten • Textmasterformat bearbeiten < •
Zweite Ebene < 28
Mastertextformat Bounding Boxes bearbeiten a • Textmasterformat bearbeiten • Zweite
Ebene b a.left < b.right b.left < a.right a.top < b.bottom b.top < a.bottom 29
Mastertextformat bearbeiten • Textmasterformat bearbeiten • Zweite Ebene DEMO 30
Modern Angular bearbeiten Mastertextformat Architecture, Concepts, Implementation • Textmasterformat bearbeiten
400+ pages, PDF, EPUB • Zweite Ebene Regular Free Updates! Q1/2026 Waiting List: angular-book.com 31
Mastertextformat bearbeiten Conclusion 1) Game Loop: Take Care of Time
Delta • Textmasterformat bearbeiten 2) Tiles & Coordinates ZweiteIncrease/ Ebene Decrease Velocity 3) •Gravity: 4) Side Scrolling & View Port: Change Offset i/o Hero Coordinates 5) Collision Detection: Bounding Boxes 6) We had fun! 32
Mastertextformat bearbeiten Manfred Steyer [Social Media] Manfred Steyer • Textmasterformat
bearbeiten [web] ANGULARarchitects.io • Zweite Ebene Slides, Examples, Book Remote Company Workshops and Consulting http://angulararchitects.io @ Manfred Steyer 33