• 0

    posted a message on Questions about dependencies, libraries, long loading times, lag and gamespeed

    Thanks a lot mate!

     

    And about the thing with the cutscene, is there anything I can do to speed it up? Neither setting/locking/changing game speed in any way nor changing difficulty of the game helped so far, except that timers are then running faster, the cutscene runs at the same speed though.

     

    Best regards

    Posted in: Triggers
  • 0

    posted a message on Questions about dependencies, libraries, long loading times, lag and gamespeed

    Hey guys

     

    When I started making my fast map (Tanatox) 2 years ago, I literally had no clue about the editor whatsoever. That's why I added literally all dependencies from Blizzard that were available to download, even the wc3 one. I wanted to see how everything looks, not knowing that this would increase loading times heavily later.

     

    I want to provide to the players of my map the pleasure to enjoy the map with the least lag possible and with lower loadingtimes too.

     

    That's why I've rewritten most triggers in the last 2 months, improving game performance drastically. But there seem to be still so many things that appear to drain recources, and I can't really figure out which ones they really are. And before I keep trying to rewrite the wrong stuff, ending up having no real results, I'd like to ask you guys whether you could tell me which thing causes the most issues.

     

    So here are my main topics followed by some questions and I would like to know which of those things influences the performance the most:

     

    - I am having very large triggers. Also, I'm having a lot of them.

    - I do have very much Variables. Some of them are, where needed, arrays (having over 30 of them) with the size of 750.

     

    - Then I've just recently discovered that there are many triggers in the library that are coming with the dependencies, some of them fire whenever a unit dies. I can't seem to delete anything from there though. Like I've tried to adjust the creep spread from the Stukov Command Center default to my modified one, I didn't work. Also I added all campaign dependencies 2 years ago, which I now don't seem to be able to remove them easily. Is there an easy and safe way to remove the libraries and dependencies I don't need? The last time I tried doing so on my own I ended up messing up almost all of my previously made data.

     

    - Also I've monitored that there's a function runnig that sets the tint color of some modified wireframe healthbars (green to teal), it runs quite often and consumes a lot of running time in total. Does changing the color of a wireframe consume that much rescources?

     

    - I've noticed that when a specific hero is played, the game starts to lag incredibly after a while. This hero bascially only uses 2 things: he has a own trigger that fires everytime a unit dies, giving the hero +1 vesp and he also has the +5 hp gain from Alarak as an teal (instead of red) effect with an area over the entire map which should respresent the vespine he gets. In the debug window I end up getting an overflowing amount of error messages repeating: "an effect (or actor) already exists on that actorscope". Is there anything I can do about it? Or is it just the high amount of effects that occur and that are not getting removed properly? How can I make sure that those effects don't stack to infinity?

     

    In the same way I often receive a message that some units are having too many cAbilAttack abilities attached to them, does this influence game performance in any way? Same goes with the message, that some units are having too many abilities in general. Has this a profound impact on the loading time or game performance in general or can it just be ignored?

     

    - Relating to the dependencies, I've read that the wc3 dependency may cause various issues. Is that the case? It's the one I'm using the least, only like a few icons. But I'd like to keep those. Is there a way to keep the icons I want and then simply remove the dependency with no big effort? Only if that would improve loading time and game performance, of course. What I've seen so far is that I'm really having a lot of unused data stuff in the data section, way too much. But I'm really scared that, by removing dependencies/data, I would deeply mess something up somewhere, causing nothing to really work anymore. And since I've read that some files are only saved locally I'm scared that all my previously made stuff will then just get overwritten. But seeing all these triggers firing whenever a unit dies - or seeing that function that checks whether a player is a commander and is having a very high running time ( while and I'm not even using any commanders on my map) - causes me really to think that I have to do something about it as it looks like these things impact game performance by a lot while not doing anything useful at all. I just don't know how I can do that, since I can't change any of these triggers. I only see that they are there and that they are running. Is there anything I can do about it? And not having to worry about messing everything up while trying? Because having all these additional libr triggers running that are not doing anything really doesn't seem like it's supposed to be to me.

     

    - Also, I'm having a few imported things: some pictures (around 10mb) and 2 sound files (one is 3, the other 10 mb). Does that have an influence on the loading time during the loadingscreen or are they just being downloaded when entering the lobby?

     

    - I have a few triggers with the "map init" event, like one for each bank preload (having 3 banks). Does having everything in 1 map init trigger together really have an positive impact on the loading time and therefore should be done or is that just rumors? And the effect not worth mentioning?

     

    - Also, If I want to shut down a trigger correctly, how would I do it best (in which order to actually make it work properly)? "Turn trigger off", "Stop trigger" and then "Destroy trigger"? Or would the "Stop Trigger" action actually stop the trigger from being destroyed?

     

    - Foodprint. I have many things on my map that are not doing anything really but waiting for a specific hero to come by. Though they have 2x2 or 1x1 foodprints. Would it be better to just completely remove the foodprints of these buildings or is it better to have them? What causes more lag: having foodprints on big buildings or having none applied to them?

     

    - Further I am having a lot of regions and points all over the map. Do they, by any chance, influence game performance? I also gave a model to some of the points so that I can identify them more easily. Could this be a trigger for lag?

     

    - Many units have a fidget move command with 90° turning rate, letting them move around the entire map once idle, but they are getting issue ordered around a lot before they finally stand. Does their fidget capability still drain game performance and should be removed although they are not using it for a long time?

     

    - Is there anything else in general that I could do to reduce lag and loadingscreentimes? I'm working on all kind of triggers and data stuff (only to reduce lag) since month now and I still havn't found the main reason for it yet. Is there something really simple, besides all the mentioned points, that I can do to increase performance, something that I've just overlooked all the time? Or have I just messed something up with the lights/render? I really don't know which triggers, what functions or what in general are the cause for the lag, except the common ones that are already known.

     

    2 more questions:

     

    I made a cutscene that is 180 seconds long. When it runs, no matter what, it always runs at the same speed which is 180 seconds. I literally tried everything to make it run faster, it always appears to run at "normal" speed. Is there any way to make the cutscene run faster?

     

    Also, I do have many hills on my map, some a very close to each other. I'd like to make some units not being able to see whats going on on the other hill while being on the same height level as the other hill. How can I do that?

     

     

    I'd be really happy if you guys could answer some of my questions.

     

    Best regards!

     

     

     

     

     

     

     

     

     

    Posted in: Triggers
  • 0

    posted a message on [Solved] Sorting integer values, any way to compare [text]?

    Ok

     

    I found the solution: I tagged each successful loop with function that I just recently have discovered: "handle of player <int>", by using it in a string array. This turned out to be working just perfectly, eliminating all preexisting and lower values.

     

    I think writing down my problem helped me find the right solution though- and got my sorter to where I wanted it to be.

     

    Best regards

     

    Yunishaa

    Posted in: Triggers
  • 0

    posted a message on [Solved] Sorting integer values, any way to compare [text]?

    Hey guys

     

    I really need your help since I'm quite stuck.

     

    I'll try to describe my problem as good as I can.

     

    Actually I'm making a sorting-system that takes given integer values and sorts them from 1 to 50. 1 is the highest value, 50 the lowest. 

     

    3 Values will then be stored into bank: <Name of Player>, <integer value> and <Hero played>.

     

    Explanation:

    What happens now is (examples):

     

    Example-stats:

     

    Lets say 1. integer value = <100>, player who got the value = <Baneling>, the hero that Player "Baneling" played = <Zealot>.

    Lets say 2. integer value = <140>, player who got the value = <Thanos>, the hero that Player "Thanos" played = <Marine>.

    Lets say 3. integer value = <120>, player who got the value = <Jinx>, the hero that Player "Jinx" played = <Slaine>.

     

    <Sorting by integer>

     

    Restults:

     

    [Place x: <Integer> <Playername> <Hero>]

    x=1 to 50

    Place x(=1): <140> <Thanos> <Marine>.

    Place x(=2): <120> <Jinx> <Slaine>

    Place x(=3): <100> <Baneling> <Zealot>

    ...

    <Save>

     

    Next game (No integers were changed) :

     

    <Sort>

     

    Place 1: <140> <Thanos> <Marine>.

    Place 2: <120> <Jinx> <Slaine>

    Place 3: <100> <Baneling> <Zealot>

     

    <Save>

     

    Because:

     

    <Sort>

    If:  [Case1] <140> <Thanos> <Marine>   =   [Case2] <140> <Thanos> <Marine>

     

    (Means:

    If: 140 = 140

    and check position = checkPositionChecker

    )

     

    Then: Delete: [Case2]

    <Keep sorting>

     

    and so on.

     

     

    BUT:

    Next game (Integer value 120 changes to 120+50 = 170 during the game) :

     

    <Sort>

     

    Place 1: <170> <Jinx> <Slaine>

    Place 2: <140> <Thanos> <Marine>.

    Place 3: <120> <Jinx> <Slaine>

    Place 4: <100> <Baneling> <Zealot>

     

    <Save>

     

    Or even: (all integer values change)

    [Modify Value1 (doesn't matter which one/which order as my sorter will get the right one)] = 120 + 30 = 150

    [Modify Value3] = 100 + 60 = 160

    [Modify Value4] = 140 + 100 = 240

     

    <Sort>

    Place 1: <240> <Thanos> <Marine>.

    Place 2: <160> <Baneling> <Zealot>

    Place 3: <170> <Jinx> <Slaine>

    Place 4: <150> <Jinx> <Slaine>

    Place 5: <140> <Thanos> <Marine>.

    Place 6: <120> <Jinx> <Slaine>

    Place 7: <100> <Baneling> <Zealot>

    <Save>

     

    And then, next game:

    (Player Thanos is no more playing therefore not in the game, Player Baneling has gone as well, value x becomes value 170 = 170 + 200 = 370)

     

    <Sort>

     

    Place 1: <370> <Jinx> <Slaine>

    Place 2: <240> <Thanos> <Marine>. [not playing]

    Place 3: <160> <Baneling> <Zealot> [not playing]

    Place 4: <170> <Jinx> <Slaine>

    Place 5: <150> <Jinx> <Slaine>

    Place 6: <140> <Thanos> <Marine>. [not playing]

    Place 7: <120> <Jinx> <Slaine>

    Place 8: <100> <Baneling> <Zealot> [not playing]

     

    <Save>

     

    Problem:

     

    As you can see, my sorting system only gets integer values and is able to clear them if they have the same value and position in its integer array. If two different players have the same value, then it's randomly decided who gets the higher place; the other will get the place one place lower (ex: one will get place 43, the other 44). What my sorting system can't, is to check if the PlayersName AND HeronameID are the same at the taken integer value to then delete further values of the same type. Therefore, for example, all other, previously stored <Jinx> <Slaine> stats will be sorted and stored as well, instead of deleting them.

     

    What I Need

    PlayersNames are stored as text, HeronamesID as Integer/text. PlayerNames, stored as text, are stored as those for that I can recall their names, even if the players are not in the game. I now need to find any way to make a condition compare both PlayerNames with Playernames2 AND HeronamesID with HeronamesID2 to clearly specify which further integer values should be deleted as well. Means, I probably need something that lets a condition compare text with text. Any solutions? Tried to convert the text to string already, didn't work.

     

     

    I'd be glad for any help. Been trying to find a working way for hours now. Will keep trying to figure out a solution meanwhile.

     

    Best regards

     

    Yunishaa

     

     

     

     

    Posted in: Triggers
  • 0

    posted a message on Kerrigan to SwarmKerrigan to Xel'Naga Kerrigan model swap

    Oh nice, yea now I see. yea I am swapping the weapons as well as the model for each upgrade (4 in total, from normal Kerrigan to epilogue Kerrigan).

    I now see the different attacking animation brackets for each Kerrigan, question then is how to add them to my main unit, and when? With which event I can make it fire- and be removed after the next upgrade? Or is there another way to add all these animation brackets to the unit without error?

    Thx a lot so far. Feel like I'm almost there lol, but its just almost ..

    Posted in: Data
  • 0

    posted a message on Kerrigan to SwarmKerrigan to Xel'Naga Kerrigan model swap

    You're my hero SuperEvil :D

    Made the model swap via events with the upgrade requirement and its working properly

    Was working on this for over a day and after I read ur post i decided to look over it again, I should've just let it lol.

    Problem remains the same:

    My Kerrigan: My Kerrigan My Kerrigan 2

    The real Kerrigan:

    Real Kerrigan Real Kerrigan 2

    What am I doing wrong? Do I need to add additional model? Am I swapping the wrong models? Do I need to add additional actors previously? Spent 2 days on figuring it out already, I'm stuck and I've no clue how to change. And its just such a little detail, don't know why I spend so much time on it ..

    Imagine a war between two generals, each with thousands of marines, but they're just standing around having a beer while millions of bullets firing through space. lel

    I think I'm giving up on this :<

    Posted in: Data
  • 0

    posted a message on Kerrigan to SwarmKerrigan to Xel'Naga Kerrigan model swap

    Hey Guys

    Basically I'm working it with triggers but I think the problem should be solved via data.

    Like the title says, I want the normal Kerrigan to change its model to infested Kerrigan and so on after each upgrade.

    I am working with the "set unit model variation" Action, everything works fine except, and that bothers me, (it's actually a detail but a big thing to me in my eyes!) the new model kerrigan isn't really performing her attacks anymore, she's likely just standing still while attacking. Not like the "real" unit, who's moving (performing a cewl animation and stuff or does at least anything that looks like something lol).

    I been searching through the actors and trying to find a way to solve it but it more likely felt like to wander through jungle.

    Can't simply solve the problem by the "replace unit" action, cuz I wan't to keep kerrigans health and stuff...

    Plz help

    Greetings

    Posted in: Data
  • 0

    posted a message on [solved] Issues with capturing point system

    fixed it, had to set the unit variable to "any unit" .....

    Posted in: Triggers
  • 0

    posted a message on [solved] Hero selection, setting teams, random event.

    Ah there was the key, simple as that. Thanks:)

    Posted in: Triggers
  • 0

    posted a message on [solved] Hero selection, setting teams, random event.

    Hey guys

    Having another question.

    I am creating a map and finishing the hero selection atm.

    Where I can not pass is the following: there are 2 teams, team 1 and team 2 for example, no team side is set for each player at the beginning. Everyone has to select one hero. based on what hero they select (kinda like good and evil), they will be moved to a team (team 1 for picking a "good" hero, else team 2). BUT there has to be a minimum of 2 players on the "evil" side. If no1 picked a hero from the evil side, two players of all active players should randomely be choosen to be 1 of the 2 evil heroes and be set to team 2.

    How can i do this? For me it was nearly impossible to figure it out how to do it by now and I was spending hours already..

    Posted in: Triggers
  • 0

    posted a message on [solved] Issues with capturing point system

    Hey guys

    I am facing a serious problem with creating a capture point system.

    What a want to do is quiet simple but yet I can not figure out how I get it to work. After two days of trial and error i decided to ask the forum

    I made a picture to descibe as precisely as possible what i want to do:

    capture Fullscreen

    The rub is somewhere around 3 and 5.

    When timer a expires, I have set a unit for step 3 to spawn, but if I do not add this unit to a unit/unit group variable, it then, after spawning, is not the same unit as i have chosen before. So I can not use it, it will not trigger any further events.

    So far so good. If I now try to add unit Y to a unit group and make another event: if unit Y from unit variable dies, spawn unit Z from step 5

    it makes unit Z endlessely all the time. Even if unit Y not yet has spawned.

    What am I doing wrong? :(

    I hope you can understand what i mean and help me

    Posted in: Triggers
  • To post a comment, please or register a new account.