Post

GameDev Learning

To be a top-level game developer and software engineer, you must always be looking for ways to increase your skills and knowledge. I’ve linked some online resources that you can learn some invaluable information and get ahead of the game 😊.

C++

C++ is the predominate language for developing game engines and high-performance code. It is used throughout the software industry because of its speed, access to hardware, and size. It has been around for decades and does not look like it will be replaced anytime soon.

Tutorials:

https://cplusplus.com/doc/tutorial/

https://www.learncpp.com/

Language reference: https://en.cppreference.com/w/

Guidelines (advanced): https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#main

Design Patterns

Design patterns are solutions to common programming problems that occur frequently in development. They can be used to help solve a problem but are not necessary the exact solution but can steer you in a direction that may be helpful.

This is an excellent on-line book on how to apply design patterns to game programming. Highly recommended! https://gameprogrammingpatterns.com/contents.html

https://refactoring.guru/design-patterns

https://sourcemaking.com/design_patterns

Math

To be an excellent game developer, you need to build your math skills. You may not work at a low level and deal with matrices and other formulas but having the knowledge of how vectors are transformed is essential in the industry. Much of the math required is contained in linear algebra and trigonometry. The top concepts you need to know:

  • Vectors
  • Matrices
  • Rotations (Quaternions)
  • Dot Product
  • Cross Product

Excellent book that is now free online. https://gamemath.com/

Good resources for learning the foundation of transformations. https://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/points-vectors-and-normals.html

https://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-1/

Graphics

Contains excellent database of graphics programming resources. The database is searchable by title, and each article has been tagged to make it easier to find items again. Highly recommended that you subscribe to the weekly newsletter if you are interested in computer graphics. https://www.jendrikillner.com/#about

Rendering Engine Architecture Conference (REAC) is a computer graphics conference about real-time rendering. The site contains information on conference talks with links to videos on the presentations. https://enginearchitecture.org/index.htm

Game AI

Online versions of the Game AI Pro book series. Contains a large collections of Game AI articles from professional industry developers covering techniques and algrorithms used in many popular games. https://www.gameaipro.com/

General Game Development

Of course, this is what we’re here for. It is important that we understand the core components of software engineering and the math involved in transforming objects in space, but game design and programming concepts get us to where we want to be.

YouTube

Excellent channel that contains a lot of information on game design theory. https://www.youtube.com/@GMTK

Mix and Jam is an experimental game development channel, where they study things from the game industry and try their best to study and even recreate them! https://www.youtube.com/@mixandjam/featured

Sebastian Lague creates video on a variety of game related subjects. His explanations are easy to follow and the production is excellent. This is a must see channel. https://www.youtube.com/@SebastianLague

Freya Holmér does videos on tech art, math, game dev, and whatever else they want to project to your screens. This is a great channel to increase your game math knowledge. https://www.youtube.com/@acegikmo

Game Industry talks by professionals. Essential material that covers art, design, code, and marketing. https://www.youtube.com/@Gdconf

Excellent book on various topics that aren’t game specific and written in JavaScript (easy to convert to another language). Coding Train is the YouTube channel with video tutorials on the topics in the book. https://natureofcode.com/book/ https://www.youtube.com/@TheCodingTrain

Excellent YouTube channel on developing a game engine with C++. https://www.youtube.com/@TheCherno

Game Jams

Game Jams are a great way to improve your skills and connect with others in the game community. Game Jams help you to think and work fast to create and execute ideas. There are games that started as a Game Jam and then became full games like “Superhot”, “Celeste” and “Surgeon Simulator.” These pages have a calendar of game jams that you can join.

https://itch.io/jams

https://www.indiegamejams.com/

This post is licensed under CC BY 4.0 by the author.