Skip to content

Java game client and server based on the popular argentina MMORPG Argentum Online

Notifications You must be signed in to change notification settings

SantiagoFlynnML/ao-java

 
 

Repository files navigation

ao-java Build Status

Rewriting Argentum Online in Java, using Artemis, Kryonet and libGDX.

ECS (entity-component-system)

To understand ECS, I recommend to read this. Using artemis framework has been really useful to start rewriting this game.

Kryonet

Avoid creating huge game protocol since we can use Requests and Responses, which can be processed easily with 'visitor' design pattern. Read more here

libGDX

It allows us to create application game logic, create screens and render all that we need using OpenGL.

Getting Started

Clone repo

git clone https://github.com/guidotamb/ao-java.git

Run

  • Go to folder and use following commands to run client ./gradlew desktop:run or server ./gradlew server:run
  • Or generate distribution jars ./gradlew desktop:dist ./gradlew server:dist

Import in IntelliJ

  • Select 'Import Project'
  • Find and select build.gradle file
  • Create run configurations using gradle tasks (desktop:run/dist, server:run/dist)

Modules

components

Contains all components (ECS related)

core

Game client logic, screens, GUI, client systems (ECS): on runtime should have a replicated World.

desktop

Contains assets and desktop game launcher.

server

Server logic and systems (ECS), database connection (TBD), etc.

shared

All stuff shared between client and server, like network requests and responses, objects, maps, etc.

Images

alt text

About

Java game client and server based on the popular argentina MMORPG Argentum Online

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.6%
  • GLSL 0.4%