CSCI 181G PO: Game Engine Programming
cs.pomona.edu
CSCI 181G PO: Game Engine Programming
1–10 of 21 posts
Re: CSCI 181G PO: Game Engine Programming
#2Re: CSCI 181G PO: Game Engine Programming
#3Re: CSCI 181G PO: Game Engine Programming
#4Rust and Unity are interesting picks. I feel like everyone used to use C++ to teach game engine development.
Re: CSCI 181G PO: Game Engine Programming
#5Take 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.
Re: CSCI 181G PO: Game Engine Programming
#6Wow, looking at the syllabus, I can't imagine learning all of this in a single semester at more than a very surface level (and the course notes definitely don't seem surface level). 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. l…
The content on the site seems to also follow, even quickly browsing from the materials there and despite using Vulkan (which is much more verbose than necessary), it still only mentions basic things like rendering sprites, meshes, some scene representation and leaves lighting and shadows (which only get a couple of paragraphs to describe the ideas behind shadow mapping) at the very end (up to that point everything is unlit/fullbright). Even lighting is only described at its basics and the page mentions some external resources to learn more if anyone wants to.
Re: CSCI 181G PO: Game Engine Programming
#7Rust and Unity are interesting picks. I feel like everyone used to use C++ to teach game engine development.
Also they weren't written by college professors but by demoscene teenagers :-P.
Fashion trends tend to change over the years :-)
Re: CSCI 181G PO: Game Engine Programming
#8Rust and Unity are interesting picks. I feel like everyone used to use C++ to teach game engine development.
Re: CSCI 181G PO: Game Engine Programming
#9Rust and Unity are interesting picks. I feel like everyone used to use C++ to teach game engine development.
I imagine this course is more theoretical than practical? And maybe the students already have exposure to rust in other courses? I hope so, anyway. If not, it would be like teaching an introductory web dev course in Elixir. Students would learn a lot, but it sure wouldn't help them get their foot in the door at their first jobs. I've definitely taken classes that were clearly intended to be practical in which the tea…
Re: CSCI 181G PO: Game Engine Programming
#10Wow, looking at the syllabus, I can't imagine learning all of this in a single semester at more than a very surface level (and the course notes definitely don't seem surface level). 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. l…