ao-libre / finisterra Goto Github PK
View Code? Open in Web Editor NEWJava game client and server based on the popular argentina MMORPG Argentum Online
Java game client and server based on the popular argentina MMORPG Argentum Online
La energía no se actualiza:
Al atacar
Al estar desnudo
al usar magias.
Al perder conexión por caida del servidor, no muestra la lista de servidores cuando vuelve el servidor
Por ej: Ciudas no pueden atacar a otros ciudas.
@guidota @cucsijuan
Usado para:
Hechizos
Objetos
Se editan en:
SpellSlot y Slot.java
May be add 'stun' capability instead of immobility, paralysis... Also consider making items with magic attacks
Interactable resources like Trees or Ore veins, with the possibility to expand to other types of future resources (like cloth, potion ingredients, etc.)
We need to create a server list in the login page allowing connect to multiple servers.
how is the actual state of this project? could be launch a proper server/client with this? what features it has?
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 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
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.
Popup should notify user what happened
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
Al ingresar a las catacumbas:
https://media.discordapp.net/attachments/573645939663699988/585775081314189313/unknown.png?width=979&height=601
El personaje dentro del render se encuentra corrido a la derecha.
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
doors should have HP and size.
Avoid keeping all bundled animations in memory. Guava cache should be fine.
Filter client irrelevant components when sending entities through network
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.
Empezaron a respawnear Npc hostiles en la Ciudad
https://media.discordapp.net/attachments/579053860476420119/585304070118703113/unknown.png?width=1118&height=601
We may use the same mechanism or just TiledMap
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.
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)
@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
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;
...
hi, whats the actual state of this project?
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.