SlideShare a Scribd company logo
1 of 17
Math & Data Structures
Course Overview
Why Math?
• What do you think?
• What language should we use?
• It doesn’t matter!
• What math have you used before?
• Programming is the ultimate puzzle game
• “Controlling complexity is the essence of
computer programming.” -Bertrand Meyer
• As code gets more complex, there are many
ways to get the same result
• There are three areas of complexity in
programming:
• Technology
• Algorithms
• Architecture
3
What is
programming?
Complexities of programming
4
Technology Algorithms Architecture
What is a Data Structure?
• What do you think?
• In computer science, a data structure is a data organization,
management, and storage format that enables efficient access
and modification. More precisely, a data structure is a collection
of data values, the relationships among them, and the functions
or operations that can be applied to the data.
- To be able to create & use different data structures effectively
- To be able to create & use custom data structures and operators
- To be able to create & use algorithms, such as a pathfinding algorithm
- To be able to create & use procedural generation algorithms
- To be able to use trigonometry / math for games, such as Vectors, Matrices and
Determinism
- To be able to use concepts like binary masks, bit shifting and custom operators
- To be able to create & use Big O Notation
Learning Outcomes
1. PacBear: A 2D Grid
2. PacBear: Structs & Operators
3. PacBear: Pathfinding
4. PacBear: Pathfinding 2
5. PacBear: Layers & Bitmasks
6. PacBear: Procedural Worlds
7. Clash of Bears: Determinism
8. Clash of Bears: A New Angle
Course outline (1/2)
9. Clash of Bears: A New Angle (2)
10. Clash of Bears: Matrices
11. Clash of Bears: Vector Math
12. Clash of Bears: Implementation
13. Clash of Bears: Gameplay
14. Clash of Bears: Deterministic Steps
15. Clash of Bears: Multiplayer
Course outline (2/2)
Course Grading
Attendance
Professionalism
PacBear: Find the way
PacBear: A whole new world
The Sorting Cube
Clash of Bears: Collision
Clash of Bears: Soldier Up
Math & Data Structures
PacBear – A 2D World
A 2D World
What will we learn?
• Using a 2D array
• Generate a world on runtime
• Structs vs Classes
• Creating IntVectors
Timeline
15 45 10 45 10 45 10
Intro 2D Arrays Creating the World Moving around
2D Matrices
• What is a 2D Matrix?
• A regular array is considered a 1-dimensional array
• A 2D Matrix = 2D Array
• A 2D Matrix is (almost) the same as an array of arrays
• When would we use it?
• Displaying pixels
• Creating snake
• Anything with a grid
Our PacBear Inheritance model
BaseObject
Pill Wall
PacBear Ghost
BaseUnit
Honey
Let’s get going!
• Open Unity Hub
• Create PacBear Project
Challenges
1. Add a ‘Honey’-prefab to the grid.
2. Increase PacBear’s speed
3. Add ‘Collision’ with the walls, using the grid. Don’t use Colliders!
4. Have the Camera focus on & follow PacBear (simple CamFollow
script)
5. Make a fun level!

More Related Content

Similar to MDS_1_PacBear_2DWorld.pptx

Building Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine LearningBuilding Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine LearningDavid Walker, CSM,CSD,MCP,MCAD,MCSD,MVP
 
DisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptx
DisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptxDisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptx
DisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptxAdeel Saifee
 
Building Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine LearningBuilding Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine LearningDavid Walker, CSM,CSD,MCP,MCAD,MCSD,MVP
 
Module 3 - Basics of Data Manipulation in Time Series
Module 3 - Basics of Data Manipulation in Time SeriesModule 3 - Basics of Data Manipulation in Time Series
Module 3 - Basics of Data Manipulation in Time Seriesssusere5ddd6
 
Predict oscars (5:11)
Predict oscars (5:11)Predict oscars (5:11)
Predict oscars (5:11)Thinkful
 
Machine Learning with ML.NET and Azure - Andy Cross
Machine Learning with ML.NET and Azure - Andy CrossMachine Learning with ML.NET and Azure - Andy Cross
Machine Learning with ML.NET and Azure - Andy CrossAndrew Flatters
 
Building Data Scientists
Building Data ScientistsBuilding Data Scientists
Building Data ScientistsMitch Sanders
 
Lecture_1_Intro.pdf
Lecture_1_Intro.pdfLecture_1_Intro.pdf
Lecture_1_Intro.pdfpaijitk
 
Introduction to Data Structures & Algorithms
Introduction to Data Structures & AlgorithmsIntroduction to Data Structures & Algorithms
Introduction to Data Structures & AlgorithmsAfaq Mansoor Khan
 
Predict oscars (4:17)
Predict oscars (4:17)Predict oscars (4:17)
Predict oscars (4:17)Thinkful
 
Predicting the NBA MVP
Predicting the NBA MVPPredicting the NBA MVP
Predicting the NBA MVPThinkful
 
Towards a Comprehensive Machine Learning Benchmark
Towards a Comprehensive Machine Learning BenchmarkTowards a Comprehensive Machine Learning Benchmark
Towards a Comprehensive Machine Learning BenchmarkTuri, Inc.
 
Predict the Oscars with Data Science
Predict the Oscars with Data SciencePredict the Oscars with Data Science
Predict the Oscars with Data ScienceThinkful
 
A machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companiesA machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companiesDataWorks Summit
 
rsec2a-2016-jheaton-morning
rsec2a-2016-jheaton-morningrsec2a-2016-jheaton-morning
rsec2a-2016-jheaton-morningJeff Heaton
 
Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++Mike Acton
 

Similar to MDS_1_PacBear_2DWorld.pptx (20)

Building Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine LearningBuilding Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine Learning
 
DisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptx
DisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptxDisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptx
DisMath-lecture-1-Introduction-to-Discrete-Maths-08032022-114934am.pptx
 
Building Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine LearningBuilding Powerful and Intelligent Applications with Azure Machine Learning
Building Powerful and Intelligent Applications with Azure Machine Learning
 
Module 3 - Basics of Data Manipulation in Time Series
Module 3 - Basics of Data Manipulation in Time SeriesModule 3 - Basics of Data Manipulation in Time Series
Module 3 - Basics of Data Manipulation in Time Series
 
Predict oscars (5:11)
Predict oscars (5:11)Predict oscars (5:11)
Predict oscars (5:11)
 
Machine Learning with ML.NET and Azure - Andy Cross
Machine Learning with ML.NET and Azure - Andy CrossMachine Learning with ML.NET and Azure - Andy Cross
Machine Learning with ML.NET and Azure - Andy Cross
 
Building Data Scientists
Building Data ScientistsBuilding Data Scientists
Building Data Scientists
 
Lecture 1 (bce-7)
Lecture   1 (bce-7)Lecture   1 (bce-7)
Lecture 1 (bce-7)
 
Lecture_1_Intro.pdf
Lecture_1_Intro.pdfLecture_1_Intro.pdf
Lecture_1_Intro.pdf
 
Introduction to Data Structures & Algorithms
Introduction to Data Structures & AlgorithmsIntroduction to Data Structures & Algorithms
Introduction to Data Structures & Algorithms
 
Predict oscars (4:17)
Predict oscars (4:17)Predict oscars (4:17)
Predict oscars (4:17)
 
Predicting the NBA MVP
Predicting the NBA MVPPredicting the NBA MVP
Predicting the NBA MVP
 
Towards a Comprehensive Machine Learning Benchmark
Towards a Comprehensive Machine Learning BenchmarkTowards a Comprehensive Machine Learning Benchmark
Towards a Comprehensive Machine Learning Benchmark
 
Predict the Oscars with Data Science
Predict the Oscars with Data SciencePredict the Oscars with Data Science
Predict the Oscars with Data Science
 
A machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companiesA machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companies
 
rsec2a-2016-jheaton-morning
rsec2a-2016-jheaton-morningrsec2a-2016-jheaton-morning
rsec2a-2016-jheaton-morning
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
dsa.pptx
dsa.pptxdsa.pptx
dsa.pptx
 
Future se oct15
Future se oct15Future se oct15
Future se oct15
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 

Recently uploaded

How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Recently uploaded (20)

How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

MDS_1_PacBear_2DWorld.pptx

  • 1. Math & Data Structures Course Overview
  • 2. Why Math? • What do you think? • What language should we use? • It doesn’t matter! • What math have you used before?
  • 3. • Programming is the ultimate puzzle game • “Controlling complexity is the essence of computer programming.” -Bertrand Meyer • As code gets more complex, there are many ways to get the same result • There are three areas of complexity in programming: • Technology • Algorithms • Architecture 3 What is programming?
  • 5. What is a Data Structure? • What do you think? • In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.
  • 6. - To be able to create & use different data structures effectively - To be able to create & use custom data structures and operators - To be able to create & use algorithms, such as a pathfinding algorithm - To be able to create & use procedural generation algorithms - To be able to use trigonometry / math for games, such as Vectors, Matrices and Determinism - To be able to use concepts like binary masks, bit shifting and custom operators - To be able to create & use Big O Notation Learning Outcomes
  • 7. 1. PacBear: A 2D Grid 2. PacBear: Structs & Operators 3. PacBear: Pathfinding 4. PacBear: Pathfinding 2 5. PacBear: Layers & Bitmasks 6. PacBear: Procedural Worlds 7. Clash of Bears: Determinism 8. Clash of Bears: A New Angle Course outline (1/2)
  • 8. 9. Clash of Bears: A New Angle (2) 10. Clash of Bears: Matrices 11. Clash of Bears: Vector Math 12. Clash of Bears: Implementation 13. Clash of Bears: Gameplay 14. Clash of Bears: Deterministic Steps 15. Clash of Bears: Multiplayer Course outline (2/2)
  • 9. Course Grading Attendance Professionalism PacBear: Find the way PacBear: A whole new world The Sorting Cube Clash of Bears: Collision Clash of Bears: Soldier Up
  • 10. Math & Data Structures PacBear – A 2D World
  • 12. What will we learn? • Using a 2D array • Generate a world on runtime • Structs vs Classes • Creating IntVectors
  • 13. Timeline 15 45 10 45 10 45 10 Intro 2D Arrays Creating the World Moving around
  • 14. 2D Matrices • What is a 2D Matrix? • A regular array is considered a 1-dimensional array • A 2D Matrix = 2D Array • A 2D Matrix is (almost) the same as an array of arrays • When would we use it? • Displaying pixels • Creating snake • Anything with a grid
  • 15. Our PacBear Inheritance model BaseObject Pill Wall PacBear Ghost BaseUnit Honey
  • 16. Let’s get going! • Open Unity Hub • Create PacBear Project
  • 17. Challenges 1. Add a ‘Honey’-prefab to the grid. 2. Increase PacBear’s speed 3. Add ‘Collision’ with the walls, using the grid. Don’t use Colliders! 4. Have the Camera focus on & follow PacBear (simple CamFollow script) 5. Make a fun level!

Editor's Notes

  1. LCG=Living Card Game