HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Custom Projectiles

04-18-2010, 08:38 AM#1
TheKid
This is a thread of mine that is currently hosted in the JASS submissions section of The Hive Workshop. I didn't get the activity I thought I would, but I have still found time to make updates of my own despite a lack of good feedback. Check it out, and tell me what you think.

The test-map includes a spell called Jump that shows a really basic implementation of the projectile system to mimic a unit jumping in the air as well as a struct that extends the projectile to show how this kind of functionality can be added with ease. The result produced can be seen in-game by issuing a unit-order. Each unit selected will produce 1 projectile each time the user issues an order the unit(s).

It also has a spell Slow Time which creates an invisible (no model/effect) bubble around the caster that slows projectiles inside the bubble to 10% (or 0.1 timescale) until the bubble expires or the projectile leaves the bubble's area.

Anyways, enough descriptions, there are plenty in the actual thread: http://www.hiveworkshop.com/forums/s...es-lib-162121/
04-18-2010, 05:54 PM#2
SHAƎDY
You should provide the actual maps in this thread.
04-18-2010, 08:08 PM#3
Ammorth
Its not that bad. I noticed it really started to lag when there were a lot of projectiles. Not sure the exact cause for the lag, but I think you could optimize the code a bit more.
04-18-2010, 10:57 PM#4
TheKid
Well there are a lot of things to factor in here, and this is part of the reason why I have active/inactive options for quite a few of the features, including things like unit collision.

If you disable unit collision you'll notice an enormous performance gain, but it is possible to activate/deactivate this feature to speed things up on projectiles do not need the unit collision. Also, the toRemove option will remove the projectile unit rather than killing it from toKill.

With unit collision the amount of units that the missile is being projected through/over really affects the performance return. I was able to get about 235 projectiles with unit collision before the frame-rate dropped significantly enough to call it lag.

If you toggle toRemove it will reduce the amount of lag caused when lots of projectiles are being used around the same area over and over.

If you disable unit-collision, there is a slight increase in performance over open areas, but as soon as there are groups of units the performance starts to drop.

Quote:
Originally Posted by Ammorth
but I think you could optimize the code a bit more.

I am open to suggestions.
04-19-2010, 08:14 AM#5
Anitarf
Looking at the code, it seems like your homing missiles can only move directly towards a target, unlike the WC3 projectiles which still move in an adjusted arc.
04-19-2010, 08:32 AM#6
Anachron
Quote:
Looking at the code, it seems like your homing missiles can only move directly towards a target, unlike the WC3 projectiles which still move in an adjusted arc.
I already told him, but his point is to allow the user to make it on their own.
If you want to have a comparement, you could also see my system.
04-19-2010, 09:23 AM#7
TheKid
No, you told me something about adjusting z-distance not working, which didn't make any sense, and when I asked you to explain you didn't. This isn't a thread to advertise your system, either, I'm asking for quality feedback rather than the unfounded comments you continuously add to my submission thread. I have yet to receive any feedback from you that wasn't merely you measuring your own dick.

I stayed quite calm about it at first, but I'm not going to any more. All of your comments are merely persuasions to try to get me to admit the way you do things is right, and quite frankly your abomination of function calls and disregard for actual facts (such as the inefficiency behind interfacing the onLoop method) just shows me that you really don't understand what you're doing, your code looks like it was bunched together and no time was spent on optimization, and then you criticize me for doing things differently than you because you don't understand them.
04-19-2010, 09:30 AM#8
Anachron
I understand all of your code, but you don't seem to understand me.
Just because you don't like the idea about onLoop() (which is required for most stuff) doesn't mean it's not useful.

And don't forget that I would never have knew about your system without you posting in my CustomMissile idea thread at first.
Now you are trying to turn things upsite down.
I am just trying to check the differences and if we could maybe learn both from it, you seem to just see the link to my engines without actually getting my feedback.

What I'm trying to tell you is, it's to general. The user has to do a bunch of stuff to implement things such as xyArc and curved fleight so it's not really useful.

If you don't like the high functionality my core engine gives, just ignore my comments and continue your stuff.

But don't mind when people will not use your system because it's not really taking away the work, it's until yet basically just_another_missile_engine that does the indexing for you.
04-19-2010, 10:49 AM#9
Viikuna-
Jump should not exist in projectile system IMO.

Projectile systems are to create moving special effects which can interact with units and other gameplay objects. ( Example being units attack projectiles, or some spell projectiles )

For jumps and knockbacks and other movement thingies that affect on units and objects already in game, you should make some ohter system. ( Some big badass combined knockback-jump-fly-dash-unit movement system )

At least that makes sense to me.
04-19-2010, 11:31 AM#10
Anachron
It's funny, that is exactly what I told him.
04-19-2010, 01:06 PM#11
TheKid
Quote:
Originally Posted by Viikuna-
For jumps and knockbacks and other movement thingies that affect on units and objects already in game, you should make some ohter system. ( Some big badass combined knockback-jump-fly-dash-unit movement system )

Yea, knock-back-jump-fly-dash system.

Quote:
Originally Posted by Anachron
It's funny, that is exactly what I told him.

Oh wow someone agreed with you good job, now you can stop feeling so lonely and go back to using 8 functions for changing unit position.

I don't see how using a unit parameter can limit the system in any way. The fact that jumping is a lot like projectile motion only supports the idea that the system be able to handle this kind of action.

Quote:
Originally Posted by Anachron
And don't forget that I would never have knew about your system without you posting in my CustomMissile idea thread at first.
Now you are trying to turn things upsite down.

Look at the dates on your posts. You posted on my thread asking why I was making a custom projectiles system when you are already making one long before I posted on yours, stop trolling for christ's sake and stop lying to me and everybody else, as if I'm too stupid to fathom your jealousy.

Quote:
Originally Posted by Anachron
What I'm trying to tell you is, it's to general. The user has to do a bunch of stuff to implement things such as xyArc and curved fleight so it's not really useful.

No, neither of these things should be setup by the user, that wouldn't make any sense. I'm obviously still working on the system, you may notice by the considerable update. As I said there, there is more to come. Perhaps instead of listening to yourself speak you should listen to what I'm actually saying.

Quote:
Originally Posted by Anachron
But don't mind when people will not use your system because it's not really taking away the work, it's until yet basically just_another_missile_engine that does the indexing for you.

I don't really care if anybody uses it, I use it, and I create projectiles that look like actual in-game projectiles, not the shitty amateur ones that you have setup in your test-map.

Quote:
Originally Posted by Anachron
If you don't like the high functionality my core engine gives, just ignore my comments and continue your stuff.

What you claim as functionality is nothing more than vJassified BJ methods. My audience isn't autistic 12-year-olds.

Quote:
Originally Posted by Anachron
I understand all of your code, but you don't seem to understand me.

I've asked you several times to provide examples and further explain yourself, to which you did not respond. If you want to have an argument I suggest you use real facts to back it up.

** Relevant Non-Trolling Matters **

Quote:
Originally Posted by Anitarf
Looking at the code, it seems like your homing missiles can only move directly towards a target, unlike the WC3 projectiles which still move in an adjusted arc.

There are still updates to come. I was working on an implementation of "x/y" arc and fixing up the arc so that it applies the proper acceleration when the target changes. It is something I simply overlooked at first, and since there were more important things to work on it slipped my mind. There are exams going on (I have a Calculus exam in 50 minutes) and I've been busy with studying.
04-19-2010, 01:30 PM#12
Anachron
Quote:
Look at the dates on your posts. You posted on my thread asking why I was making a custom projectiles system when you are already making one long before I posted on yours, stop trolling for christ's sake and stop lying to me and everybody else, as if I'm too stupid to fathom your jealousy.
You: 02-24-2010, 10:34 PM
I: 03-26-2010, 08:07 AM
Stop lying.

And btw., why should I be jealous if I think my system is better? That doesn't make sense.

Quote:
Oh wow someone agreed with you good job, now you can stop feeling so lonely and go back to using 8 functions for changing unit position.

I don't see how using a unit parameter can limit the system in any way. The fact that jumping is a lot like projectile motion only supports the idea that the system be able to handle this kind of action.
Stop trolling and just accept that I know the stuff I am talking about. Just get it, okay?

Quote:
No, neither of these things should be setup by the user, that wouldn't make any sense. I'm obviously still working on the system, you may notice by the considerable update. As I said there, there is more to come. Perhaps instead of listening to yourself speak you should listen to what I'm actually saying.
I don't really care if anybody uses it, I use it, and I create projectiles that look like actual in-game projectiles, not the shitty amateur ones that you have setup in your test-map.
What you claim as functionality is nothing more than vJassified BJ methods. My audience isn't autistic 12-year-olds.

Stop trolling. My missiles look a lot better imho.
(Even blizzard missiles go through walls, check it)

Quote:
I've asked you several times to provide examples and further explain yourself, to which you did not respond. If you want to have an argument I suggest you use real facts to back it up.
Oh well, I've told you many, but you always say "Its the fault of the user, he got to make it"
04-19-2010, 03:10 PM#13
Michael Peppers
You two seem to spend a lot more time arguing than optimizing your systems.

Also, no one cares about your silly debate.
04-19-2010, 04:38 PM#14
TheKid
Quote:
Originally Posted by Anachron
I've asked you several times to provide examples and further explain yourself, to which you did not respond. If you want to have an argument I suggest you use real facts to back it up.

Oh well, I've told you many, but you always say "Its the fault of the user, he got to make it"

You've told me many what? Examples? "It doesn't do the z-distance" is not an example of anything other than your stupidity.

This is your first post on my thread. You state "It's too complicated" but you don't explain yourself any further. You also state that it's too hard to manipulate the missile and again, you don't explain yourself.

A little ways down that thread you state "But projectilegroup is really to much, users could simply do it themself." and now you're criticizing me for leaving certain things to the user's end. Stop your charade of bull-shit, it's transparent (if you didn't already know that).

Quote:
Originally Posted by Anachron
(Even blizzard missiles go through walls, check it)

There is no such thing as a "wall" in WarCraft III. Let's say, for argument's sake, you mean "terrain". I didn't mention anything about terrain in any of my post, in fact I don't think I have ever talked about terrain collision in any of my projectile posts, ever. Not to mention I never mentioned anything about walls, either, I really don't know what you're talking about.

Quote:
Originally Posted by Anachron
Stop trolling and just accept that I know the stuff I am talking about. Just get it, okay?

How can I troll my own thread, and how am I supposed to "just get" using 8 functions to perform basic actions --there is nothing to get.

I'm going to stop there, all of your comments about the things I have stated are just signs of trolling, and I'm not going for it. You haven't actually given any information, fact, or explanation for anything you have said.

I don't know why you linked to those threads either, just shows how incredibly unreasonably bias you are when it comes down to things, you must be republican.

You didn't even have your event handler interface working on 3/31/10.

I was already working on script re-writes and optimization tips (with a working script) on 3/02/10.
04-19-2010, 04:50 PM#15
Anachron
You are just harassing, so I won't reply to you any longer.

And for gods sake,
I had eventhandler, I only had problems using interfaces, I used stub methods only which I got to work in the first week of february, I can send you the first version if you really don't believe me.