Skip to content

An open-source platform for gameholics where developers(/learners) develop, deploy and share their online(/offline) multiplayer games 🕹️ in java. The idea emphasis on learn-with-fun approach.

Notifications You must be signed in to change notification settings

pj-25/Gameholic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Gameholic 🤖

An open-source platform for gameholics where developers(/learners) develop, deploy and share their online(/offline) multiplayer games 🕹️ in java. The idea emphasis on learn-with-fun approach.

The project is under development as a proof of concept for the JavaServerClientAPI.

COMMIT_STATUS

STATUS IDE


📖 Documentation

Jump to documentation -->

🚀 Download

Download Game control panel(Windows/linux with JDK8)

🕹️ Game Control Panel

Compatibility: JDK 8 with JavaFX App preview

Get Started

Connect to server from bottom pane
Enter your name -> Click Connect

Launch your game from Launcher tab(on left side). 
Select Game -> Select Game Mode -> Play  

# Online: 
To play online, player can either create a game or join a game. 
* Create game: 
    Click create button -> wait for server to create game session -> share the generated game session ID to opponent or invite via Gmail/WhatsApp/AskToJoin notification.  
* Join game: 
    Get game session ID from your friend and click join button

# Offline: 
Enter player names -> click start game button

Open Game Store Tab(on left side) to search and download new games

Notifications are shown in notification pane(on bottom right side)

Chat window lets you chat with your friends (only when online)

🗃️ Project Structure

gameholic/
├── gameholic.iml
├── gameManager
   ├── gameManager.iml
   └── src
       └── gameholic
           └── gameManager
               ├── GameManager.java
               └── GameMode.java
├── out
   ├── artifacts
      ├── gameholic_jar
         └── gameholic.jar
      └── gameManager_jar
          └── gameManager.jar
   └── production
       ├── gameholic
          ├── gameholic
             ├── gameConfig.properties
             └── gameControlPanel
                 ├── GameControlEvent.class
                 ├── Main.class
                 └── res
                     ├── images
                     ├── layouts
                        ├── components
                           ├── ChatWindow.class
                           ├── ChatWindow.fxml
                           ├── GameStore.class
                           ├── GameStore.fxml
                           ├── GetStarted.class
                           ├── GetStarted.fxml
                           ├── GetStartedViews.fxml
                           ├── Launcher.class
                           ├── Launcher.fxml
                           └── notification
                               ├── JoinNotification.class
                               ├── JoinNotification.fxml
                               ├── NotificationBox.class
                               ├── NotificationBox.fxml
                               ├── Notifications.class
                               ├── Notifications.fxml
                               └── NotificationType.class
                        ├── GameControlPanel.class
                        └── GameControlPanel.fxml
                     └── stylesheets
                         ├── Default.css
                         ├── Light.css
                         └── PlainDark.css
          └── META-INF
              └── MANIFEST.MF
       ├── gameManager
          └── gameholic
              └── gameManager
                  ├── GameManager.class
                  └── GameMode.class
       └── server
           └── gameholic
               └── server
                   ├── GameholicServer.class
                   ├── gameSessionHandler
                      ├── GameSession$OpponentNotJoinedException.class
                      ├── GameSession.class
                      └── PlayerType.class
                   └── services
                       ├── GameControlEvent.class
                       ├── PlayerConnection$1.class
                       └── PlayerConnection.class
├── server
   ├── server.iml
   └── src
       └── gameholic
           └── server
               ├── GameholicServer.java
               ├── games
               ├── gameSessionHandler
                  ├── GameSession.java
                  └── PlayerType.java
               └── services
                   ├── GameControlEvent.java
                   └── PlayerConnection.java
└── src
    ├── gameholic
       ├── gameConfig.properties
       ├── gameControlPanel
          ├── GameControlEvent.java
          ├── Main.java
          └── res
              ├── images
              ├── layouts
                 ├── components
                    ├── ChatWindow.fxml
                    ├── ChatWindow.java
                    ├── GameStore.fxml
                    ├── GameStore.java
                    ├── GetStarted.fxml
                    ├── GetStarted.java
                    ├── GetStartedViews.fxml
                    ├── Launcher.fxml
                    ├── Launcher.java
                    └── notification
                        ├── JoinNotification.fxml
                        ├── JoinNotification.java
                        ├── NotificationBox.fxml
                        ├── NotificationBox.java
                        ├── Notifications.fxml
                        ├── Notifications.java
                        └── NotificationType.java
                 ├── GameControlPanel.fxml
                 └── GameControlPanel.java
              └── stylesheets
                  ├── Default.css
                  ├── Light.css
                  └── PlainDark.css
       └── games
    └── META-INF
        └── MANIFEST.MF

45 directories, 71 files

*click any of the above highlighted file to navigate to its source code

About

An open-source platform for gameholics where developers(/learners) develop, deploy and share their online(/offline) multiplayer games 🕹️ in java. The idea emphasis on learn-with-fun approach.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published