IMPORTANT!!! Combat System--Please respond.

Got something on your mind about the project? This is the correct place for that.
Forum rules
This forum is for feature requests, content changes additions, anything not a Bug in the software.
Please report all bugs on the Support Forums
User avatar
Kyokai
Novice
Novice
Posts: 323
Joined: 15 Feb 2005, 03:55
Location: USA, North Carolina
Contact:

IMPORTANT!!! Combat System--Please respond.

Post by Kyokai » 02 Mar 2005, 05:48

This is really a query to anyone out there with server knowledge and such. As a team, we are divided over the issue of a proper combat system for TMW. While we would like to keep the active realtime combat SoM had, it seems unlikely, due to the fact that before a move can actually be "made" it may take up to a whole second to traffic that data to the server, and another full second to send the information to other players (and this is without lag).

From a programming standpoint, it seems easiest to do a target and engage method, where the character and monster simply trade blows. This is used commonly by games like RO, FFXI, and WoW. However, it would be a shame to lose the innovative real time combat that made Secret of Mana stand out among RPGs.

Imorgado has suggested a method by which the player can choose different attack "methods" during combat, and thus have varying attack styles without a high amount of required server traffic.

Rotonen mentioned a "combination key" system, which I don't completely understand, but seems similar to the timed key effects in Legend of Dragoon (it's an excellent and engaging system). This sounds like it has promise, but does require a bit more traffic than the combat types above.

Personally, I think we can do it Secret of Mana's way (fully realtime), and that people won't mind a small delay every now and then (it's inevitable with realtime-style gaming), but I'm hoping to find some happy medium that we can all work together on and that runs fairly smoothly.

If you can think of some better ways to accomplish a low traffic, yet realistic combat system, or if you want to cast your vote for one thing or the other, please do so soon, so we can make this big decision before server implementation starts.

Also, there's no poll, so if you want to cast a vote, just post and say: I want this because...
The Mana World System Coordinator.
View the Systems
So what does the systems coordinator actually do? My job is to take your ideas for TMW and build them into working aspects of gameplay that can be implemented by the artists and programmers. If there's anything you think we can do better or differently, let me know.
voidz0r
Peon
Peon
Posts: 5
Joined: 27 Feb 2005, 21:11

Post by voidz0r » 02 Mar 2005, 10:16

Does Quake generate too much traffic? Does Unreal do that? Although the same can be achieved with a bit less traffic, from a FPS standpoint it doesn't make that much sense. And I think thats mostly because when you change the protocol to have fewer messages, the server must have a lot more powerful CPU to calculate the 'frame' of all of it's clients.

(IANJC, but afaik) a model like quake3's is very scalable. That's why you can choose what kind of connection you have. There is ofcourse a limit, that's when either you or the server just can't handle that much traffic (actually they set the limit on a more sensible point) But when you stay under that, the precision will increase with more traffic.

Synchronisation is key here. Insta Unlagged does a good job in predicting lag, so you don't miss because the other player moved a bit and you didn't know. That also helps.

Just my $0.02
User avatar
Bjørn
TMW Adviser
TMW Adviser
Posts: 1430
Joined: 09 Dec 2004, 19:50
Location: North Rhine-Westphalia, Germany
Contact:

Post by Bjørn » 02 Mar 2005, 10:54

Are Quake and Unreal massive multiplayer? No. They are games with few players and play best on a fast local area network. You can select your connection speed because it wants to use all of it, the more the better. For this MMORPG we need to stay very low on traffic, even for people with fast connections, otherwise the server will be overloaded by just a few dozen players, while I think our first target should be to scale to about 1000.

Are Quake and Unreal RPGs? No. Those are action games, completely focussed on player keyboard and mouse skills. In general an RPG allows anybody to play any kind of character, with the abilities of a character based on the skills the character has built up, not the player keyboard skill. Now of course there are mixtures, action RPGs. Quake and Unreal also have very little debth in their combat. You got like 9 weapons and most of them are just aim and shoot. In TMW we have melee weapons, ranged weapons and a pletora of magic spells. You can at least not apply the same kind of aiming.

I want to point out the difference between targetting enemies or attacking them in a realtime kind of way. In the first case you send 1 message for targetting, a second for your choice of attack. The server sends back what's happening each time either you or the monster performs an attack. In total I estimate 2 from the client and 10 from the server for an average fight. In the realtime combat way, each time you make a move or attempt an attack, you need to send this to the server. The server sends back the moves the monster makes, and information about attacks. Avoiding a monster attack takes two moves, monsters will probably also run around trying to be not so easy to beat, etc. I estimate we are talking like 20 from client to server and also at least 20 from server to client.

Well what I want to point out is that for realtime combat we will probably end up with about 4 times as much traffic. Also, this latter system is much less able to cope with lag, half a second delay between attacking and getting the result is annoying and you can also end up walking to places you could not walk to because a monster was in the way as far as the server was concerned. Especially when we're having player versus player like this I think we can all imagine the chaos and the amount of related network traffic (especially team vs team), as opposed to a targetting method.
voidz0r
Peon
Peon
Posts: 5
Joined: 27 Feb 2005, 21:11

Post by voidz0r » 02 Mar 2005, 12:00

Compared to an FPS, very few data needs to be updated in a second. In an FPS, each frame counts, whereas this could skip dozens of them.

What happens on the player screen? A few maggots move, and the player might walk a bit. That should not require a lot of cpu time and network traffic. When fighting, a lot more 'round trips' are required because the server has to determine the damage and such.

So how many times can you hit in a second? If only once, then battling should not require that much bandwidth, since the network has almost a second of time to synchronise.

But ofcourse that's just the theory :)
User avatar
maci
Warrior
Warrior
Posts: 507
Joined: 05 Dec 2004, 21:01
Location: Germany
Contact:

Post by maci » 02 Mar 2005, 12:44

What happens on the player screen? A few maggots move, and the player might walk a bit. That should not require a lot of cpu time and network traffic.
well yeah

but multiplicate it with 1000 ;)
ElvenProgrammer wrote:Maci: don't be rude, we're here to help people ;)
User avatar
Bjørn
TMW Adviser
TMW Adviser
Posts: 1430
Joined: 09 Dec 2004, 19:50
Location: North Rhine-Westphalia, Germany
Contact:

Post by Bjørn » 02 Mar 2005, 13:16

voidz0r, you compare TMW to an FPS in terms of needed traffic for a player which isn't really fair. I made a comparison between the target approach and realtime fighting, and estimated about 4 times as much traffic for realtime fighting, plus it's less easy to cope with lag. With target based fighting a dialup player could probably easily handle a dozen players on his screen in a mob fight, and the server could handle a dozen of these mob fights without problems. With realtime fighting the dialup player would be swamped in traffic, unable to deal any blow himself because of the lag, and the server would also feel the load of a few mob fights going on.
voidz0r
Peon
Peon
Posts: 5
Joined: 27 Feb 2005, 21:11

Post by voidz0r » 02 Mar 2005, 16:43

How many tiles can a player move in 1 sec? I mean... how many times can a player move around in a sec? Whats the maximum accepted delay when a player turns around?
User avatar
Kyokai
Novice
Novice
Posts: 323
Joined: 15 Feb 2005, 03:55
Location: USA, North Carolina
Contact:

Post by Kyokai » 02 Mar 2005, 17:03

Bjorn: do you think Rotonen's method might work, where we have an active engagement that relies on both key boardskill and targeting, while still only needing to send a message each keystroke (maybe twice a second)? I imagine the server traffic would go like this:
1. Client-> engage target
2. Server-> Target engaged, send desired command input
3. Client-> Send given command input
4. Server-> Send hit or miss result

I imagine that this sort of traffic would be acceptable once per second for the player.
The Mana World System Coordinator.
View the Systems
So what does the systems coordinator actually do? My job is to take your ideas for TMW and build them into working aspects of gameplay that can be implemented by the artists and programmers. If there's anything you think we can do better or differently, let me know.
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 20:48
Location: Espoo, Finland

Post by Rotonen » 02 Mar 2005, 17:57

Not a message per keystroke, a message per attack preferrably. That way we'd only need to find a way to verify the client so that you cannot modify it in a way you could execute high level skills by pressing one key.
User avatar
Talaroc
Novice
Novice
Posts: 429
Joined: 10 Feb 2005, 05:23
Location: The Frozen North
Contact:

Post by Talaroc » 02 Mar 2005, 18:08

Although I prefer real-time combat, I can see why this would be an issue. And really, a slightly less realistic method of combat would be a lot less irritating than a bunch of lag.

voidz0r: No, you can't skip a couple dozen frames and have it be acceptable. The question here isn't "how little can we do and still get the general idea across to the player," it's "how do we make this fun to play." Lots of lag is the antithesis of fun, no matter what kind of game you're playing.
Bear
Novice
Novice
Posts: 281
Joined: 01 Jul 2004, 20:09
Location: Computer
Contact:

A suggestion

Post by Bear » 03 Mar 2005, 06:33

A suggestion i have is to use the Frame of Ragnarok Online Monks fighting skills, adding kick/stab/shoot/punch/run you can have a combinations of many many combos, also you can add in special tech skills like... ermm, some of those fighting games, if youv ever played Ragnarok Battle Offline or Legend of Legia you would under stand. but iv asked a few friends and they would prefer something along using a series of keys to creat combos
imorgado
Peon
Peon
Posts: 62
Joined: 22 Jan 2005, 21:50
Location: Rio de Janeiro - Brazil
Contact:

Post by imorgado » 03 Mar 2005, 08:39

Key combos it's a really good idea.

we can mix all ideas and create a final idea to TMW combat system
User avatar
Kyokai
Novice
Novice
Posts: 323
Joined: 15 Feb 2005, 03:55
Location: USA, North Carolina
Contact:

Post by Kyokai » 04 Mar 2005, 06:03

I've done all the calculations, and TMW's projected server is able to accomodate realtime fighting. Check the technical information here:
http://themanaworld.sourceforge.net/wiki/?CombatSystem
The Mana World System Coordinator.
View the Systems
So what does the systems coordinator actually do? My job is to take your ideas for TMW and build them into working aspects of gameplay that can be implemented by the artists and programmers. If there's anything you think we can do better or differently, let me know.
User avatar
ElvenProgrammer
TMW Adviser
TMW Adviser
Posts: 2526
Joined: 13 Apr 2004, 20:11
Location: Italy
Contact:

Post by ElvenProgrammer » 04 Mar 2005, 18:47

If I understood correctly the matter is if we want
real time fightings like in SoM where everytime you press a key you perform an attack, but not having full charge will result in no damage
or if we want
time based fightings like in RO where you have to wait a certain amount of time before perfoming the next attack

I'm not a MMORPG expert, this is my first try and I've never designed a server but I'll try to examinate the situation from my point of view.

This is how I think things should be done: targeting is accomplished client side, using keyboard you select the being you want to attack with your long range weapon/magic attack. When you press your shooting/action key the client sends a packet to the server indicating only the being id if you're attacking with a weapon or being id + spell id if attacking with magic. So the client will send 6-8 bytes every time you perform a long range attack. The server calculates the damage if any (for example you're out of range) and replyes with a packet containing being id (helpful if you're attacking more than one being) and damage, so approximately 8 bytes.
Recharging your bow or spell will need at least half a second, so a raw exstimation of bandwith used is 32 bytes/s for a combat which I hope is completely tolerable by both our client and server.
Melee fightings works pretty the same except that you're not aiming a specific being, when your sword slashes a being/beings the client will send the appropriate being/beings id/ids. Before performing another attack you have to complete the attack animation, so I think at least 500 ms as before. The bandwidth is the same.

An hacked client could try to send continous attack packets but the server will reply with a fail packet (or won't reply) according to its own timer and last attack packet and could also ban the client after a certain amount of tries.

In conclusion I think that real time fightings (at least how I understand them) are possible and I think that we can cope with lag in fightings more than lag while walking/running away.

This is my idea, please comment everything you think it's wrong :oops:
User avatar
Kyokai
Novice
Novice
Posts: 323
Joined: 15 Feb 2005, 03:55
Location: USA, North Carolina
Contact:

Post by Kyokai » 04 Mar 2005, 19:45

It all sounds good enough to me Elven, but I ought to point out that the client should send only the attack command, rather than the being ID. If we send the being ID, clientside players can mod in order to get a longer range on their weapons, or attack creatures from any range.
The Mana World System Coordinator.
View the Systems
So what does the systems coordinator actually do? My job is to take your ideas for TMW and build them into working aspects of gameplay that can be implemented by the artists and programmers. If there's anything you think we can do better or differently, let me know.
Post Reply