NSI project --> 2D platformer in Python with Pygame

Overview

Projet de NSI (2021-2022): Jeu sous Python

Collaborateurs: Remi K-S et Nathan D

Lien de l'environnement IDE de Python en ligne: https://replit.com/@RemiK-S/NSI-Project-2021-2022-Remi-K-S-et-Nathan-D#main.py ET si le premier lien ne marche pas: https://replit.com/join/xczalmmhdt-ndd7

Voir "Instructions du jeu" à la fin de ce fichier README

Idées de jeux sur lesquels se baser

  • Super Mario Bros. (1985)
  • Terraria
  • Pac-Man
  • Trap Adventure 2 (Impossible Game)

Idée générale: jeu Side Scroller nommé "Voyage of Death" (semblable à Trap Adventure 2)

  • Nom du jeu: "Voyage of Death"
  • Jeux programmé avec le moteur de jeu Pygame en utilisant le langage Python
  • L'arrière plan du jeu ne se déplace pas, mais c'est le personnage lui-même qui se déplace et une fois qu'il à atteint un coté de l'écran, le niveau change
  • Ce sera un Jeu de Plates-Formes (Platformer), où le joueur doit éviter des obstacles (piques, trous, ...) sous peine de perdre des coeurs (PV ---> Points de Vie)
  • "Voyage of Death" sera inspiré et basé sur le jeu Trap Adventure 2. Voici un lien Youtube pour donner une idée visuelle du jeu envisagé: https://youtu.be/YUTzQ-A0-oA
  • Il y aura plusieurs mondes, chacun contenant plusieurs niveaux
  • Chaque monde aura un thèmes different qui affectera les caracteristiques du personnage selon l'environnement, ces caractéristiques seront apliquées sur tout les niveaux de chaque monde
  • Une fois arrivé à la fin de tout les mondes sans mourir (sans avoir perdu tous les coeurs), le joueur à gagné le jeu
  • Les obstacles peuvent être statiques ou mobiles, les obsacles peuvent aussi apparaitre en dehors de l'écran
  • Le personnage sera customisable, differents cosmetiques, (couleurs, ...)
  • Il y aura un ou plusieurs niveau ou le personnage sera dans l'eau
  • Il y aura des super-pouvoirs (power-ups) qui auront des effets positifs et négatifs tels que double-saut, ralentissement, vitesse, plus de coeurs (amélioration)... qui seront achetables depuis un marchand
  • Il y aura un Boss au dernier niveau de chaque monde, qu'il faudra tuer pour progresser dans le jeu
  • Le personnage sera capable de sauter, s'accroupir, aller à gauche et à droite et d'attaquer
  • Il sera impossible de retourner à un niveaux précédent, sauf si le joueur tombe dans un piège (caché ou non)
  • Il y aura des passages secrets contenant soit des pièces d'argent ou des pièges que le joueur devra éviter
  • A chaque fin de niveau il est possible de gagner plus ou moins de pièces d'argent selon le temps pris par le joueur pour le compléter, si des power-ups ont été utilisés et la difficulté du niveau
  • Il y aura 2 modes de difficulté dans le jeu: "Normal" et "Hardcore". Le mode "Normal" laisse le joueur la possibilité d'utiliser l'entièreté du stock du marchand (sans pénalités), le joueur a un bon nombre de coeurs et si il meurs il peut réapparaitre à des checkpoints répartis à travers le jeu. Le mode "Hardcore" donnera au joueur moins d'options d'achat au marchand, il aura moins de coeurs et si il meurs, il devra recommencer au tout début du jeu (Monde 1, Niveau 1) et quand il gagne le jeu, il sera très bien récompensé
  • Des effets sonores et de la musique seront également présents dans le jeu

Les idées marquées en gras sont soit trop ambitieuses (pas absolument nécessaires) et ne seront peut-être pas achevées ou sont soit destinées à être modifiées

Planning prévisionnel général sur 15 semaines:

= Fini ; = Incomplet ou pas commencé

  • Semaine 1-3 (3 Déc. - 10 Déc. - 17 Déc.): Brainstorming d'idées pour la création du jeu

  • Semaine 4-6 (7 Jan. - 14 Jan. - 21 Jan.): Etablir les bases du jeu: Création du personnage (son Sprite ---> son apparence), ses déplacements (gauche, droite, saut, accroupissement (et peut-être attaque))

  • Nathan: Faire le Pixel art des sprites du Personnage et du Marchand

  • Rémi: Faire le plan de la carte du premier monde (Idée de projet --> 2 Mondes), faire la logique du marchand et ses marchandises

  • Semaine 7-9 (28 Jan. - 4 Fév. - 11 Fév.): Introduire plusieurs éléments dans la base du jeu: Système monétaire (pièces d'argent), marchand, power-ups, cosmétiques

  • Nathan: Collision du personnage avec les obstacles, faire le pixel art des ennemis

  • Rémi: Faire tous les niveaux de chaque monde (Idée de projet --> 2 mondes), faire la logique du marchand et ses marchandises

  • Semaine 10-12 (18 Fév. - 25 Fév. - 4 Mars): Ajouter au jeu: le son, la musique, animations des Sprites et du monde

  • Semaine 13-15 (11 Mars - 18 Mars - 25 Mars): Testing du jeu, recherche de bugs et glitches ---> debugging, balancement du jeu (Equitabilité de la difficulté)

Instructions du jeu programmé (sur Replit - "FrenchRawPerformance"):

= Fini ; = Incomplet ou pas commencé

Pour déplacer le personnage:

  • Flèches directionnelles horizontales: '←' et '→' --> Aller à gauche et à droite
  • Barre d'Espace: ' ' --> Sauter (On pourra peut-être utiliser '↑' pour sauter)
  • Flèche basse: '↓' --> S'accroupir

Pour interagir avec l'environnement:

  • Touche f ou e: 'f' ou 'e' --> Interagir (avec marchand ou autre)
  • Clique gauche de souris: 'LMB' --> Attaquer (LMB = Left Mouse Button = Boutton de Souris Gauche)
Owner
Remi K-S
Remi K-S
HackNC 2021 Project

pyTunes HackNC 2021 Project Setting Up Once the repo is cloned, install the requirements through pip install -r ./requirements.txt Once that is done,

Demo 1 Nov 07, 2021
Quiz Game: answering questions naturally with a friendly UI to enjoy the game

About Quiz Game : The Game is about answering questions naturally with a friendl

4 Jan 19, 2022
j-chess implementation in python

j-chess-client-python This repository aims to be a starting point for implementing a chess ai for the j-chess-server in python. To start, you can copy

Jonas 1 Dec 25, 2021
A Python based program that displays Your Minecraft Server's Status Infos.

Minecraft-server-Status This (very) small python script allows you to view any Minecraft server's status Information Usage Download the file, install

Jonas_Jones 2 Oct 05, 2022
Blackjack-Py is a terminal based game of blackjack within your terminal playing against CPU.

About Blackjack-Py is a terminal based game of blackjack within your terminal playing against CPU. Usage Clone the repo and run it with whatever pytho

Eccentrici 1 Dec 28, 2021
Ultimaze est un jeu en 2.5D, réalisé dans le cadre d'un projet de NSI.

Ultimaze Ultimaze est un jeu en 2.5D, réalisé dans le cadre d'un projet de NSI. La consigne était d'utiliser la librairie pygame pour créer un jeu en

parlabarbedeMerlin 3 Sep 17, 2022
Yo-Snake - A blend of yolov5 and deepsnake

Yo-Snake A blend of yolov5 and deepsnake 结合了yolov5和Deepsnake模型 Deepsnake 模型代码比较复

7 Apr 01, 2022
Fully functional BlackJack game with a graphical user interface.

BlackJack Welcome to BlackJack! This game is fully functional, with a casino sound package integrated using Pygame, dynamic game logic developed using

Shwetang Desai 2 Jan 10, 2022
A networking library for multiplayer games.

Aerics A networking library for multiplayer games. Getting Started Install Python Open cmd/terminal and type: pip install Aerics Examples Creating a

Yusuf Rençber 3 Jan 04, 2023
A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

Amos 3 Aug 29, 2021
A small, Pygame-based library project intended for personal use.

EzyGame Version 0.0.1 A simple library project intended for personal use with Pygame. Warning: I am a very amateur programmer, so the code will probab

Dorbell 1 Jan 08, 2022
N-Queens game made using pygame library

N-Queens N-Queens game using pygame for AIML201 Testing: 1. git clone https://github.com/python-game-dev/N-Queens.git 2. cd N-Queens 3. python main.py

1 Sep 24, 2021
Solution for automation games play-to-earn

Pillow automation used processing images

Luis Eduardo Camilo 1 Jan 19, 2022
A simple script which allows you to see how much GEXP you earned for playing in the last Minecraft Hypixel server session

Project Landscape A simple script which allows you to see how much GEXP you earned for playing in the Minecraft Server Hypixel Usage Install python 3.

Vincenzo Deluca 4 Dec 18, 2021
Snake (PyGame-based) port for Minecraft:Bedrock Edition using PEWSAPI

Snake_PEWSAPI Snake (PyGame-based) port for Minecraft:Bedrock Edition using PEWSAPI And we are not going to make any change to the original Snake sour

Azuki 1 Mar 17, 2022
An ongoing process to make a physics engine using python.

Simple_Physics_Engine An ongoing process to make a physics engine using python. I am using this goal as a way to learn python in and out. I am trying

Jon Sherrick 1 Jan 18, 2022
CoinTex: Cross-platform Multi-Level Game created in Python using Kivy

CoinTex: Cross-platform Multi-Level Game created in Python using Kivy CoinTex is a multi-level adventure game created using the Kivy cross-platform Py

Ahmed Gad 57 Dec 11, 2022
:tada: 2048 in your terminal

term2048 term2048 is a terminal-based version of 2048. Install pip install term2048 To upgrade a previous installation, use: pip install -U term2048

Baptiste Fontaine 798 Nov 21, 2022
Typing test and practice on command line without the need of any internet connection

Terminal-Typing-Test Typing test and practice on command line without the need of any internet connection About CLI based typing test and practice tha

Angad Deep Singh 3 Oct 19, 2022
A fully automated system that transforms Twitch clips into gaming compilations

A fully automated system that transforms Twitch clips into gaming compilations Authors: Christian C., Moritz M., Luca S. Related Projects: Neural Netw

215 Dec 27, 2022