Giter Site home page Giter Site logo

arkhados's People

Contributors

wlinna avatar xatalos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

arkhados's Issues

Sometimes hero has wrong hero icons

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

Add support for non-physical height difference

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

Projectiles often disappear before they collide

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

Knockback mechanism doesn't work correctly when character is moving

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.

Add team deathmatch

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.

When using Blender importer, textures don't work with certain Intel GPUs on Linux

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.

Add better arena

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

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:

  • Punishes for losing too much health
  • It makes it harder for heroes with healing spells to flee and heal themselves
  • We can experiment with very strong lifesteals because health cannot be restored too much

Write help and hero guides

Since 0.5 will be publicly mentioned, there should be help and hero guides available to help players learn Arkhados

Disconnected players should be removed from game

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

When connecting to server, don't use TCP

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

Features planned for Arkhados 0.7

Master server

Master server's purposes in order of importance:

  1. Make it easy to find and join games.
  2. Make it easy to host games by eliminating the need for port forwarding.

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

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.

Improved networking

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.

A new hero

Preferably a melee hero. But as always, it depends on the available models.

Add configuration file

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

  • Game mode
  • Kill limit before game ends
  • Max team size
  • What arena will be used
  • If some experimental feature is enabled

This configuration file would be used primarily on server but there's no reason to not use it on client side too (later).

Sometimes buff effects are not cleaned on client side

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.

Create support hero

Version 0.5 adds team play to Arkhados so it's good to have more support oriented hero in game

Upgrade jME 3.1 alpha1 to alpha3

  • Upgrade dependencies
  • Remove Kryo-dependency if possible
  • Remove own ParticleEmitter because its features have been merged to jME 3.1

Secondary spells as experimental feature

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.

Add server side replay support

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.

When character sees entity, it appears if it had just spawned

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

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.