In this lecture from Colton Ogden, you can learn game development principles by coding a Super Mario clone in Lua. The principles you learn can apply to any programming language and any game.
This lecture is part of CS50's Introduction to Game Development course from Harvard University. The course explores principles of 2D and 3D graphics, animation, sound, and collision detection using frameworks like Unity and LÖVE 2D, as well as languages like Lua and C#.
By end of the course (we're posting one lecture per day), you will have programmed several of your own games and gained a thorough understanding of the basics of game design and development.
This fifth lecture teaches all the key components of a Super Mario game.
You can watch the lecture on the freeCodeCamp.org YouTube channel.