Skip to content

HieuVuhv5/pong_game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Final Project Report: 2-D Pong Game using Rust and Nannou Game Engine

Project Description

The goal of this project was to create a 2-D Pong game using Rust, a modern systems programming language known for its speed, safety, and low-level control. The game was built using the Nannou game engine, which was chosen for its simplicity and ease of implementation.

Member Information

Reason for Project Change

The project was initially planned as a personal blog built with Rust and a web framework. However, considering the effort required to implement a blog with features like MVC architecture, a PostgreSQL database, and both front-end and back-end web pages, the decision was made to change the project to a game development project.

New Project: 2-D Pong Game using Nannou Game Engine

The new project involved creating a 2-D Pong game using the Rust programming language and the Nannou game engine. Nannou was chosen due to its simplicity and the ease of understanding its codebase.

Game Project Features

  1. User Interaction: Players control the game using the left and right arrow keys on the keyboard to move the paddle.
  2. Scoring: Each time the paddle hits the ball (preventing it from falling below the paddle), the player's score increases by 1.
  3. High Score: The highest score achieved by the player is stored and updated at the end of each game.
  4. Difficulty Levels: The game features three difficulty levels based on the player's score. As the level increases:
    • Level 1: The ball speed increases, and random obstacles appear on the screen.
    • Level 2: The ball speed doubles.
    • Level 3: The ball speed increases gradually over time.
  5. Ball Direction Control: The player can change the direction of the ball by hitting the left or right arrow key when the ball hits the paddle. This helps redirect the ball towards a desired movement direction.

Areas for Improvement

  1. Additional Obstacles: Implement different shapes for obstacles, such as circles, triangles, and ellipses, to increase gameplay variety and challenge.
  2. 3D Gaming Upgrade: Explore possibilities for enhancing the game's visuals and adding a 3D element to the gameplay.
  3. Mouse Control: Add support for controlling the paddle using the mouse, providing players with an alternative input method.

Conclusion

The final project involved creating a 2-D Pong game using Rust and the Nannou game engine. The game features user-controlled paddles, scoring, high score tracking, and multiple difficulty levels. Future improvements include adding additional obstacle shapes, exploring 3D enhancements, and incorporating mouse control for paddle movement. Overall, the project achieved its goal of developing a playable game using Rust and demonstrating proficiency in game development concepts.

About

Rust 2D Pong game using Nannou

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages