GithubHelp home page GithubHelp logo

ao-libre / finisterra Goto Github PK

View Code? Open in Web Editor NEW
131.0 21.0 37.0 685.15 MB

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

Java 95.71% GLSL 0.12% Kotlin 1.02% OpenEdge ABL 3.15%
gamedev argentum-online libgdx artemis-odb kryonet

finisterra's People

Contributors

agusayerza avatar bestiardo avatar cpbeto avatar cucsijuan avatar dazednconfused- avatar derillo avatar ezefran avatar guidota avatar javmo avatar joaquinodz avatar kuruk-mm avatar lucheti29 avatar matisandacz avatar neoranger avatar recox avatar vicosdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

finisterra's Issues

Energía

La energía no se actualiza:
Al atacar
Al estar desnudo
al usar magias.

Lista de servidores

Al perder conexión por caida del servidor, no muestra la lista de servidores cuando vuelve el servidor

Create Resources Entities

Interactable resources like Trees or Ore veins, with the possibility to expand to other types of future resources (like cloth, potion ingredients, etc.)

Add Agility and Strength buff

  • Update AGI and STR components to have a base value and a modified one.
  • Make a handler to keep track the time since the buff were applied.
  • Make a system to check and remove expired buffs.

About this project

how is the actual state of this project? could be launch a proper server/client with this? what features it has?

libGDX forces System.exit() with non-zero exit value

When the main window is closed, the main loop is stopped, the Application terminated and a system exit is forced with non-zero exit value (interpreted as a failure and throwing an error).

This kills any running threads and right now is fine as it is but eventually the shutdown mechanism should be cleaned.

LwjglApplication.java:

void mainLoop () {
	// ...
	// while() {}
	// ...
	if (graphics.config.forceExit) System.exit(-1); // Throws an error on console
}

Related to #8 .

Door Keys, lockpicking

Door can have locks, and other entities too (chests?), they need keys to be opened.
these locks can be picked up based on skill (and minigame maybe?) some others cant be lockpicked.

Depends on #51

implement map editor

https://github.com/libgdx/libgdx/wiki/Tile-maps
Comment of @cpbeto in discord talking about tiles

No me acuerdo bien todo, pero algo que le faltaba es el concepto de "objetos".
Osea en un mapa no podías guardar información de objetos tirados en el piso, objetos "fijos" o NPCs
QUIZÁ, se puede forkear el repo de Tiled e implementarle lo que necesitemos
Por todo lo demás Tiled estaba genial
Servía para indexar gráficos de mapa me parece, no objetos o equipamiento.

Join maps as one world (without map limits)

Client: should handle map transition (prediction) as simple movement and render it correctly
Server: should not distinguish between maps, near entities would be in different maps. NPCs should not be able to pass through map limits and should come back to original position if no enemy target is present

Fade-out> Fade-in screen after dying

Effect to differentiate that the user has died. The screen turns black and after 2 seconds it becomes normal.
The effect should be as simple as possible

Debug info with TAB key

De manera similar al F3 en Minecraft, al apretar una tecla se podría mostrar una pantalla de debug, por encima del render y con transparencia.

Se puede mostrar información como fps, tiempo de render, consola de debug, etc.

Create map

We may use the same mechanism or just TiledMap

Buff GUI indicator

When you are under the effect of a Buff, a graphical representation of that buff need to be rendered on screen.

it may be an icon, when the buff has X seconds left this icon can blink, in like a fade in/out fashion until it times out and disappears.

Error al leer el Mapa(no encuentra un mapa aledaño)

Dungeon Dragon
Pos 166 - 29 - 33
Problem: Crash Cliente , Server: No problem idetify

Errores:
03:42 INFO: Failed to read map -1
Exception in thread "LWJGL Application" java.lang.NullPointerException
at game.systems.render.world.MapGroundRenderingSystem.drawGraphicInLayer(MapGroundRenderingSystem.java:55)
at game.systems.render.world.MapGroundRenderingSystem.lambda$drawRange$0(MapGroundRenderingSystem.java:49)
at game.systems.render.world.WorldRenderingSystem$UserRange.forEachTile(WorldRenderingSystem.java:158)
at game.systems.render.world.MapGroundRenderingSystem.drawRange(MapGroundRenderingSystem.java:43)
at game.systems.render.world.MapGroundRenderingSystem.renderWorld(MapGroundRenderingSystem.java:39)
at game.systems.render.world.MapGroundRenderingSystem.processSystem(MapGroundRenderingSystem.java:64)
at com.artemis.BaseSystem.process(BaseSystem.java:46)
at com.artemis.InvocationStrategy.process(InvocationStrategy.java:25)
at com.artemis.World.process(World.java:385)
at game.screens.GameScreen.update(GameScreen.java:153)
at game.screens.GameScreen.render(GameScreen.java:180)
at com.badlogic.gdx.Game.render(Game.java:46)
at game.AOGame.render(AOGame.java:45)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)

[Question] Client entities on connect

@guidota Great example of libgdx, artemis, and kryonet!

I've been going through the code a couple days now as there are many patterns and approaches here I'm learning a great deal from. I understand how messages are processed between client/server using the visitor pattern (thanks I'm now using that too). I see how entities are modified and removed with EntityUpdate and RemoveEntity notifications but I'm having trouble finding where the client gets their initial set of entities in the world on connection to the server.
Can you point me in the right direction?
Thanks

ClassNotFoundException en run config.

En IntelliJ, para las configuraciones desktop:run y server:run, si se corre primero el cliente y luego el servidor, al loguearse salta una excepción en el cliente al intentar cargar la clase Tile del paquete ar.com.tamborindeguy.model.map en el proyecto shared.

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: [[Lar/com/tamborindeguy/model/map/Tile;
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:133)
Caused by: java.lang.NoClassDefFoundError: [[Lar/com/tamborindeguy/model/map/Tile;
...

Dinasty ao

hi, whats the actual state of this project?

Npc Respawn System

method-respawn-fix:

  • current system

method-respwn-aleatory-global:

positionRespawn = false
is positionRespawn <> true
createPosition = getPosition(ramdom(listMaps), random(99) , (random(99)) //Map, x, y
createPosition is empy?
    createPosition there is a user less than 10 positions?
    positionRespawn = true
return

method-respwn-aleatory-local:

positionRespawn = false
is positionRespawn <> true
createPosition = getPosition(**currentMap**, random(99) , (random(99)) //Map, x, y
createPosition is empy?
    createPosition there is a user less than 10 positions?
    positionRespawn = true
return

method-respawn-aleatory-area:

  • to be discussed

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.