tl; dr: Apprendre à créer un moteur est souvent aussi utile à la création de jeux que d'apprendre à construire son propre ordinateur et système d'exploitation à partir de zéro. Si vous n'êtes pas un expert dans le domaine, vous ne voulez probablement pas faire de moteur. Faites un jeu à la place, la partie moteur existe déjà. Plus tard, si aucun des moteurs auxquels vous avez accès ne répond aux critères de conception de votre jeu, vous pouvez vous concentrer sur la construction de cet aspect spécifique et l'enfer pourrait également être utile aux autres puisque vous créez quelque chose de nouveau et ne ressassez pas une version moins robuste de quelque chose dans lequel les gens ont déjà investi des milliers d'heures.
Version longue: si vous voulez vraiment apprendre à écrire un moteur, ne regardez pas encore un moteur existant. Apprenez à la place des parties (algorithmes) qui font un moteur, que ce soit le rendu, la physique ou la recherche de chemin, etc. Une fois que vous aurez acquis une compréhension approfondie d'un aspect spécifique, vous voudrez peut-être vérifier la source.
Normalement, vous ne souhaitez pas apprendre directement à partir de la source, sauf s'il n'y a pas d'alternative supérieure. Même les programmeurs expérimentés ne regarderaient normalement pas la source d'un moteur entier pour en tirer des leçons (s'ils peuvent l'aider), ils en inspecteraient très probablement une partie spécifique ou en modifieraient une certaine partie. Essayer de regarder la source à des fins d'apprentissage pur n'exposerait pas la procédure et le processus de réflexion derrière le code moteur; Ce serait comme déchirer un bâtiment en morceaux pour essayer d'en voir l'intérieur afin d'apprendre à en construire un. Bien que je sois d'accord avec la réponse de Josh, je vais aller encore plus loin, vous n'apprenez même pas le "Comment" dans de nombreux sens (à moins que vous ne soyez familier avec le domaine); par exemple, quelle méthodologie a été utilisée par l'équipe de programmation? Sur quels principes s'appuyaient-ils pour implémenter un code de travail? Quels outils et techniques ont-ils utilisés pour le débogage? Toutes ces questions sont parfois plus importantes que le code lui-même (à des fins d'apprentissage).
Si vous souhaitez apprendre de la source, recherchez une source bien documentée et dotée d'une solide communauté autour d'elle. La lecture de code (moteur), même si vous l'avez écrit vous-même, est souvent source de confusion.