tl; dr: Aprender a hacer un motor suele ser tan útil para la creación de juegos como aprender a construir su propia computadora y sistema operativo desde cero. Si no eres un experto en el campo, probablemente no quieras hacer un motor. Haz un juego, la parte del motor ya existe. Más adelante, si ninguno de los motores a los que tiene acceso cumple con los criterios para el diseño de su juego, podría enfocarse en construir ese aspecto específico y demonios podría ser útil para otros también, ya que está creando algo nuevo y no está volviendo a contar una versión menos robusta de algo en lo que la gente ya invirtió miles de horas.
Versión larga: si realmente quieres aprender a escribir un motor, no mires un motor existente todavía. Aprenda en lugar de las partes (algoritmos) que forman un motor, ya sea renderizado, física o búsqueda de rutas, etc. Una vez que obtenga una comprensión profunda de un aspecto específico, es posible que desee verificar la fuente.
Normalmente no desea aprender directamente de la fuente a menos que no haya una alternativa superior. Incluso los programadores experimentados normalmente no mirarían la fuente de un motor completo para aprender de él (si pueden ayudarlo), lo más probable es que inspeccionen una parte específica o modifiquen una determinada parte. Intentar mirar la fuente con fines de aprendizaje puro no expondría el procedimiento y el proceso de pensamiento detrás del código del motor; Eso sería como desgarrar un edificio en pedazos en un intento de ver su interior para aprender a construir uno. Si bien estoy de acuerdo con la respuesta de Josh, lo llevaré un paso más allá, ni siquiera aprendes el "Cómo" en muchos sentidos (a menos que estés familiarizado con el campo); por ejemplo, ¿Qué metodología utilizó el equipo de programación? ¿En qué principios se basaron para implementar el código de trabajo? ¿Qué herramientas y técnicas utilizaron para la depuración? Todas estas preguntas son a veces más importantes que el propio código (para fines de aprendizaje).
Si desea aprender de la fuente, busque una fuente que esté bien documentada y que tenga una comunidad sólida a su alrededor. Leer el código (del motor), incluso si lo ha escrito usted mismo, a menudo es confuso.