Giter VIP home page Giter VIP logo

the-achis's Introduction

The Achis

Introduction

The Achis is a game based on The Settlers 1 and 2. It's built using javaFX (because I was basically forced to use it)

How to play

Setup

The Game is Multiplayer-Only. You have 2 Options:

  1. You choose the official server achirealm.com
  2. You compile/download the server program and run it on your private Server or via VPN with friends

Lobbies

After starting the client you have the options to either create or join a Lobby

Creating a Lobby

Creating a Lobby makes you the Owner of this Lobby. Being the Lobby Owner gives you the ability to kick people from the Lobby and Start the Lobby. If you leave/close the Lobby every Member of it will be kicked.

Joining a Lobby

You can choose a Lobby from the Lobby list. After joining a Lobby you are able to choose from a free Color and Start-Position.

Ingame

After the Lobby Owner started the game you are able to play against other Players and attack their bases. Last Core standing wins.

How to build/compile

This is a modular maven project, to build it you need maven: https://maven.apache.org/ To build the whole project execute in the project root folder:

$ mvn

Building Client

To build the client module execute in the project root folder:

$ mvn -pl client -am

To Package the Client in a Comfortable installer for Windows (msi) or Debian-Distros (deb) execute respectively "client/build_win.bat" or "client/build_deb.sh"

Building Server

To build the whole project execute in the project root folder:

$ mvn -pl server -am

File Structure

Client generated Files

The client will create following files in your home directory:

  1. ".the_achis/options.json"
    • Contains all setable options
  2. ".the_achis/account.achiid"
    • Contains the client identifying hash

Server generated FIles

The client will create following files in your home directory:

  1. ".the_achis/clients.db"
    • Contains client related data as sqlite database

External Libraries/Classes

  • JavaFx
    • OpenSource Java GUI client application platform
    • Used for the whole Client-Side Graphical User Interface
  • gson
    • Json en-/decoder
    • Used to write/read local Client Options
  • sqlite-jdbc
    • Library to create and access SQLite Databases in Java
    • Used to save anonymous User-Data (like blocked users) on the Server
  • astar algorithm
    • Implementation of the A* Algorithm from the Baeldung Tutorial
    • client/ic20b106.client.game.astar

the-achis's People

Contributors

r1yuu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.