open All Channels
seplocked EVE Information Portal
blankseplocked New Dev Blog: Missiles Hate My Hamsters
 
This thread is older than 90 days and has been locked due to inactivity.


 
Pages: 1 2 [3] 4 5

Author Topic

Altaree
The Graduates
Morsus Mihi
Posted - 2011.02.08 04:33:00 - [61]
 

Thanks for the great devblog! I love reading this type of thing.

Venkul Mul
Gallente
Posted - 2011.02.08 07:26:00 - [62]
 

Originally by: CCP Veritas

If missile processing remains high on the load profile, we won't have too much choice but to change them to use fake physics of some kind as many other posters here are suggesting. I've been trying to avoid that switch-over 'cause I think it's neat to be able to outrun the buggers or smartbomb them; losing those abilities would make the universe seem less "real" to me. That and rebalancing an entire weapons system from the ground up is a ton of work.


That would require to redo the counters to missiles too.

Currently the real counter are the smartbombs and ship movement, with defenders way behind.

Unless I am mistaken this kind of change would make smartbomb and defenders useless and reduce the impact of ship movement, making missiles the only weapon system without a direct counter.

Dr Sheepbringer
Gallente
Halinallen veroparatiisi
Inglorious Carebears
Posted - 2011.02.08 07:33:00 - [63]
 

Just a though (leaning towards stupid). As the missiles and rockets are different within them self could be logical to apply gun-mechanics into some of the rockets? What I'm getting at is:

Rockets, short range and basically stupid. Basically meaning they don't need to calculate that much stuff. One could say they are point blank weapons. So could they be changed to "gun-mechanics" under the hood?

Missiles, long range and more or less should be the ones that will chase you. This equals to loads of computing time due to them flying around the space.


ok, now you can take out the technobabble bibles and whack me with them. Sad

Venkul Mul
Gallente
Posted - 2011.02.08 07:35:00 - [64]
 

Originally by: LHA Tarawa
Originally by: Taedrin
Has CCP considered attacking the "drake problem" from both angles? IE, not only by optimizing missiles, but also by adjusting game mechanics such that missiles are no longer something that a player spams?


Then they will also need to attack drones.

....

Better to attack the slow performing code before attacking the game design. Game design is an UGLY rabbit hole to go down.


They have already done that some years ago. x2 damage, 1/2 ROF. I haven't jet forgiven them for that. Wink

Drones aren't an alpha strike weapon. Every time the ROF is reduced they are nerfed even if the damage is increase to keep theoretical DPS at the same level. Increasing the ROF mean that you drone will spend more time before accepting the next order, so losing actual DPS to wasted cycles.


Venkul Mul
Gallente
Posted - 2011.02.08 07:44:00 - [65]
 

Originally by: Debrie
Edited by: Debrie on 07/02/2011 22:37:28
tend to agree with a few posters

had you taken this time and energy to FIX DEFENDERS and to project there protection to everyone your fleeted with

there would be less "drake blobs" spamming missles lagging the servers to death in the 1st place :p


I have tested this more than a year ago, having a corpmate firing missiles to a can near me.

Defender do intercept missiles fired to a target near you. The trouble is that you must aim them against a ship firing missiles and you need to have then firing when there is a missile in flight. That make them of little piratical use.


Sverre Haakonson
Gallente
Posted - 2011.02.08 07:47:00 - [66]
 

Edited by: Sverre Haakonson on 08/02/2011 07:48:22
All this work is great but the progress for the cpu time seems to be linear, but the numbers of active pilots is growing faster. It is exciting to see whether CCP is able to win this race.

Thenoran
Caldari
Tranquility Industries
Posted - 2011.02.08 08:07:00 - [67]
 

Edited by: Thenoran on 08/02/2011 08:09:19

Would these changes allow missiles to be fired to match their true rate of fire?
Currently on a Tengu with its insane rate of fire and firing launchers 1 by 1, the missiles tend to group up in the same intervals of launching them.
When you compare that to my Navy Omen with 3 heat sinks firing so fast it's like Freelancer, missiles are a bit dull.
And ofcourse, launcher models on the ship like turret models, a big blob coming from the center of your ship is so 2003.

P.S. Missiles themselves, their models and exhaust FX's, could those get a small update? Currently their exhaust FX/light is so huge and the missile is just a 3 faced cone it's a bit dull to look at. Razz
Heck, I'd make a few missile models in 3dsmax if they'd get used. Very Happy

Dr Sheepbringer
Gallente
Halinallen veroparatiisi
Inglorious Carebears
Posted - 2011.02.08 08:21:00 - [68]
 

Also one can't really ROF nerf drones because then you come up with a situation where you get one alpha from the drones and then they get shot down. Then in reality they become missiles! So no. With missiles it's a bit different because one can't really "shoot them down" in the same sense.

Jacob Holland
Gallente
Weyland-Vulcan Industries
Posted - 2011.02.08 08:32:00 - [69]
 

I seem to remember, a while back, a small issue which seems like it might effect one of the suggested changes...

"Those missiles in that launcher there"
OK, for the first missile launched there are plenty of missiles in the launcher (unless it's a bomb launcher) but at the point where the last missile in the launcher is launched then "those missiles in that launcher there" might well throw back nothing (because there are no missiles in that launcher). Assuming that that doesn't break things in a major way it might still mean that the last missile in a launcher does nothing, effectively reducing the launcher's ammo capacity by one and increasing its reload time by its ROF attribute.

Illwill Bill
Svea Crusaders
Posted - 2011.02.08 09:27:00 - [70]
 

Originally by: Jacob Holland
I seem to remember, a while back, a small issue which seems like it might effect one of the suggested changes...

"Those missiles in that launcher there"
OK, for the first missile launched there are plenty of missiles in the launcher (unless it's a bomb launcher) but at the point where the last missile in the launcher is launched then "those missiles in that launcher there" might well throw back nothing (because there are no missiles in that launcher). Assuming that that doesn't break things in a major way it might still mean that the last missile in a launcher does nothing, effectively reducing the launcher's ammo capacity by one and increasing its reload time by its ROF attribute.


Yes. I believe that copying the data to a separate array post-reload, and then use that copy for calculations would put too much stress on the server.Wink

Space Wanderer
Posted - 2011.02.08 09:33:00 - [71]
 

"Since in-launcher missiles don't really have an identity, it comes down to querying "those missiles in that launcher", which will remain the same between launches, so we'll only do the calculations once and use them until you switch ammo types."

I think you realize this may create a (small) problem. If I understand correctly, this means that if you advance a missile-related skill, it won't be applied to your launchers until you change ammo (or maybe just until you reload the launcher). While I don't think this to be a big problem, you might want to explore if it may have unwanted consequences, both from the bug/exploit and "people-whining" perspectives.

Cresalle
Posted - 2011.02.08 09:41:00 - [72]
 

First of all, good job Veritas. Nice to see someone thinking like a programmer instead of a scripter.
Originally by: CCP Veritas
This goes a step further in the console world (where I started in the industry).

That explains it. LOL! Honestly, I think everyone should be required to dev for a Sony console as a part of their education. You're not a real programmer until you've made (intellectual) love to the hardware of some cheap plastic piece of crap. It's like trying to build a skysc****r in a boxcar. Magic powers required, lol.

Originally by: Jim Luc
Eliminate defender missiles all together. There aren't laser defenders, or railgun defenders, why should there be missile defenders?

They're called tracking disruptors. Defenders need to be fixed, not discarded. That kind of thinking is both lazy and counterproductive. If we don't push the envelope then it doesn't get pushed. (Or worse, it gets pushed by the competition.)

Originally by: MollyPuss
great work me old fruit :)Quick question? When I'm in a fleet and all the drones are out like a nest of drunken ants, my FPS drops to a stutter. Is this a sign I need to get a more expensive computer or do we need to make drones thinner too?

Turn off drone rendering if you're having an FPS problem and see if that helps, but I have also noticed that drones tend to cause an inordinant amount of grid lag. I agree that it would be a good idea to take a look at drone handling in the same vein of thought as was applied to missiles.

Originally by: CCP Veritas
If missile processing remains high on the load profile, we won't have too much choice but to change them to use fake physics of some kind as many other posters here are suggesting.

Don't do it, yo. Keep missiles alive. I know it may sound obvious sacreligious but you may even want to consider designing a custom python container type(s) for dogma objects. Although optimizing beyond that could potentially become problematic because whenever you get something working right over-optimizied some damned idiot with the paychecks wise and noble content producer comes along and introduces a minor change that breaks the whole thing, lol. I really want to reinforce your feeling here that it would be wrong to fake the physics on this. It's running from the problem rather than fixing it (#2 sin of programming, with #1 being failure to document) and it would take a little more of the life out of EVE.

Originally by: Thagomizer
Would this cause any problems if those attributes change in some way while a ship is in space, but the ammo isn't switched?

Think he was oversimplifying and just referring to good computation practice (compute on change, not on query) but heuristics indicates that this is a really good question to ask, lol.

Originally by: Thenoran
Edited by: Thenoran on 08/02/2011 08:09:19

Would these changes allow missiles to be fired to match their true rate of fire?
Currently on a Tengu with its insane rate of fire and firing launchers 1 by 1, the missiles tend to group up in the same intervals of launching them.


The EVE universe runs at 1Hz. (1 frame-per-second) When you ungroup your launchers and try to create a stream you notice that missiles that launch on the same timer tick create a 'grouped' missile. This is actually very intelligent in terms of server load because having one object to calculate is 50% of the CPU time required for 2 objects doing the exact same thing. (Since the missiles fire on the same timer tick they would be identical.)

Originally by: Jacob Holland
"Those missiles in that launcher there"

That kind of inventory is stored as an 'ID + Quantity'. In this case the quantity in the launcher is not important, just the ID. So 5x Bane Rage would have the same stats as 0x Bane Rage. You'll notice that if you exhaust the charges in a module and then r-click it the optin is 'Reload (name of associtated charge type)'. Even though the quantity is zero the charge-type ID number is the same.

Venkul Mul
Gallente
Posted - 2011.02.08 10:42:00 - [73]
 

Originally by: Space Wanderer

I think you realize this may create a (small) problem. If I understand correctly, this means that if you advance a missile-related skill, it won't be applied to your launchers until you change ammo (or maybe just until you reload the launcher). While I don't think this to be a big problem, you might want to explore if it may have unwanted consequences, both from the bug/exploit and "people-whining" perspectives.


I am sure that the problem you depicted existed in the past. Ship stats were updated with your skills only when you were in station, fitting it at an array/carrier ecc. or when boarding it (but the latter sometime had problems).

An example was scooping drones and then using them. The drone stats were those basic for the drones, without your skills (even if you were capable of controlling them at normal range).

It was changed, I think, with one of the Tyrannis patches.

I think that the patch in question resolved most of the issues with applying skills "on the fly", so now it should work right.

Worth a check fro QA for sure.

CCP Veritas

Posted - 2011.02.08 11:31:00 - [74]
 

Originally by: Thagomizer
Would this cause any problems if those attributes change in some way while a ship is in space, but the ammo isn't switched? For example, adding/removing a ballistic control while at a POS/carrier maintenance bay? What about boosters whose penalties might impact something like explosion velocity/radius? I might be reading what you wrote a bit literally, but I was just curious.


Missiles in launcher are full Dogma items, and as such will receive proper updates when their dependent effects change. Should all work as you'd hope~

CCP Veritas

Posted - 2011.02.08 11:35:00 - [75]
 

Originally by: Internet Knight
Just curious... the inventory viewing system on the client side (oh look at my items in my hangar! oh look at my items in my cargo hold! etc), is that affected by the inventory system about which you're talking? Because, honestly, I feel quite awful with the thousands of different types of items in some of my hangars...


Yup, you naughty packrat you. Thankfully, things in hangers don't live in the same data structures as things in space, so there is no effect on in-space operations. All the same, a little spring cleaning never hurt~

CCP Veritas

Posted - 2011.02.08 11:38:00 - [76]
 

Originally by: Jacob Holland
I seem to remember, a while back, a small issue which seems like it might effect one of the suggested changes...

"Those missiles in that launcher there"
OK, for the first missile launched there are plenty of missiles in the launcher (unless it's a bomb launcher) but at the point where the last missile in the launcher is launched then "those missiles in that launcher there" might well throw back nothing (because there are no missiles in that launcher). Assuming that that doesn't break things in a major way it might still mean that the last missile in a launcher does nothing, effectively reducing the launcher's ammo capacity by one and increasing its reload time by its ROF attribute.



You'll be pleased to know that the attribute copy from stored missiles happens before the missiles are removed from the launcher. The only way we could be copying from an empty launcher is if there were no missiles there in the first place, in which case how the hell are you firing a missile? Laughing

CCP Veritas

Posted - 2011.02.08 11:43:00 - [77]
 

Originally by: Venkul Mul
Worth a check fro QA for sure.


My 'fro did quite a lot of QA on this Laughing

Lev Aeris
United Amarr Templar Legion
Fidelas Constans
Posted - 2011.02.08 11:47:00 - [78]
 

Originally by: CCP Veritas
That and rebalancing an entire weapons system from the ground up is a ton of work.


Speaking of hybrid weapons..... ;)

Tyslas
Firebird Squadron
Terra-Incognita
Posted - 2011.02.08 12:11:00 - [79]
 

Yay! Dev blogs! The technical ones are the best ones.

I'm guessing that drones will be the Next Big Problem, hopefully if they get a rework we'll be able to rep ourselves with logi drones :D.

Originally by: Lev Aeris
Originally by: CCP Veritas
That and rebalancing an entire weapons system from the ground up is a ton of work.


Speaking of hybrid weapons..... ;)


+1

Venkul Mul
Gallente
Posted - 2011.02.08 12:49:00 - [80]
 

Originally by: CCP Veritas
The only way we could be copying from an empty launcher is if there were no missiles there in the first place, in which case how the hell are you firing a missile? Laughing



Black magic, obviously1 Cool

Kaldirov
Posted - 2011.02.08 12:52:00 - [81]
 

Originally by: Lev Aeris
Originally by: CCP Veritas
That and rebalancing an entire weapons system from the ground up is a ton of work.


Speaking of hybrid weapons..... ;)



+1

Tristan Gale
Posted - 2011.02.08 13:35:00 - [82]
 

Originally by: MollyPuss
great work me old fruit :)Quick question? When I'm in a fleet and all the drones are out like a nest of drunken ants, my FPS drops to a stutter. Is this a sign I need to get a more expensive computer or do we need to make drones thinner too?


I tested this yesterday while we had a SC fleet shooting outposts and TCU's. My client was down to 18 fps while the fb/fighter blob was shooting, and instantly went back up to 60fps when drones was pulled back in. This was with drone models and brackets off. Missiles effects / turret effects didn't change the fps at all.

Ariane VoxDei
Posted - 2011.02.08 15:03:00 - [83]
 

Interesting and depressing at the same time.

The depressing bit that certain suspiscions about the state of a lot of the inner workings are correct.

Interesting that you do not go further. Surely you must have noticed a few obvious things, even if it is hard to break out of the "braindead zombie client" and "everything is, and must at all times remain, a SQL database entry" mentality.

Quote:
During the testing of the changes above, I noticed that as the day went on, performance degraded a bit. Comparing a Telemetry trace from early in the day with late, I narrowed the difference down to the bit of code that removes an in-space missile from the system inventory. This made some sense, but in a scary way...over the course of the day I had spawned and blown up many ships, leaving a lot of debris in the system. If the cost of manipulating the system inventory is highly influenced by the amount of things in space, then that's a big problem.
It is astounding that a FIRED missile gets put in the system inventory (aka the list of things in space in that starsystem) and taken out again.
They, the FIRED missiles are so transient and insignificant as gunfire, that they should not be bothering the inventory. It is not as if anyone is going go scoop up those missiles and sell them.
They have ceased being in-launcher missiles and become a lit piece of firework that is about to die. Tbh just ammocountinlauncher--, check if ammocount reached 0 and be done with it.
Really. Make a distinction between missiles sitting in launcher and the thing that gets fired. Sure, put it in the physicsthingywhatchacallit, that is obviously necessary, but as far as inventory is concerned, it is essentially gone forever once it gets fired from a launcher.

Also, to paraphrase "count of things in space influence inventory reponse time", well DUH! Can you say Motsu. Even if you can do a O(log(n)) lookup...
Even then, you could have left missiles and bombs in a separate inventory.
That is, run 2 inventories.
* One for inflight missiles/bombs. This would see a lot of shortlived things coming and going - though my opinion is that a inventory for those is overkill, they are sufficiently tracked in the physics system.
* Another for everything else.
A little segmenting goes a long way for Drastic response improval.

I might even have gone for a 4 pronged assault, assuming that i would have inflight ammo in there
* inflight ammo (missiles of various sorts). If at all possible, eliminate the need for tracking that as inventory at all.
* ships, drones, achorable things, cynos, destructable structures (such as found in missions and exploration). I.e. things that are likely to give or take a lot of combat.
* "loot in space": wrecks&content, jetcans&content, asteroids.
* "the rest".

PS, while you are at it, can we please have the current formulas pertaining to applied missile damage, as seen from a player point of view.
That is, given what players know:
RD:raw damage
EV:explosion velocity
ER:explosion radius
TV:target velocity
TR:target signature radius (we know what we are firing at or show info is lying).
damage(RD,EV,ER,TV,TR)=?

There is some experimental data out there, but i like to get it "in blue". One example of that, is the postulate that if (tr>=er) then damage=rd, disregarding the ev and tv in that case.
Specially since i have some personal experience that seems to suggest that for example cruise missiles could absolutely arse**** (npc-)cruisers, if you can inflate their size enough to match ER, the strongest points of evidence being how they utterly devastate battlecruisers and the very significant effect painting against cruisers has, even if you use a ER rig and have maxed the ER en EV skills.

Herr Nerdstrom
Caldari
Havoc Violence and Chaos
Merciless.
Posted - 2011.02.08 15:14:00 - [84]
 

It's frightening to me how much obviously bad code still exists in the codebase...

E man Industries
Posted - 2011.02.08 15:17:00 - [85]
 

WoW, not tech smart and found this very easy to read and understand.

So glad this is being worked on and you took the time to explain it. I really like the direction CCP is taking with the feed back.

Look forward to more.

Zendoren
Aktaeon Industries
The Black Armada
Posted - 2011.02.08 15:37:00 - [86]
 

Will these changes allow us to, say... increase the rate of fire on rockets if we wanted to? Personally I would love to see a true barrage of missiles come from a rocket boat.

Matalino
Posted - 2011.02.08 15:38:00 - [87]
 

Edited by: Matalino on 08/02/2011 15:43:20
Originally by: Ariane VoxDei
Interesting that you do not go further. Surely you must have noticed a few obvious things, even if it is hard to break out of the "braindead zombie client" and "everything is, and must at all times remain, a SQL database entry" mentality.
Perhaps CCP Veritas can confirm or deny this, but my understanding is that the solar system inventory is not maintained in the database. The solar system inventory is maintained on the node. If the node dies those items are lost. I base this on the observation that other items in the solar system inventory (specific jet cans and their contents) do not survive a node reboot.
Originally by: Ariane VoxDei
PS, while you are at it, can we please have the current formulas pertaining to applied missile damage, as seen from a player point of view.
That is, given what players know:
RD:raw damage
EV:explosion velocity
ER:explosion radius
TV:target velocity
TR:target signature radius (we know what we are firing at or show info is lying).
damage(RD,EV,ER,TV,TR)=?

There is some experimental data out there, but i like to get it "in blue". One example of that, is the postulate that if (tr>=er) then damage=rd, disregarding the ev and tv in that case.
Specially since i have some personal experience that seems to suggest that for example cruise missiles could absolutely arse**** (npc-)cruisers, if you can inflate their size enough to match ER, the strongest points of evidence being how they utterly devastate battlecruisers and the very significant effect painting against cruisers has, even if you use a ER rig and have maxed the ER en EV skills.
I have asked for formulas before and the response that I have gotten is that CCP does not publish formulas, at most they describe mechanics. All the equations that we have were reverse engineered. I doubt that CCP will make an exception for missiles, but I would also be happy if they did.

Mamba Lev
BricK sQuAD.
Posted - 2011.02.08 17:01:00 - [88]
 

http://www.eveonline.com/ingameboard.asp?a=topic&threadID=1464716

Related to this dev blog which gave me the idea, please support it.

Largo Coronet
GoonWaffe
Goonswarm Federation
Posted - 2011.02.08 17:13:00 - [89]
 

An interesting look at how much effort you've put into reducing the effect of missile use on the server resources. Too bad our alliance decided to just bypass the whole mess by swapping to projectile-based alpha-strike fleets. Wink

This brings up something that may be tangential to what you are doing now. Alphafleets have proven to be amazingly useful in the game as it presently stands. So useful, that we're killing ships faster than the system can keep up. A player will find themselves targeted, shot and blown to bits before the server can even register it, leaving people in a sort of limbo as it tries to catch up and tell them :welp:. And target callers are finding that the ship they just assigned primary to has already popped like a soap bubble even if it still shows up on the overview. So while the lag isn't keeping us from fighting, it's still proving to be a big pain in the tuchus for both sides of a fight.

I'm not a programmer, but reading the article I got the gut instinct that these issues are related because they both involve a great deal of inventory management in Domain. Domain would have to keep track of what blew up, creating a wreck object and stuffing it with whatever modules it picked to survive. Perhaps there are similar issues of excessive calls and list use in that part of the code as there were in missiles.

Daneel Trevize
Gallente
Posted - 2011.02.08 17:17:00 - [90]
 

Originally by: River Oemhii
mindblowing-python-gil vid
Wow Python's broken with multicore even being present. CCP might want to doublecheck they can't just get the OS to ignore the other cores to reduce the bouncing if it's happening on their new shiny stuff. Also I found it slightly odd the speaker didn't go into why the remove-the-GIL camp came to their conclusion, if they already knew of this and expect to sidestep it with their alternative.


Pages: 1 2 [3] 4 5

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only