N.G.C.K

« Newbie Game Construction Kit »

(Christophe Kohler, V3.2 2004-2015)


 


« NGCK » Qu’est ce que c’est ?

 

NGCK est une méthode d’apprentissage du C/C++ par le biais d’exercice pratique liés aux jeux vidéos.

 

NGCK est un environnement simplifié de développement pour PC. L’idée est d’avoir une abstraction complète de la machine en proposant des fonctions d’affichages très rudimentaires (par exemple la fonction KPrintSquare(X,Y) qui affiche un carré blanc à l’écran).

 

NGCK s’adresse aux débutants en programmation. Il permet de créer des premiers programmes simples sans avoir la contrainte de comprendre comment fonctionne une librairie d’affichage sur PC et ainsi de pouvoir se concentrer sur l’apprentissage du langage C/C++.

 

NGCK possède une structure similaire à celle d’un jeu vidéo. C'est-à-dire qu’on retrouve une partie « initialisation » qui sera le code exécuté au lancement du jeu, et ensuite une parti « boucle de jeu » qui sera exécutée à chaque balayage de l’écran.



1 - NGCK "EASY"



La première série d'exercice. C'est par ici qu'il faut commencer.

VISUALC++ 2015 COMMUNITY / SDL

Telecharger le pack complet (2Mo) : NGCK_EASYV30_VISUAL2015.ZIP (testé avec Visual Studio 2015 community, fonctionne aussi avec les anciens visual). Note :Le zip contient les DLL de la SDL, il peut être classé comme "dangereux" par votre antivirus ou navigateur. Le zip est cependant tout à fait sain.

Version pour Visual 2013 : NGCK_EASYV30_VISUAL2013.ZIP

 

UNIX / SDL

Telecharger le pack complet (500Ko) : NGCK_Unix.tgz (merci a Godrik pour cette version).


Pour voir la liste des exercices … cliquez ICI


2 - NGCK "MEDIUM"


Suite des exercices, au pixel maintenant.
1 série d'exercices de base et trois thèmes de projets proposés. Mise à disposition d'une classe "f2d" pour faire des opérations géométriques. Gestion du temps ecoulé.

VISUALC++ / SDL - Niveau Moyen

Telecharger le pack complet (1Mo) : NGCK_Medium_Vcpp.zip (Visual Studio 2015 community)


 


3 - NGCK "ADVANCED"


Version opengl qui permet d'afficher des sprites et de jouer de la musique. Tout pour faire un jeu complet.
- Ecran 960x540 (configurable) 0,0 dans le coin haut gauche.
- Chargement Sprite en PNG (possibilité de rotation et zoom)
- Moteur son pour jouer sons ou musiques
- Vecteur 2D disponible
- Affichage fontes
- Programme d'exemple "COQMAN" (dessins fait par Marco, 7 ans).

VISUALC++ / OPENGL - Niveau Avancé

Telecharger le pack complet (9Mo) : NGCK_Advanced_Vcpp.zip (Visual Studio 2015 community)







CORRIGES SUPPLEMENTAIRES (pour niveau facile)
Pour rire, un exemple de 3D fait avec NGCK. Voici la vidéo du résultat : http://www.youtube.com/watch?v=SLkBzsAPOw0

Et voici le source code

 


- FAQ

Question : "J'ai téléchargé NGCK et j'arrive pas à le faire marcher"

Reponse : "En général c'est simplement parce que vous avez pas lu la doc. Il y a un fichier dans la méthode qui explique comment faire. Les causes de problèmes le plus fréquentes sont :

- Il faut décompresser l'archive NGCK en entier sur votre disque dur (et non double cliquer sur un fichier dans l'archive).

Question : "Quand j'appuie sur F5 ("run"), cela me dit qu'une DLL n'est pas trouvée"

Reponse : Quand on est sous visual, il faut lui indiquer dans quel répertoire visual doit se mettre avant d'exécuter le programme. Il faut se mettre dans le répertoire ou j'ai mis les DLL. C'est "Executables". La marche a suivre est indiquée dans le doc.

Question: Sous Visual 2013, j'ai l'erreur suivante : "error LNK2019: symbole externe non résolu __imp____iob_func référencé dans la fonction _ShowError"

Reponse: Dans votre programme, ajoutez la ligne

extern "C" { FILE*__iob_func(void) { return NULL;}; }

Dans NGCK 2015 j'ai recompilé SDL, donc utilisez plutot visual 2015.

Question : "Comment on le fait fonctionner sur Unix ?"

Reponse : Pour que ca marche sous Debian il faut
-avoir les lib SDL et SDL_image installer sur son systeme. Il suffit d'installer les paquet de développement de la SDL. Chez Debian et probablement chez ubuntu, il s'agit des paquets libsdl1.2-dev et libsdl-image1.2-dev. On peut les installer en appelant "aptitude install libsdl1.2-dev libsdl-image1.2-dev" chez debian et "apt-get install libsdl1.2-dev libsdl-image1.2-dev" chez ubuntu (ou en utilisant synaptic).
-decompresser l'archive n'importe ou.
-pour tester les corriges, aller dans le repertoire Corriges et appeller "make" puis pour tester le corriger de l'exercice ExA1 il faut appeller "./MyGameExA1"
-pour tester son code, aller dans le repertoire adequat et faire "make" puis "./MyGame"


 

Si vous voulez ajouter des exercices, alors faites les et envoyez les moi à MAIL A KRISTOF

 

Si vous avez fait la méthode et vous la trouvez super, dites le moi à MAIL A KRISTOF