Skip to content

About

Topics being covered in the current semester

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS 2510, Fall 2027, Topics

These are the topics we are going to cover in class each day. Links to example student videos

Day 16 - October 21 - Collisions 2 (🧑‍🏫Lecture 11)

New Idea: Collisions Between Multiple Polygons

  • Update the separate axis theorem to handle to polygons
  • Each polygon is moved from model space to world space
  • Each polygons is used to find edges
  • Each polygon is project down each edge
  • If there is a gap, there is not a collision
  • If there is a gap, there is a collision.

New Idea: Colliders

  • We want the engine to keep track of collisions for game objects that have been "labeled" with a Collider component
    • We can use colliders to simplify hit boxes
  • The engine will track anything that has a Collider component
  • The engine will send events when there is a collision with the game objects in question
  • Components can listen for these events to fire

New Idea: Mouse Over Events

  • The engine will report when the mouse is over a game object
  • We need to move the mouse from screen space (pixels) into world space
  • We invert the camera matrix and the matrix that moves the origin to the center of the screen
  • We then report overlap
  • Components can listen for these events to fire

October 19 - No Class, University Holiday

Day 15 - October 14 - Collisions 1 (🧑‍🏫Lecture 10)

A shuttle launch

Multiline Text Label

  • Break the text of the label down using split
  • Add each word to the current line.
  • If the line is now too long, write the line without the word.

🖼️Activity:

Description

Description




Day 14 - October 12 (👟Sprint 5)

Topics covered briefly

  • Mouse Move
  • Text Height




Day 13 - October 07 - Game Object Children and Mouse (🧑‍🏫Lecture 9)

Hierarchy Banner Image

Module: Mouse Input

🧭Ideas to explore on your own

  • How can you convert your game to use hierarchies?
  • Why do many games use a combination of inputs, e.g. mouse and keyboard instead of just keyboard or mouse?




Day 12 - October 5 (👟Sprint 4)

Topics covered briefly

  • Line wrapping in TextLabels (do it yourself)
  • Scene background bug
  • JSDoc so VS Code is helpful
  • Scale/rotate bug (make sure your code is updated)
  • Review AI policy
  • Compare code (e.g. githubcompare.com)
  • Negative scales produce a flip
  • Transparency in colors




Day 11 - September 30 - Cameras and Layers (🧑‍🏫Lecture 8)

Module: Layers

Module: Cameras

💡New Idea: Scenes can have background colors

  • This allows you to really differentiate start and stop scenes from the main game scenes
  • The Camera component of the main camera stores the background color

Day 10 - September 28 (👟Sprint 3)

[No additional topics covered]




Day 09 - September 23 - SceneManager & Globals (🧑‍🏫Lecture 7)

Module: SceneManager

Module: Globals

  • Level Controllers

💡New Idea: Search game objects by attributes (tags)

  • Unity doesn't allow you to search for multiple game objects by name
  • Instead, we give game objects "tags", or a list of string attributes
  • This allows us to look for all game objects that are tagged as enemies or UI
  • The function we add is GameObject.findGameObjectsWithTag




Day 08 - September 21 (👟Sprint 2)

Module: getComponent

Module: TextLabel




Day 07 - September 16 - Communication Basics (🧑‍🏫Lecture 6)

Add scale and rotate to transforms. See the Module on Transforms

Activity: Add an enemy ship to our game

  • Our ship has the same shape as our player ship
    • We can save time by creating an asset and reusing it
    • We can save time by rotating the ship asset for the enemy ship




Day 06 - September 14 (👟Sprint 1)




Day 05 - September 9 - Engine-Level Components (🧑‍🏫Lecture 5)

A shuttle launch

Module: Instantiate

Activity: Look for Scenes, Game Objects, and Components

  • Look at a video about a game and look for scenes, game objects, and components




Day 04 - September 2 - Standard Architecture for Games (🧑‍🏫Lecture 4)

Standard Architecture for Games Banner Image

📢Announcements

  • Upcoming sprint expectations
    • You can study JS as part of your sprint
    • You can plan the scenes, game objects, and components in your game. Just make sure you can show it to us during the sprint.
    • You can review/finish transcribing the engine. You can go through and add comments to help you understand the concepts.
    • Otherwise, work on your engine and game




Day 03 - August 31 - Engines and Keyboard Input (🧑‍🏫Lecture 3)

Keyboard Banner Image

🔙Review

  • What is a game loop?
  • What is a vector?




Day 02 - August 26 - Game Loop (🧑‍🏫Lecture 2)

Game Loop Banner Image

📺 Video Summary

🔙Review

  • What is the difference between the Box Model, SVG, and Canvas?
  • What is the difference between the JS keyword let and const?

Syllabus Review

💡New Idea: What is a computer game? (Review from previous day)

  • In this class, a game is an enjoyable, interactive, visual simulation.
  • How are we going to learn game programming?
    • Learn the math
    • Learn the architecture
    • Practice

👩‍💻Activity

  • Create a simple moving game object simulation using the new Vector2 class.

🤔To Think About

  • Why is creative mode in Minecraft considered a game while a painting app is not?

Ideas to explore on your own

  • Can you make the code use arrays so that you don't need to manually call lineTo for each vertex?




Day 01 - August 24 - Introduction (🧑‍🏫Lecture 1)

Game Loop Banner Image

📺 Video Summary

📢Announcements

  • Welcome to class
  • Get a GitHub account

🎉Course Goals

About

Topics being covered in the current semester

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages