Skip to content

Program132/TextGameEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text Game Engine

TGE (Text Game Engine) est un projet personnel débuté l'année dernière. Après une première version en Python, je me suis lancé le défi de créer cette nouvelle version en C.

Objectif

Créer un moteur de jeu textuel en C capable de faire de la 3D (et donc de la 2D). C'est l'occasion pour moi d'implémenter un pipeline 3D de A à Z.

Point clé : Mon objectif est d'utiliser le moins de bibliothèques externes possible. J'ai notamment réimplémenté les fonctions mathématiques les plus basiques (cos, sin, sqrt, etc.) qui sont essentielles, en utilisant des développements limités (Séries de Taylor).

Phase 1 : Fondations Mathématiques

Description

Cette première phase met en place les outils mathématiques fondamentaux : vecteurs, matrices, et fonctions trigonométriques redéfinies "from scratch".

Concepts Mathématiques

  • Algèbre Linéaire : Matrices (Matrix4), Vecteurs (Vector2, Vector3, Vector4).
  • Quaternions ($\mathbb{H}$) : Utilisés pour les rotations 3D (évite le gimbal lock). L'ensemble des quaternions est noté $\mathbb{H}$ (en hommage à Hamilton), et inclut les nombres complexes $\mathbb{C}$.
  • Analyse : Redéfinition des fonctions cos, sin, tan, acos, asin, sqrt, pow via des développements limités (Séries de Taylor).

Code C

Voici les principaux fichiers implémentés durant la Phase 1 :

Outils de base (src/math/tools/)

  • trigonometry.c (cos, sin, tan, acos, asin)
  • sqrt.c, pow.c, fabs.c, factorial.c

Structures de données (src/math/)

  • vector2.c, vector3.c, vector4.c
  • matrix4.c
  • quaternion.c
  • utils.c (clamp, lerp, map, smoothstep)

About

Game Engine text-based

Resources

Stars

Watchers

Forks