Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Diagonal Movement and Projectiles.


iSnow
 Share

Recommended Posts

While I was tinkering with EO2.0 I took a break and went to go play an MMO called Realm of the Mad God, and as I played it I thought about how free-direction movement and projectiles that matched it defined the game's play, but what happens if I add that to what EO offers?

I want to find a way to this possible, if anyone knows an example of making it work, or where I can rip some of it, or at least guide me through it, I'd love to listen. I don't want to make new sprites for diagonal movements, just use the sprite for the same cardinal direction, and if this would require editing say, Wabbit's Projectiles to use it.

If anyone has an idea, I'd love some help.
Link to comment
Share on other sites

Free direction movement would require you to drop the tile based movement. And while this is possible I would suggest against it due the core mechanics of EO and the networking library. If you make free movement, on a per pixel basis your server will go insane even if you send over your position every 5-10 steps and leave the other clients to mathematically fill in the rest by a predicted movement formula(Along with the insane amounts of projectiles flying around, NPCs and other regular packets).

Don't get me wrong, it is possible but using TCP? I would not recommend trying. If you were to rewrite the networking portion  of the engine to support UDP.. That would be a whole other beast and most likely be able to obtain the results you're after without causing too much of a strain on the server.. The major downside of this, UDP does NOT guarantee packets will arrive in the correct order, or if they will arrive at all. They get sent without any error checking, data checks or confirmations. So you'll need to take this into account for a LOT of things as well, and write your networking system to link packets together properly and drop them if it doesn't receive the full packet data within x amount of miliseconds to ensure the cache doesn't turn into a giant pile of broken packets.

Aherm. Short version: Plausible but a pain in the neck. And there aren't any examples around here that have done this the way ROTMG handles movement and attacking.
Link to comment
Share on other sites

Pulling it off doesn't mean it works properly. I can get it to work now if I would want to, but that won't make it efficient or good when there's more than five players online anymore ;]. Never write a system assuming there is one player online at all times. Always account for at least 50\. While this is more than most Eclipse games will ever have, it is a reasonable bar to set for minimal performance on small things. Of course you'd want to get it to work beyond that cap.. But hell, even EO by default would struggle with that amount due to being based on TCP and people lagging like hoes at times.
Link to comment
Share on other sites

Oh it can be done. But you'll need to rewrite a little more than just the movement system to get it efficient enough to be used in a working environment. :] Don't get discouraged, just be prepared for a lot of work ;]
Link to comment
Share on other sites

Any idea on other things edited besides movement? I would like the maps to still use tile-based mapping.

I think Rob had a version of EO which he made  it possible, I'm going to go look for it, and see what he did.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...