Il va te falloir du temps et beaucoup de patience.
- des graphiques : dessins du mario, des ennemis, des items, des fonds d'écran, etc.
A créér avec un programme de dessin.
- un moteur graphique 2D : pour l'affichage de tes images.
A coder toit même ou utiliser une librairie spécialisée.
- Un moteur d'intelligence artificielle : pour déterminer le comportement des ennemis.
A coder toit même.
- Un algo de détection de collision : pour empêcher mario de traverser les murs, pour détecter la collision d'un ennemi et de mario, pour détecter la collision d'un élément du décors et de mario, etc ....
- Une structure de fichier pour décrire les niveaux (graphiques, position initiale des ennemis, position des items, ...) et les routines qui permettent de lire et d'écrire ces structures dans des fichiers (le top est de créér un programme qui te permet d'éditer ces structures et de les visualiser.
- Un gestion des entrée (clavier, souris) pour faire bouger mario.
Ca fait pas mal de boulot (et je n'ai pas parlé de musiques, de synchronisation bruitages/collisions). Il y en a pour plusieurs centaines d'heures de boulot pour arriver à un résultats de type "supermario'" ou "sonic".
La première chose à faire est, bien entendu, d'apprendre un langage.