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
68
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
69
Agentic UI: Where the Agent meets the User @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
73
A2UI as an Architecture Question: Agentic UI Between AI Freedom and Control
manfredsteyer
PRO
0
97
AI-Ready Angular Architectures Architecture as Executable Contract
manfredsteyer
PRO
0
260
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
550
Other Decks in Programming
See All in Programming
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
1
280
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
33k
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
110
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
ActionController meets Protocol Buffers
sorah
0
560
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
0
130
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
Featured
See All Featured
Scaling GitHub
holman
464
140k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
WENDY [Excerpt]
tessaabrams
14
40k
Paper Plane
katiecoart
PRO
5
54k
How to Talk to Developers About Accessibility
jct
2
580
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Believing is Seeing
oripsolob
1
250
Test your architecture with Archunit
thirion
2
2.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Practical Orchestrator
shlominoach
192
12k
Technical Leadership for Architectural Decision Making
baasie
3
600
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