• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Unstable Tectonics v1.0

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Spell - Unstable Tectonics

A simple GUI triggered spell though it isn't a fancy one but can be useful.
1. File -> Preferences -> Automatically create unknown variables while pasting trigger data.
2. Copy the Shockwave (1UnsT1) and Unstable Tectonics spells to your map
3. Copy the Dummy (1UnsT1) unit to your map.
4. Copy the Unstable Tectonics trigger folder to your map
5. Add the Initialization 1UnsT1 trigger's code to your map's initialization trigger.
6. Rate this spell
  • Initialization 1UnsT1
    • Events
    • Map initialization
    • Conditions
    • Actions
    • -------- Hashtable Creation --------
    • Hashtable - Create a hashtable
    • Set Base_Hashtable_1UnsT1 = (Last created hashtable)
    • -------- Do Not Touch --------
  • On Cast 1UnsT1
    • Events
      • Unit - A unit Spawns a summoned unit
    • Conditions
      • (Unit-type of (Summoned unit)) Equal to Dummy (1UnsT1)
    • Actions
      • -------- Do Not Touch --------
      • Unit - Set level of Shockwave (1UnsT1) for (Summoned unit) to (Level of Unstable Tectonics for (Summoning unit))
      • Hashtable - Save Handle Of(Summoned unit) as (Key Dummy_S) of (Key (Summoned unit)) in Base_Hashtable_1UnsT1
      • Unit Group - Add (Summoned unit) to Summoneds_1UnsT1
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Every Second 1UnsT1 <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Every Second 1UnsT1 <gen>
        • Else - Actions
      • -------- Do Not Touch --------
  • Every Second 1UnsT1
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Summoneds_1UnsT1 and do (Actions)
        • Loop - Actions
          • -------- Handle --------
          • Set KeyPU_1UnsT1 = (Key (Picked unit))
          • -------- Number of waves released till now --------
          • Set Wave_Counter_1UnsT1 = (Load (Key Wave Done) of KeyPU_1UnsT1 from Base_Hashtable_1UnsT1)
          • -------- Total Number of waves - Configurable --------
          • Set Wave_Counter_T_1UnsT1 = 5
          • -------- Time passed since last wave --------
          • Set Time_Counter_1UnsT1 = ((Load (Key Time_S_L) of KeyPU_1UnsT1 from Base_Hashtable_1UnsT1) + 0.01)
          • Hashtable - Save Time_Counter_1UnsT1 as (Key Time_S_L) of KeyPU_1UnsT1 in Base_Hashtable_1UnsT1
          • -------- Total Number of waves - Configurable --------
          • Set Interval_1UnsT1 = 1.00
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Wave_Counter_1UnsT1 Less than Wave_Counter_T_1UnsT1
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Time_Counter_1UnsT1 Equal to Interval_1UnsT1
                • Then - Actions
                  • -------- Caster Dummy --------
                  • Set Dummy_1UnsT1 = (Load (Key Dummy_S) of KeyPU_1UnsT1 in Base_Hashtable_1UnsT1)
                  • -------- Point Around Which The Shockwaves are created --------
                  • Set Center_1UnsT1 = (Position of Dummy_1UnsT1)
                  • -------- P --------
                  • Set R_P_1UnsT1 = ((Position of Dummy_1UnsT1) offset by 400.00 towards (Random angle) degrees)
                  • -------- Number of waves released till now update --------
                  • Set Wave_Counter_1UnsT1 = ((Load (Key Wave Done) of KeyPU_1UnsT1 from Base_Hashtable_1UnsT1) + 1)
                  • Hashtable - Save Wave_Counter_1UnsT1 as (Key Wave Done) of KeyPU_1UnsT1 in Base_Hashtable_1UnsT1
                  • -------- Cast --------
                  • Unit - Order Dummy_1UnsT1 to Orc Tauren Chieftain - Shockwave R_P_1UnsT1
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Wave_Counter_1UnsT1 Less than Wave_Counter_T_1UnsT1
                    • Then - Actions
                      • Unit - Create 1 Dummy (1UnsT1) for (Owner of Dummy_1UnsT1) at Center_1UnsT1 facing Default building facing degrees
                      • Hashtable - Save Handle Of(Last created unit) as (Key Dummy_S) of KeyPU_1UnsT1 in Base_Hashtable_1UnsT1
                      • Unit Group - Add (Last created unit) to Secondary_Dummies_1UnsT1
                    • Else - Actions
                  • -------- Resetting Time & destroying variable. --------
                  • Hashtable - Save 0.00 as (Key Time_S_L) of KeyPU_1UnsT1 in Base_Hashtable_1UnsT1
                  • Custom script: call RemoveLocation(udg_Center_1UnsT1)
                  • Custom script: call RemoveLocation(udg_R_P_1UnsT1)
                • Else - Actions
            • Else - Actions
              • -------- Clean Up - Intiate --------
              • Hashtable - Clear all child hashtables of child KeyPU_1UnsT1 in Base_Hashtable_1UnsT1
              • Unit Group - Remove (Picked unit) from Summoneds_1UnsT1
              • Unit - Kill (Picked unit)
              • Unit Group - Pick every unit in Secondary_Dummies_1UnsT1 and do (Actions)
                • Loop - Actions
                  • Unit - Kill (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in Summoneds_1UnsT1) Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
113943-526c5f5047b40d519dfe97637e8db29f.jpg
1) Fixed some leaks.
2) Replaced the clean up way.
By
G.One
Previews
Contents

Unstable Tectonics v1.0 (Map)

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,182
You should add the tooltip to the description, one should be able to know what the spell do without reading the triggers.

Regarding triggers, the loop trigger should be turned off if the group is empty.
You could also store key(picked unit) into a variable.
Using the Remove Unit action leaks, you can ready more about leaks at various threads around the forum if you use the site's search function.
 
Level 3
Joined
Jul 15, 2014
Messages
21
You should add the tooltip to the description, one should be able to know what the spell do without reading the triggers.

Regarding triggers, the loop trigger should be turned off if the group is empty.
You could also store key(picked unit) into a variable.
Using the Remove Unit action leaks, you can ready more about leaks at various threads around the forum if you use the site's search function.
I has fixed the problems and replaced the remove unit action with kill unit action.
 
Level 3
Joined
Jul 15, 2014
Messages
21
You stored the summoned unit into a variable but you did not use it.
You still leak a location.
You must make the spell configurable.
I don't understand where the location leaks, I don't find it leaking.

Concept is too simple in my opinion -- actually just a warcraft object editor spell is used and casted several times in a series.
For private maps it's totaly fine to use, but for public submissions it should cover some usefulnes for more parts of the community.

The code seems wronly indented at the moment in the spell description.
I agree that the idea is simple but there are many users who just want to make maps but don't want to learn a thing about triggers, this should be useful to them.

AND with the code I dont get how to get it right also some are saying this problem is occuring with most firefox users like me.
Also is it gonna be rejected just for simpleness.
 
Last edited by a moderator:
Level 22
Joined
Aug 27, 2013
Messages
3,973
I don't understand where the location leaks, I don't find it leaking.
Center_1UnsT1 - this variable is leaking because you don't destroy it in the end.
(Center_1UnsT1 offset by 400.00 towards (Random angle) degrees) - once again you are leaking a location. you must store this into a variable and destroy it later.
(Position of Dummy_1UnsT1) - another leak.

You also create a dummy only for Player 1 (Red). If a caster from another player casts it, things will get messy.

Also, I think 0.01 is way too fast. 0.03 or 0.04 is enough.

Lastly, please do not double post. Edit your previous post instead.
 
Level 3
Joined
Jul 15, 2014
Messages
21
Center_1UnsT1 - this variable is leaking because you don't destroy it in the end.
(Center_1UnsT1 offset by 400.00 towards (Random angle) degrees) - once again you are leaking a location. you must store this into a variable and destroy it later.
(Position of Dummy_1UnsT1) - another leak.

You also create a dummy only for Player 1 (Red). If a caster from another player casts it, things will get messy.

Also, I think 0.01 is way too fast. 0.03 or 0.04 is enough.

Lastly, please do not double post. Edit your previous post instead.
How can it be destroyed, I don't find any command to do it.
It is kept because some may want the interval to be something like 0.25 and this interval can be made only using 0.01 or 0.05 but .05 some other interval cant be made.
And sorry about the double post.
 
I agree that the idea is simple but there are many users who just want to make maps but don't want to learn a thing about triggers, this should be useful to them.

But this spell is to cast a default ability, so it is not really your own spell that is being used.
So they will import a dummy unit which is casting something they already do have for usage.
--
The Spell Submission section is not a place to give examples of how something can look like ,or how something can be used, but more a place for submitting your own product. And your own spell aspect of this product is pretty low in here.

Please use the Edit button instead of double posting.
 
Level 3
Joined
Jul 15, 2014
Messages
21
Is the map fine now?
But this spell is to cast a default ability, so it is not really your own spell that is being used.
So they will import a dummy unit which is casting something they already do have for usage.
--
The Spell Submission section is not a place to give examples of how something can look like ,or how something can be used, but more a place for submitting your own product. And your own spell aspect of this product is pretty low in here.

Please use the Edit button instead of double posting.
This spell is not like just that simple, a person may want a spell to multicast over time. So the spell provides a way to cast shockwave a given no of time at given intervals. They will still have use for triggers which many just don't want to.
Updated again for the other leak.
 
Last edited:
Level 22
Joined
Aug 27, 2013
Messages
3,973
Set R_P_1UnsT1 = ((Position of Dummy_1UnsT1) offset by 400.00 towards (Random angle) degrees) - still leaking

This spell is not like just that simple, a person may want a spell to multicast over time. So the spell provides a way to cast shockwave a given no of time at given intervals. They will still have use for triggers which many just don't want to.
The spell is simple. At least trigger your own shockwave for that. I agree with IcemanBo here.
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
This spell is extremely simple. When approved, I may have to move it to the Substandard / Too Simple subforum. Other than that, there are still issues with the spell:
  • Your variable names are unnecessarily long. For example, your hashtable is called Base_Hashtable_1UnsT1. You could have got away with just calling it UT_Hash (UT for Unstable Tectonic)
  • The configuration trigger is extremely lacking. All it has is the hashtable creation, but none of the actual spell data like the abilities and dummy unit. To be honest, I can not see your configuration trigger having more than that since most of the spell data is configurable from the object editor
  • A 0.01 second loop timer is unnecessary and taxing on performance if you have a lot of them. You can stick with the conventional 0.03
  • Your loop contains a lot of hardcoded values that should be configurable from the config trigger
  • Rheiko has already mentioned it, but you do leak a point here:
    • Set Center_1UnsT1 = ((Position of Dummy_1UnsT1) offset by 400.00 towards (Random angle) degrees)
  • You also leak another point here
    • Unit - Create 1 Dummy (1UnsT1) for (Owner of Dummy_1UnsT1) at (Position of Dummy_1UnsT1) facing Default building facing degrees
  • Store (Picked unit) into a variable at the start of the unit group loop
Submission status will be at Awaiting Update.
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
KILLICIDE, as discussed, I'm going to be nitpicking some of your points in this section. I'll probably get bored soon :p

Your variable names are unnecessarily long. For example, your hashtable is called Base_Hashtable_1UnsT1. You could have got away with just calling it UT_Hash (UT for Unstable Tectonic)

You're right that the variable name is bad, but your reasoning is not quite correct.

Long variable names are good in all contexts because they reduce ambiguity and make it easier to write self-documenting code.

Here is a nice, recent example: https://beehollander.wordpress.com/...d-why-i-will-never-abbreviate-variable-names/

In the context of JASS, users have discussed in the past that long variable names are sometimes bad because the JASS interpreter has to read characters one line at a time. In fact, there was a time when it was encouraged to write code without any extra whitespace, e.g. set u=3.+4.+v(uX,uY,uZ)*ANNOYINGCONSTANT

That is no longer the case. You should be using a preprocessor that strips the developer context (descriptive variable names) into fast code.

Why is the variable name bad then? Hungarian notation is bad because it clutters names with data useless to a maintenance programmer, and makes refactoring the variable type prone to bug. There are more reasons and more argument. See http://programmers.stackexchange.co...s-the-benefit-of-not-using-hungarian-notation https://herbsutter.com/2008/07/15/hungarian-notation-is-clearly-goodbad/

As another reference, the google c++ style guide strictly forbids hungarian notation.

Finally, the correct thing to do here is actually to not declare a global hashtable at all. The developer should be using a shared hashtable instance (Table API) because initializing hashtable for every spell is wasteful (it's slow, and there's a hard limit of 255 of them).

A 0.01 second loop timer is unnecessary and taxing on performance if you have a lot of them. You can stick with the conventional 0.03

For a GUI trigger I'll let this pass (and in either case we really shouldn't be accepting GUI triggers to this forum), but in a more general context, the 0.03 value has always been a bad, magic number.

To describe intent better you should be using a number representing frequency, not period. So constant real CLOCK_PERIOD = 1. / 30. is (in general) probably the best way to go.

The rest of the suggestions look good to me.
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
You're right that the variable name is bad, but your reasoning is not quite correct.
My reasoning is more than quite correct. The Spell Submission Rules states "Variable names must be descriptive, but not too descriptive."

Long variable names are good in all contexts because they reduce ambiguity and make it easier to write self-documenting code.

Here is a nice, recent example: https://beehollander.wordpress.com/...d-why-i-will-never-abbreviate-variable-names/

In the context of JASS, users have discussed in the past that long variable names are sometimes bad because the JASS interpreter has to read characters one line at a time. In fact, there was a time when it was encouraged to write code without any extra whitespace, e.g.
set u=3.+4.+v(uX,uY,uZ)*ANNOYINGCONSTANT
Self-documenting code? In the context of JASS? This is a GUI submission. As such, it will be reviewed as a GUI submission. Regardless, having long variable names in GUI has the complete opposite effect of what you stated. Once these "good long variable names" enter arrays of arrays, it becomes a nightmare. Fancy highlighting syntax has no power here.

Finally, the correct thing to do here is actually to not declare a global hashtable at all. The developer should be using a shared hashtable instance (Table API) because initializing
hashtable
for every spell is wasteful (it's slow, and there's a hard limit of 255 of them).
As far as I know, no such system exists that is compatible with the vanilla editor. All though there is a said system in the JASS section, are we really going to force a GUI submission to use a vJASS library? All thought it's wasteful, it's not that big of a deal for a map that can be no bigger than 8 MB (excluding single player maps).

the 0.03 value has always been a bad, magic number.
It doesn't seem so bad for a GUI trigger. What reason should users who make a GUI spell need to use an arithmetic operation just so there periodic timer is "0.03333..." instead of just 0.03?
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
My reasoning is more than quite correct. The Spell Submission Rules states "Variable names must be descriptive, but not too descriptive."

Joe Condon said:
Eschew clever rules.

If you don't know why the rule exists, you have no business following it.

Also your explanation requires that I consider these (very vague) rules to be good programming practices.

unstable_techtonics_summon_mapping is an objectively better name than anything with UT in the name.

Self-documenting code? In the context of JASS? This is a GUI submission.

Yes. In the context of programming, there are much strangers ways of writing code.

As such, it will be reviewed as a GUI submission. Regardless, having long variable names in GUI has the complete opposite effect of what you stated. Once these "good long variable names" enter arrays of arrays, it becomes a nightmare. Fancy highlighting syntax has no power here.

Sounds like you shouldn't be using arrays of arrays without comments.

(Sounds also like you shouldn't use GUI)

As far as I know, no such system exists that is compatible with the vanilla editor. All though there is a said system in the JASS section, are we really going to force a GUI submission to use a vJASS library? All thought it's wasteful, it's not that big of a deal for a map that can be no bigger than 8 MB (excluding single player maps).

Fair enough (actually it's not fair. GUI scripts that aren't good in a general context should be discarded - not given special privileges)

It doesn't seem so bad for a GUI trigger.

Yes that's what I said.

What reason should users who make a GUI spell need to use an arithmetic operation

I didn't say that you should in GUI.

just so there periodic timer is "0.03333..." instead of just 0.03?

No, it's because fractionals are easier for humans to parse than decimals, and because 1. / 30. is clearly 30FPS, whereas 0.03 is "about 33 fps" IF you have memorized that worthless piece of information.
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
If you don't know why the rule exists, you have no business following it.
I know why the rule exists, which is why I follow it and offer it as a suggestion to people when I see it needed.


unstable_techtonics_summon_mapping
is an objectively better name than anything with UT in the name.
Objectively better in knowing exactly what system / spell it belongs to, but really:

  • Set Unstable_Techtonics_MaxIndex = Unstable_Techtonics_MaxIndex + 1
  • Set Unstable_Techtonics_Caster[Unstable_Techtonics_MaxIndex] = (Triggering unit)
  • -------- --------
  • Set UT_MaxIndex = UT_MaxIndex + 1
  • Set UT_Caster[UT_MaxIndex] = (Triggering unit)
Do you actually think the former is better?


(Sounds also like you shouldn't use GUI)
The Spell Section isn't the place to be telling people what "language" they shouldn't be using. There is actually a thread started by DracoL1ch about getting over GUI. Your thoughts will most definitely be considered over there.


I didn't say that you should in GUI.
This is a GUI submission. As I said before:
This is a GUI submission. As such, it will be reviewed as a GUI submission.

1. / 30. is clearly 30FPS, whereas 0.03 is "about 33 fps"
The main reason I suggested 0.03 was because there is very little difference from 0.01 and 0.03 in terms of visuals / mechanics. There would be a noticeable difference in performance if a user had multiple loops running at this periodic timer.



I hope my responses are not coming off in a bad tone. I appreciate you taking the time to point out flaws in my review, but I don't see what reason you have to do it for in a GUI submission when your suggestions are meant for Jass / vJass.
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
Do you actually think the former is better?

Yes I do, although both are pretty garbage.

The Spell Section isn't the place to be telling people what "language" they shouldn't be using.

Whether I agree with you or not (I don't) isn't really interesting.

This is a GUI submission. As I said before:

I think you need to re-read the discussion to understand what I'm saying.

The main reason I suggested 0.03 was because there is very little difference from 0.01 and 0.03 in terms of visuals / mechanics.

Yes, and this is why I said "for GUI triggers I'll let this pass".

I hope my responses are not coming off in a bad tone.

No problem and the same for you - I tend to be very blunt. I hope you also understand that I'm not picking on you by selectively responding to only your reviews and not others - I am doing this in the interest of time.
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
Whether I agree with you or not (I don't) isn't really interesting.
I just think it's irrelevant. One can also see it as being rude.

I think you need to re-read the discussion to understand what I'm saying.
Yes, and this is why I said "for GUI triggers I'll let this pass".
It seems senseless to be giving a GUI submission a lesson on how to efficiently use Jass.

No problem and the same for you - I tend to be very blunt.
Just expect me banging at your front door when I start seeing GUI submissions with the entire name of the spell / system as a prefix for their variables.
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
It seems senseless to be giving a GUI submission a lesson on how to efficiently use Jass.

I'm a little bit concerned that what you're insinuating is that "people who use GUI aren't smart enough to be worthy of accurate context and information".

A 0.01 second loop timer is unnecessary and taxing on performance if you have a lot of them. You can stick with the conventional 0.03

What you really should be explaining here is that the timer is running at 100FPS, but wc3 is limited to 65 (I think?) FPS. You could then suggest using a value of 0.03 as this the number that many other submissions go for.

Again: 0.01 being unnecessary = good, taxing on performance and alluding to magical convention = bad.
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
I'm a little bit concerned that what you're insinuating is that "people who use GUI aren't smart enough to be worthy of accurate context and information".
What? When did I ever say that? I was simply stating that giving a GUI submission Jass conventions is NOT the way to review. In your initial review, you talk about "whitespace" and how the user should have used a global table instead of declaring a single hashtable for the spell. It's great information for the user, but extremely senseless for the submission itself.

What you really should be explaining here is that the timer is running at 100FPS, but wc3 is limited to 65 (I think?) FPS. You could then suggest using a value of 0.03 as this the number that many other submissions go for.
I'll remind myself to add the explanation of the FPS the next time I encounter something like this.


All though I see a point you are trying to make, I can't be this descriptive for every single review I do. Half of the reviews I give are ignored as the submitter never finds the time or is too lazy to update them. I will give them the quick initial review, and if need be, I will further explain why when they ask or are confused with a suggestion.
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
What? When did I ever say that?

I didn't suggest that you said it. I said I was concerned you may be insinuating it. The only part I dislike about your review in the context of the timer period is the second half - your reasoning:

unnecessary and taxing on performance if you have a lot of them. You can stick with the conventional 0.03

* the reason 0.03 is better than 0.01 has nothing to do with performance
* referring to the use of 0.03 as convention is dangerous

That's all.

In your initial review, you talk about "whitespace" and how the user should have used a global table instead of declaring a single hashtable for the spell.

I think you have misunderstood who my points are for - they're for you. My comments here aren't a review of the submission.

You're also taking my discussion out of context. My comments about whitespace were related to the same explanation why long variable names [have in the past] been considered bad.

Whether you write your code in pure JASS, some vJass flavor, or GUI triggers, the map still loads and reads JASS. This is why some techniques (like Table) should be preferred regardless of the language used in the submission.

If the Spell submission guidelines don't discuss hashtable instantiation, the guidelines should be reviewed.

All though I see a point you are trying to make, I can't be this descriptive for every single review I do.

I agree, but it's also better to not be descriptive at all than to repeat and defend misinformation.

By removing the incorrect from the following:

A 0.01 second loop timer is unnecessary and taxing on performance if you have a lot of them. You can stick with the conventional 0.03

you are left with:

Change your 0.01 second loop timers to 0.03.
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
I didn't suggest that you said it. I said I was concerned you may be insinuating it.
Putting it in quotes made it seem like you were saying I said it.

referring to the use of 0.03 as convention is dangerous
You may also want to make a comment on the hundreds of submissions that use 0.03 :) 33.3 runs per second doesn't sound as bad as you make it out to be.

This is why some techniques (like Table) should be preferred regardless of the language used in the submission.
I honestly don't think there is a single map out there that is even coming close to 255 hashtables. Regardless, even if there was, it wouldn't be enough to start a worthy discussion about it. All though, having a vanilla editor compatiable "Table" sounds like a great addition to the Spell Section!

I think you have misunderstood who my points are for - they're for you. My comments here aren't a review of the submission.
I figured it was. I fear that the points you made are more suitable for a conversation / VM message, and not on the actual thread.

I agree, but it's also better to not be descriptive at all than to repeat and defend misinformation.
That's not what I meant. I was referring to the fact you posted links and wrote an entire paragraph on simply variable naming.

By removing the incorrect from the following
Am I wrong to say that 0.01 is unnecessary and that a bunch of 0.01 periodic timers will perform worse than 0.03? Anyway, I do like the reason you posted earlier. I will be using that instead, as I stated before.
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
You may also want to make a comment on the hundreds of submissions that use 0.03

No, I don't have a problem with people using such a magic number because I think it's minor.

33.3 runs per second doesn't sound as bad as you make it out to be.

You misunderstand. I don't have any reason not to like 33.3 iterations per second - what I don't like is that 0.03 doesn't convey 33.3 iterations per second unless you do the arithmetic in your head, or memorize this. 1. / 30. describes more developer intent and information.

I figured it was. I fear that the points you made are more suitable for a conversation / VM message, and not on the actual thread.

I think being public has some value. Perhaps a separate thread in Lab would be good, but this discussion is yielding more than the others did.

That's not what I meant. I was referring to the fact you posted links and wrote an entire paragraph on simply variable naming.

Hopefully everyone who read it learned something new, and those who already knew the information I conveyed didn't waste too much time with it.

If I was too verbose I'm happy to take that as feedback.

Am I wrong to say that 0.01 is unnecessary and that a bunch of 0.01 periodic timers will perform worse than 0.03?

It's more the case that, without a demonstration, the performance difference isn't really interesting.

If you're really confident about this, you might eyeball the script and say "this can probably only handle about 100 instances in this case, which, although high, is too expensive in the context of a larger map with many imports. I'll demonstrate that it's too expensive and offer my suggestion."
 
Level 37
Joined
Jul 22, 2015
Messages
3,485
If I was too verbose I'm happy to take that as feedback.
Not at all. I like people who back up their claims. I just saw it as irrelevant to the actual submission itself since all this information was for me, and of course anyone else who will take the time to read it. However, the latter would be more suitable for its own thread like you said.
 
Top