CSCI 181G PO: Game Engine Programming
CSCI 181G PO is a Game Engine Programming course covering Rust, game design principles, and genres. It utilizes Canvas and Slack for communication, with assignments due Sundays and resources provided.
Read original articleCSCI 181G PO is a course focused on Game Engine Programming, utilizing various platforms for communication and assignment submissions. The course includes a syllabus with detailed information, and students are encouraged to use Canvas for assignments and Slack for announcements and discussions. Office hours are held on Monday, Wednesday, and Friday mornings, with flexibility for Zoom sessions. The course schedule outlines deliverables and topics, with assignments typically due on Sundays. Key topics include Rust programming, game design principles, and various game genres such as simulation, rogue-like, and platformer games. Students will engage in project planning and tech talks throughout the semester, culminating in a demo day. Resources for learning Rust and game programming are provided, including links to documentation, debugging advice, and optional reading materials. The course emphasizes early engagement with assignments and communication, particularly regarding work-life balance.
- CSCI 181G PO focuses on Game Engine Programming with a structured syllabus and communication tools.
- Assignments are submitted via GitHub Classroom and Canvas, with deadlines typically on Sundays.
- The course covers various game genres and programming concepts, particularly in Rust.
- Office hours are available for student support, with a focus on work-life balance in communication.
- Resources for learning and debugging are provided, along with optional reading materials for deeper understanding.
Related
MIT: The Missing Semester of Your CS Education
The Missing Semester of Your CS Education course focuses on essential computer science skills like command line usage and version control, running from January 13 to January 30, 2020, with resources available online.
Rust-Python interoperability [hands-on course]
The course teaches Rust-Python interoperability, focusing on creating Python extensions with Rust through hands-on exercises. It requires Rust and rye installation, with resources available on GitHub, authored by Luca Palmieri.
Profiling Programming Language Learning
A year-long study on Rust programming revealed early dropout rates due to challenging concepts. Conceptual quizzes improved scores by 20%, suggesting the methodology could benefit other languages with smaller audiences.
Rust GPU Transitions to Community Ownership
The Rust GPU project has moved to community ownership to improve GPU programming in Rust, focusing on GPU compute and GPGPU programming, with goals for better stability and integration into the Rust compiler.
Advanced Programming in the Unix Environment
The course "Advanced Programming in the UNIX Environment" teaches system-level software development in C on Unix systems, emphasizing academic integrity, with grading based on participation, homework, and projects.
Take just rendering (my area of expertise): There's game programming in general, OOP and ECS, input and update loops, setting up a window, common patterns, etc, necessary prerequisite stuff.
Then there's rendering APIs and the GPU, e.g. learning about vertex/fragment shader concepts and syntax, buffers and uploading data, binding resources, making pipelines and such, etc. Then there's how to make an actual rendering _engine_, e.g. abstractions for batching entities, generating draw lists, command buffer recording for various passes, etc. Then there's lighting - analytic direct lights, many many forms of baked or realtime indirect lighting, BRDFs and PBR shaders, the pain that is shadow mapping, etc. Then on top of all that there's actually optimizing everything both from a CPU and GPU (shader) perspective.
And that's _just_ rendering. Game engines are usually way more. Asset management, physics, UI, possibly scripting, possibly networking, animations, usually some sort of scene editor, etc. All of those with many many subfields and complexities.
Sarcasm aside, there's still lots to learn from the series although it does look like Casey's promise of "writing a complete game [...]" might not actually become a reality in the foreseeable future.
Related
MIT: The Missing Semester of Your CS Education
The Missing Semester of Your CS Education course focuses on essential computer science skills like command line usage and version control, running from January 13 to January 30, 2020, with resources available online.
Rust-Python interoperability [hands-on course]
The course teaches Rust-Python interoperability, focusing on creating Python extensions with Rust through hands-on exercises. It requires Rust and rye installation, with resources available on GitHub, authored by Luca Palmieri.
Profiling Programming Language Learning
A year-long study on Rust programming revealed early dropout rates due to challenging concepts. Conceptual quizzes improved scores by 20%, suggesting the methodology could benefit other languages with smaller audiences.
Rust GPU Transitions to Community Ownership
The Rust GPU project has moved to community ownership to improve GPU programming in Rust, focusing on GPU compute and GPGPU programming, with goals for better stability and integration into the Rust compiler.
Advanced Programming in the Unix Environment
The course "Advanced Programming in the UNIX Environment" teaches system-level software development in C on Unix systems, emphasizing academic integrity, with grading based on participation, homework, and projects.