Game Dev Session 01.pdf

Frame by Frame
Line by Line
Presented by : S.Bharath Krishnan
Pratyush Nanda
Slide Design : S.Krishna Narayan
Game
Development
Fun
Mechanics
Art
Music
“Have you ever wondered how game
mechanics are implemented”
Shooting
● Most Games, shooting is heavily based on raycasts.
Shooting (contd.)
● Raycast :
○ A computational procedure
○ Calculate the first collidable object in a given direction
○ Raycast in direction of line of sight,
damage first colliding object
○ You can add extra flare to your shoot by getting
Normal of hit surface and adding a particle system
to it.
Why Shouldn’t we Raycast from Gun Muzzle
How are raycasts Implemented ?
● Basic Idea
● Move a vector in given Direction
by fixed steps
● Check for Existence of wall
● If wall doesn’t exist proceed
● If wall exist get point
● Most basic idea
● Engines use more complex
Version
Refer : Raycasting (lodev.org)
Grenades - Projectiles
Game Dev Session 01.pdf
Scopes - Snipers
The art of Deception
Note: No animals were harmed
while making of this slide
The Parallax Scrolling
Parallax scrolling (contd.)
● Gives liveliness to games
● A level = multiple images layered
● Moving Images in games
are called Sprites
● Sprites in foreground move faster
Compared to Background
Game Dev Session 01.pdf
Functions and Paths
Spiderman is a Pendulum
Spiderman is a Pendulum
● We have a point of suspension
● We just get vector from
player to point
● Get World Up Vector
● Equate cos of grav to Tension
● Do pendulum force calculations
● But He is more of a Circular motion
If you want to make a good game
Procedural Animations
Procedural Generation
Minecraft Terrain Generation:
Minecraft terrain generation in a nutshell - YouTube
Perlin Noise
What is Perlin Noise
What is Perlin Noise (Contd.)
● Divide the screen to N x M grid
● Generate random vectors
On each corner of grid
● For every pixel identify its
Corresponding cell
● Get cell vectors
● Get offset vector from each
Corner
● Dot offset vector with
Corresponding grid vector
● Interpolate all the 4 values
Clouds - Application of Perlin Noise
Spline - The Bézier Curve
The Beauty of Bézier Curves - YouTube
What are Bézier Curves
● Linear Interpolation
t : 0.0 → 1.0
Application of Bézier
Lets Think
You are a game developer making
a marvel avengers game and you are tasked
with creating captains shield throw mechanic.
How will you go about implementing this?
tag:
Cross and Dots
Trigonometry
Collision
Game Dev Session 01.pdf
1 de 27

Recomendados

Unity por
UnityUnity
UnityKhaled Ismail
936 visualizações64 slides
Python lecture 09 por
Python lecture 09Python lecture 09
Python lecture 09Tanwir Zaman
247 visualizações32 slides
4Developers 2015: Gamedev-grade debugging - Leszek Godlewski por
4Developers 2015: Gamedev-grade debugging - Leszek Godlewski4Developers 2015: Gamedev-grade debugging - Leszek Godlewski
4Developers 2015: Gamedev-grade debugging - Leszek GodlewskiPROIDEA
244 visualizações90 slides
How we did 60FPS in our 3D RTS mobile game por
How we did 60FPS in our 3D RTS mobile gameHow we did 60FPS in our 3D RTS mobile game
How we did 60FPS in our 3D RTS mobile gameDaniel Sim
2.7K visualizações39 slides
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014 por
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014Mary Chan
6.3K visualizações60 slides
Game Development with AndEngine por
Game Development with AndEngineGame Development with AndEngine
Game Development with AndEngineDaniela Da Cruz
3.2K visualizações19 slides

Mais conteúdo relacionado

Similar a Game Dev Session 01.pdf

Gravitee Wars Post Mortem by Stuart Allen of FunkyPear por
Gravitee Wars Post Mortem by Stuart Allen of FunkyPearGravitee Wars Post Mortem by Stuart Allen of FunkyPear
Gravitee Wars Post Mortem by Stuart Allen of FunkyPearmochimedia
1.4K visualizações43 slides
Motionblur por
MotionblurMotionblur
Motionblurozlael ozlael
5.2K visualizações33 slides
Pixelor presentation slides for SIGGRAPH Asia 2020 por
Pixelor presentation slides for SIGGRAPH Asia 2020Pixelor presentation slides for SIGGRAPH Asia 2020
Pixelor presentation slides for SIGGRAPH Asia 2020Ayan Das
61 visualizações35 slides
App interaction por
App interactionApp interaction
App interactionreittes
223 visualizações11 slides
05. Vectors por
05. Vectors05. Vectors
05. VectorsAmin Babadi
342 visualizações16 slides
Lecture 1 Introduction to VR Programming por
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingKobkrit Viriyayudhakorn
529 visualizações56 slides

Similar a Game Dev Session 01.pdf(20)

Gravitee Wars Post Mortem by Stuart Allen of FunkyPear por mochimedia
Gravitee Wars Post Mortem by Stuart Allen of FunkyPearGravitee Wars Post Mortem by Stuart Allen of FunkyPear
Gravitee Wars Post Mortem by Stuart Allen of FunkyPear
mochimedia1.4K visualizações
Motionblur por ozlael ozlael
MotionblurMotionblur
Motionblur
ozlael ozlael5.2K visualizações
Pixelor presentation slides for SIGGRAPH Asia 2020 por Ayan Das
Pixelor presentation slides for SIGGRAPH Asia 2020Pixelor presentation slides for SIGGRAPH Asia 2020
Pixelor presentation slides for SIGGRAPH Asia 2020
Ayan Das61 visualizações
App interaction por reittes
App interactionApp interaction
App interaction
reittes223 visualizações
05. Vectors por Amin Babadi
05. Vectors05. Vectors
05. Vectors
Amin Babadi342 visualizações
Lecture 1 Introduction to VR Programming por Kobkrit Viriyayudhakorn
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
Kobkrit Viriyayudhakorn529 visualizações
Knock Knock on GameDev Gate por BeMyApp
Knock Knock on GameDev GateKnock Knock on GameDev Gate
Knock Knock on GameDev Gate
BeMyApp603 visualizações
Building a deep learning ai.pptx por Daniel Slater
Building a deep learning ai.pptxBuilding a deep learning ai.pptx
Building a deep learning ai.pptx
Daniel Slater113 visualizações
Deep Learning Tutorial por Ligeng Zhu
Deep Learning Tutorial Deep Learning Tutorial
Deep Learning Tutorial
Ligeng Zhu230 visualizações
Winners of HTML5 BYOG - InGDIn por Kinshuk Sunil
Winners of HTML5 BYOG - InGDInWinners of HTML5 BYOG - InGDIn
Winners of HTML5 BYOG - InGDIn
Kinshuk Sunil684 visualizações
Making BIG DATA smaller por Tony Tran
Making BIG DATA smallerMaking BIG DATA smaller
Making BIG DATA smaller
Tony Tran1K visualizações
Knock knock on GameDev gateway! - Introduction to Game development por Mamdouh Tarabishi
Knock knock on GameDev gateway! - Introduction to Game developmentKnock knock on GameDev gateway! - Introduction to Game development
Knock knock on GameDev gateway! - Introduction to Game development
Mamdouh Tarabishi1.6K visualizações
weekly AI tech talk #85 ml-agents Enabling Learned Behaviors with Reinforceme... por Bill Liu
weekly AI tech talk #85 ml-agents Enabling Learned Behaviors with Reinforceme...weekly AI tech talk #85 ml-agents Enabling Learned Behaviors with Reinforceme...
weekly AI tech talk #85 ml-agents Enabling Learned Behaviors with Reinforceme...
Bill Liu304 visualizações
Modular Level Design for Skyrim por Joel Burgess
Modular Level Design for SkyrimModular Level Design for Skyrim
Modular Level Design for Skyrim
Joel Burgess61.9K visualizações
物件偵測與辨識技術 por CHENHuiMei
物件偵測與辨識技術物件偵測與辨識技術
物件偵測與辨識技術
CHENHuiMei368 visualizações
Deep single view 3 d object reconstruction with visual hull por Hanqing Wang
Deep single view 3 d object reconstruction with visual hullDeep single view 3 d object reconstruction with visual hull
Deep single view 3 d object reconstruction with visual hull
Hanqing Wang149 visualizações
The Legend of Zelda and the NullPointerException por Andrew McPherson
The Legend of Zelda and the NullPointerExceptionThe Legend of Zelda and the NullPointerException
The Legend of Zelda and the NullPointerException
Andrew McPherson817 visualizações
slides (1).pptx por VijayM171723
slides (1).pptxslides (1).pptx
slides (1).pptx
VijayM1717234 visualizações
Gamedev-grade debugging por Leszek Godlewski
Gamedev-grade debuggingGamedev-grade debugging
Gamedev-grade debugging
Leszek Godlewski1.3K visualizações

Último

How to build dyanmic dashboards and ensure they always work por
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always workWiiisdom
14 visualizações13 slides
Introduction to Maven por
Introduction to MavenIntroduction to Maven
Introduction to MavenJohn Valentino
6 visualizações10 slides
Agile 101 por
Agile 101Agile 101
Agile 101John Valentino
10 visualizações20 slides
tecnologia18.docx por
tecnologia18.docxtecnologia18.docx
tecnologia18.docxnosi6702
5 visualizações5 slides
.NET Deserialization Attacks por
.NET Deserialization Attacks.NET Deserialization Attacks
.NET Deserialization AttacksDharmalingam Ganesan
5 visualizações50 slides
Using Qt under LGPL-3.0 por
Using Qt under LGPL-3.0Using Qt under LGPL-3.0
Using Qt under LGPL-3.0Burkhard Stubert
13 visualizações11 slides

Último(20)

How to build dyanmic dashboards and ensure they always work por Wiiisdom
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always work
Wiiisdom14 visualizações
Introduction to Maven por John Valentino
Introduction to MavenIntroduction to Maven
Introduction to Maven
John Valentino6 visualizações
Agile 101 por John Valentino
Agile 101Agile 101
Agile 101
John Valentino10 visualizações
tecnologia18.docx por nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 visualizações
Using Qt under LGPL-3.0 por Burkhard Stubert
Using Qt under LGPL-3.0Using Qt under LGPL-3.0
Using Qt under LGPL-3.0
Burkhard Stubert13 visualizações
Page Object Model por artembondar5
Page Object ModelPage Object Model
Page Object Model
artembondar56 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver7 visualizações
ADDO_2022_CICID_Tom_Halpin.pdf por TomHalpin9
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin95 visualizações
EV Charging App Case por iCoderz Solutions
EV Charging App Case EV Charging App Case
EV Charging App Case
iCoderz Solutions9 visualizações
The Path to DevOps por John Valentino
The Path to DevOpsThe Path to DevOps
The Path to DevOps
John Valentino5 visualizações
Top-5-production-devconMunich-2023.pptx por Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app9 visualizações
AI and Ml presentation .pptx por FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8714 visualizações
360 graden fabriek por info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492162 visualizações
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation por HCLSoftware
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
HCLSoftware6 visualizações
Introduction to Gradle por John Valentino
Introduction to GradleIntroduction to Gradle
Introduction to Gradle
John Valentino5 visualizações
Playwright Retries por artembondar5
Playwright RetriesPlaywright Retries
Playwright Retries
artembondar55 visualizações
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... por NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi216 visualizações
Introduction to Git Source Control por John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino7 visualizações
nintendo_64.pptx por paiga02016
nintendo_64.pptxnintendo_64.pptx
nintendo_64.pptx
paiga020166 visualizações

Game Dev Session 01.pdf