wlinna / arkhados Goto Github PK
View Code? Open in Web Editor NEWFast paced 3D multiplayer PvP action arena game
Home Page: http://wlinna.github.io/Arkhados/
License: GNU General Public License v3.0
Fast paced 3D multiplayer PvP action arena game
Home Page: http://wlinna.github.io/Arkhados/
License: GNU General Public License v3.0
Sometimes when you spawn you get wrong spell icon set. When that happens, you don't see cooldowns.
It appears that when this bug occurs, you get spell icons of Embermage but I'm not sure
Since 0.5 will be publicly mentioned, it's no longer okay to just have credits on GitHub repository
To improve how game Arkhados looks, height differences should be supported. However, height differences must not influence gameplay (physics). Projectiles should not normally collide with ground if they were launched forward
Too often from character's point of view projectiles disappear instead of collide and thus, explode. This happens because sometimes projectile's origin goes inside the wall before collision is detected, which causes ServerFogManager to report that projectile has disappeared before collision is detected
With certain spells character can end up inside or on top of wall . Examples include all movement spells. Also, sometimes knockback pushes character inside or through wall.
Physics based knockbacks (they all are physics based currently) work correctly only when target character isn't walking. If character is walking, knockback seems to be much much weaker and knockback direction is sometimes wrong.
This makes knockbacks much weaker and less predictable.
Team deathmatch is good team game mode. It's like current deathmatch BUT game ends when some team has reached the specified kill limit
Just like in normal deathmatch, players can join to game any time they want. Difference is that if they want to form a team, they have to do so after joining but before selecting hero.
For example, melee attacks should hurt more then done from behind
Current arena's walls are imported using Blender importer instead of using Ogre exporter. On my current setup, those walls' textures are black.
If ogre exporter is used instead, textures work BUT fog of war is broken. That's because Arkhados' current fog of war implementation depends on way how Blender importer sets VertexBuffers.
There should be bigger arena that's better suited for team games. It should also work well in normal deathmatch.
In order to improve Arkhados' atmosphere, it should also have better graphical look
Add healing cap. Healing cap should prevent healing spells from restoring health over certain cap. Regeneration however can raise healing cap.
Healing cap has following benefits:
Since 0.5 will be publicly mentioned, there should be help and hero guides available to help players learn Arkhados
When player disconnects, all it's data should be cleaned
There also seems to be problem that disconnected players seem to cause buffer overflows in networking code in long, sometimes shorter, run
For example, if you put Ember Circle "inside" wall, nobody can see it but it still does damage normally
jMonkeyEngine's connection mechanism uses TCP under the hood. Getting rid of TCP makes NAT hole punching easier.
TCP is not used anywhere else in Arkhados but in connection
This would make Elite Soldier's ammunition system more apparent.
There should be icons on right edge of screen
Master server's purposes in order of importance:
The important thing about the master server is that it doesn't host your games. It just keeps a list of games so that it's easy to find them and it makes hosting game easy by implementing a NAT hole punching system.
Replay server accepts replays from the game servers and then allows clients to download them. There should be a web service that makes it easy to search and download them. It should also be possible to search them with the game client but that may be implemented later.
Many aspects of networking should be improved. To make it possible to implement NAT hole punching well, all of the networking should happen with UDP. 99% happens via UDP already but the connection itself uses TCP under the hood.
There should also be flow control on the server. That means that if a certain client cannot handle synchronization in time, the server should lower the frequency that data is sent to that client at to avoid congestion. If the client can handle more than the synchronization frequency to that client can be increased so that it stays better in sync with the server.
Latency information should also be available for the players.
Preferably a melee hero. But as always, it depends on the available models.
Since there will be different game modes with different settings, it's good to be able to configure settings in advance.
Configuration file should be easy to edit by hand but being able to generate it automatically is important too. One good option could be TOML. toml4j seems to be most up-to-date Java TOML-library.
Some initial properties that would be set in configuration file
This configuration file would be used primarily on server but there's no reason to not use it on client side too (later).
For example, sometimes when Ignite-buff ends, its visual effect is not removed on some clients. When this happens, to player it seems that their character is still burning (not losing health though) and the buff icon stays.
Version 0.5 adds team play to Arkhados so it's good to have more support oriented hero in game
Some spells could have alternative effect that is related to primary spell.
Primary and secondary spells share cooldown. If secondary spell is casted, you can't cast primary of same spell until cooldown is over.
For example, Ember Mage's could have secondary M2-spell that increases damage per Brimstone stack instead of increasing incapacitate time.
Secondary spell feature brings variety to heroes and makes balancing easier because heroes can be designed around primary spells and if hero has too big weakness, it could be adressed by adding secondary spell. Secondary spell's don't allow heroes to make bigger combos because of shared cooldown with primary spell.
I think it's good idea to add replay support quite early. Then it's easier and less resource consuming to record games. They could be useful for debugging too.
If player inputs address that doesn't respond when being connected to, UI freezes until timeout is reached.
Client is working correctly, but it's annoying for users.
Connecting should be done on other thread.
For example, if player finds dead character, the character doesn't immediately appear as dead but plays death animation and death sound first instead
Or if player finds active Ember Circle, they see it as not activated yet even if it was already active
Settings should be accessible from game by pressing esc or some other key.
There should be some screenshots on the website, and possibly a video.
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.