Skip to content
This repository was archived by the owner on Jul 7, 2024. It is now read-only.

Latest commit

 

History

History
57 lines (37 loc) · 3.25 KB

Assignment.md

File metadata and controls

57 lines (37 loc) · 3.25 KB

Final Java GUI Assignment: Multiplayer Snake Game using LibGDX

Objective: Develop a multiplayer version of the classic Snake game using the LibGDX game development framework. This project will allow students to combine their Java programming skills with game development techniques to create an interactive and competitive game environment.

Background: Using LibGDX, a robust Java game development framework, students will explore creating rich graphical user interfaces, managing game states, and implementing real-time gameplay mechanics.

Assignment Description:

Project Setup:

  • Groups of three students will collaborate on design, development, and testing.
  • Create a LibGDX project that targets desktop platforms for easier setup and testing.

Game Mechanics:

  • Implement classic Snake gameplay where the player controls a snake moving around a grid, eating food to grow longer.
  • Each piece of food eaten increases the snake's length and the game's speed slightly.
  • Include boundaries or make the walls non-colliding, allowing the snake to pass through one wall and come out the opposite side.

Multiplayer Features:

  • Allow two players to compete on the same screen, each controlling a snake with keyboard inputs.
  • Implement collision detection between snakes, where the game ends if a snake collides with itself or the other snake.
  • Track and display each player's score based on how much food their snake has consumed.

Graphical User Interface:

  • Use LibGDX to design a dynamic and visually appealing interface.
  • Create distinct, colorful sprites for different snakes, food items, and possibly obstacles.
  • Develop a scoreboard to keep track of and display scores in real-time.

Enhancements and Sound:

  • Add sound effects for eating food, collision, and other game events using LibGDX’s audio capabilities.
  • Consider implementing power-ups that appear occasionally and can temporarily speed up the snake or make it invincible.

Documentation and Testing:

  • Document the design decisions, game rules, and development process.
  • Test the game thoroughly to ensure that the mechanics are solid and the game is free from bugs.

Learning Outcomes:

  • Game development with LibGDX: Gain hands-on experience in setting up and using the LibGDX framework for creating engaging games.
  • Real-time gameplay mechanics: Learn about managing real-time interactions and collisions in a game.
  • Team collaboration and project management: Develop effective team-working skills and project management through collaborative coding and version control.

Deliverables:

  • Complete source code for the multiplayer Snake game.
  • Documentation including setup instructions, user guide, and system requirements.
  • A series of unit tests and debugging reports.
  • A final presentation detailing the project's scope, development challenges, and user feedback.

Estimated Time: Designed as a multi-week capstone project, with milestones for initial design, core development, final testing, and presentation.

This final assignment encourages creativity and problem-solving in a collaborative setting, providing students with a substantial project that showcases their development skills in a fun and competitive gaming context.

Última atualização: terça-feira, 23 abr. 2024, 08:04