Skip to content

AminLari/Slither.IO-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Slither.IO Game

This repository contains the reproduction of the Slither.IO game interface from scratch using the JavaFX package in Java. The project demonstrates gameplay mechanics, interface design, and programming techniques for recreating the classic multiplayer game.

📂 Repository Structure

1. Source Codes

  • The core JavaFX source code for the Slither.IO game implementation.
  • Key Files and Directories:
    • Game.java: Core game logic and mechanics.
    • Main.java: Application entry point.
    • Controller.java & ControllerSt.java: Game controllers and logic handlers.
    • LostPane.fxml: Game over screen layout.
    • changeSkin.fxml: Layout for skin customization.
    • game.fxml: Main game screen layout.
    • Res/: Folder containing assets like soundtracks.
    • main.css: CSS for styling the interface.

2. Demo Videos

  • Contains video demonstrations showcasing the features and gameplay of the Slither.IO reproduction.
  • Files:
    • An introduction to game scene.mp4
    • Back button and quit button.mp4
    • Collision of snake and bots (intro).mp4
    • Game Over!!.mp4
    • Intro.mp4
    • Let's eat some bots!!.mp4

3. Required Fonts

The fonts needed for the game's interface are located in the Required Fonts folder. To ensure proper styling:

  1. Download all font files from the folder:
  2. Install them on your operating system:
    • Windows: Right-click on the font file and select Install.
    • Mac: Double-click the font file and click Install Font.
    • Linux: Copy the font files to ~/.fonts or /usr/share/fonts.

🎮 Features

  • Smooth Gameplay Mechanics: Reproduces the movement and collision detection of Slither.IO.
  • Customizable Skins: Allows players to change their snake's appearance.
  • Interactive Menus: Back and quit buttons with dynamic behaviors.
  • Game Over Screen: Displays when the player loses.
  • Soundtrack Support: Includes the background soundtracks used during gameplay.

🛠️ Technologies Used

  • JavaFX: For creating the graphical user interface (GUI).
  • Java: For implementing game logic and mechanics.
  • FXML: For designing and organizing layouts.
  • CSS: For styling the game interface.

🚀 Getting Started

Prerequisites

  • Java Development Kit (JDK) version 11 or higher.
  • IDE with JavaFX support (e.g., IntelliJ IDEA, Eclipse).

Installation

  1. Clone this repository:
    git clone https://github.com/AminLari/Slither.IO-Game.git
    
  2. Open the project in your IDE.
  3. Set up the JavaFX SDK path in your IDE.
  4. Run the Main.java file to start the game.

📽️ Results

Watch how the game works in the demo videos provided in the Demo Videos folder. Each video showcases a specific feature of the game:

  1. An Introduction to the Game Scene
    An introduction to game scene.mp4
    Overview of the initial game interface and controls.

  2. Back and Quit Buttons
    Back button and quit button.mp4
    Demonstrates the functionality of navigation and quitting the game.

  3. Snake and Bot Collisions
    Collision of snake and bots(intro).mp4
    Showcases how collisions between the snake and bots are handled.

  4. Game Over!
    Game Over!!.mp4
    Example of the game-ending interface.

  5. Intro Scene
    Intro.mp4
    Displays the game’s intro screen.

  6. Let’s Eat Some Bots!
    Let's eat some bots!!.mp4
    Highlights gameplay involving bot interactions.

📞 Contact

If you have any questions, feedback, or suggestions regarding this project, feel free to reach out:

You are welcome to create issues or pull requests to improve the project. Contributions are highly appreciated!

About

Reproduction of Slither.IO game interface from scratch using JavaFX package of Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published