nimos100's Forum Posts

  • Here is a guess

    I think your problem is with your picking.

  • Weren't this suppose to be in the C3 forum?

    nimos100, the performance issue is hit with only a few objects. The sample capx's were to show the issue.

    Some people are hitting 4-5s per dialog, with only a handful of objects.

    When comparing to W7, the same project loads instantly.

    That is the issue in the thread.

    Ok fair enough, Im using Windows 7 so all good here

    With only a handful of objects, I fully understand that it annoys people (And Scirra as well).

    Not taking "sides" as I haven't read all comments, but I did try to open the test project and it was slow the first time to open. And fully understand that its annoying.

    But im not really sure what was expected by people? Wont all programs at some point suffer. I could understand if the issue had to do with a structured well designed app, but this is just a lot of objects and events just for the sake of being many. Which is fine for testing, at least to some degree.

    By that I mean I use both Photoshop and 3D applications and don't really see a huge difference between those and a huge project in C2. To explain it a bit better. If I make a ridiculous large image like 100000 x 100000 in Photoshop, it will take around 27.9 GB. it will take for ever to open if it doesn't crash Photoshop first. But that wouldn't make me instantly go to Adobe and complain that there software is slow or bugged. Same goes for 3D applications which can be crashed or force you to restart in less than 5 seconds if you simply crank up the number of subdivisions for an object.

    What I mean by these examples is that all programs will suffer in performance if you push them to the limits or beyond. The test program have around 11000 events and lots of objects. C2 will have to load all of them and obviously it will take longer the more objects it have to load. It seems a bit like my example above with Photoshop, its easy to have a go at software if you are not reasonable, but it doesn't really make a valid point, I think. Because even if Scirra solves it for this project, what prevent someone else to make a similar post just with 5000 objects and make a similar complain?

    But if C2 is supposed to do it and this project is seemed as a valid test project, then I guess its fair to raise the issue. Anyway as I said, Im not taking "side" just think its a weird test, as I have made many huge projects and never ran into this being an issue, unless it was my own fault for making a poor design in the first place, and this test project just seems like that to me.

  • You might be right that its actually 3d objects used in the game, just made to look more like a movie, which might actually be the most likely thing. Since loading large video files would take some time regardless of you using unreal or C2. However what you might be able to do is to load all needed video files for a battle before it starts and then you would just have to press play on the correct ones when needed. That might work but you should probably keep a close eye on memory use if you load a lot. But it might work.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • My initial thought is that it would be rather easy to do actually, at least programming wise. I guess the biggest problem might be with the cut scenes and whether C2 can load them fast enough for it to actually work. But you could easily test that. If you have a lot of video clips in varies sizes that represent what you think you might need. Then you could try to play them back as fast as possible and see if it works for you. Simply make it so each time you press Space it load and play a cut scene or something like that.

    But then again I might have misunderstood what you want to do

  • I have problems changing the grid size: sometimes I can change only the width, sometimes it doesn't work at all.

    Not sure this is what you mean, but changing these have as far as I know always been a bit weird as these boxes doesn't react to you pressing enter. So try this instead, after you have change one of the values just select the other textbox and it should work, sometimes you have to do it a few times just clicking between the two boxes after you have change the values and it sticks (works). Whether its a bug or simply just weird I don't know, but they surely work in mysteries ways

  • It sounds pretty weird and impossible to help with without a capx as it seem very unlikely that its a bug with C2 that wouldn't have been spotted by now.

    Have you tried making a new project and simply add a single tilemap and draw on it and see if that also gets all weird. If it does you need to upload a capx if you hope to get any help i think.

  • The reason is most likely from what I understand that those new missiles didn't exists when the player picked up the speed boost. So depending on how your speed boost is made. You have to add a check to the event where you spawn missiles and see if a speed boost is currently in effect and if that's the case you modify the speed accordingly in the create event.

  • Basically the main thing is simply to make sure that things only happen for a given player or AI at a given time. Which sounds logic obviously

    What you can do to control it is simply to make a Variable that keeping track of who's turn it is and make sure that its a condition all the places where its needed. When that player / AI is done you just change the variable to the next turn and so forth.

    Using lots of Functions would be a good idea (in general its a good idea) But what they allow you to do, is to call the function with different variables. In which the Variable that keeps track of who's turn it is could be one of them. That way you can reuse pretty much all the code for both player and all the AIs, if they are suppose to be the same.

    There ain't really a huge difference besides the above mentioned when it comes to a turn based game and a non turn based. Even in real time games things happens in turns, they are just so fast that you don't really notice it.

    Meaning all units in a real time game doesn't reacted at the same time, they simply appears to.

  • There are several things that I would suggest, mostly to make things easier for yourself and so you might be able to troubleshoot what is going wrong.

    Your picking of objects is a bit confusing, which I think make things harder for you. You shouldn't mind adding several picking sub levels. A good rule of thumb I think, is to always make sure that a Pick <something> is always the last thing you do in a picking event. If you need to pick more different objects, add a new sub level.

    The first picking order should be:

    (X) = line in your the picking

    (1) Every 0.032 seconds <------------ This can be removed, as (2) will check every tick and doesn't really impact performance a lot.

    (2) Collisionsprite is overlapping Front

    (3) For each Collisionsprite <----- This will act as a Pick <Something> so will be the last condition in the first pick, so add a new sub level.

    So the above two conditions will pick all the relevant collisionsprites that you are interested in.

    In a new sub level pick, you add:

    (4) Collisionsprite is overlapping front <----------- You don't need this, as you have already tested for that in (2), so you already know that you have the correct objects, so this should be deleted.

    This is what is important for the Front object. So add those next or add them above line (2) in the first Pick event.

    (5) ai_enabled = 0

    (8) Front is not attacking

    Something seems wrong with (6) and (7)

    (6) System Pick.... Front where ....

    (7) Pick instance with UID collisionspite.AI_ID

    (I don't know what is stored in collisionsprite.AI_ID, But I would double check that what you are doing here is correct and working. But these two conditions seems opposite of each other and my guess is that your problem is found with these two picks.)

    But assuming these are correct. you can add the last Pick here as well:

    (9) Pick a random Front

    The sub event (10)

    I assume that if the "Front" object is alive it should cast a fireball. If thats the case i would move it to a separate Attack group that handles Attack of AI. Mixing things together like movement and Attacking etc. Is most likely going to cause problems for you at some point.

    In your actions, you use a rotate behavior, which seems to complicate things, there is an action for sprites called rotate towards position, which will let you rotate the sprite at a certain speed towards a target. That way you can get rid of the timer and rotate behaviors.

    Not sure why you disable collisions? It seems wrong, but thats just a guess and there might be a reason for it.

    I would strongly advice that you never use Wait actions as it can cause serious problems, and should only in my opinion at least, be used if you are 100% sure it wont cause problems. Besides that adding the wait as the last action will as far as I can see have no effect unless you actually create an object that you need to change some settings for later during the tick. (meaning until the program have ran through all the code and started a new cycle (tick), if this makes little sense, it have something to do with when objects are created in Construct and when they actually exist in your program. So an object created during a tick will not be available before the next tick, so it needs to be initialize at the same level or a lower sub level...., The wait can be used to "fake" it, and that is where problems starts, as the wait doesn't actually make Construct wait, it simply fires off after the wait is over, which is when problems can occur and make it very difficult to pin point the exact cause of bugs, as these can happen with something that is completely unrelated to the place you used the wait. If it still makes no sense, just remember Wait = problems )

    Last you have a check called "On collision" which will trigger once while its true, you could use that instead. However if you have a lot of objects that need to use it, it will hurt performance a lot more than using "Is overlapping".

  • I think you might misunderstand what the problem is or I didnt write it clear enough

    I know that DOM elements are rendered on top of non DOM elements, which is fine as its not the problem, so its not important.

    The issue is if you click and hold down the mouse button on a progressbar as if you wanted to drag it somewhere. (As I wrote in the initial report, this obviously wont work as it doesn't have dragdrop behaviour). But regardless of that, after you have done it, other objects like the sprites which actually have dragdrop behaviour will no longer work. The mere fact that you simply "simulate" a dragdrop with the mouse on a progressbar will make it ruin the dragdrop behaviour for other objects.

    So simply, make a progressbar or a few and scale them down a bit as it doesnt seem to happen everytime and with every progressbar, after that make some sprites which have dragdrop behaviour. When you run the app. first try to dragdrop the sprites, this should work fine. Then try to dragdrop the progressbar and after that try to dragdrop the sprites again and see if they still work.

  • I know, but still they shouldnt break behaviours like dragdrop or did i misunderstood what you meant by what you wrote? I just find it weird why a dragdrop on a progressbar, which doesnt have it enable would affect it on other objects. At least to me it seems like a bug. But have you tried testing if you experience the same issue?

  • Problem Description

    The problem im having is when using the dragdrog behaviour with a sprite and having a progressbar pinned to it. This will cause the dragdrop to stop working, lag or make the sprite jump around.

    Attach a Capx

    https://www.dropbox.com/s/xl7ina3c0olwoum/DragDrop_bug.capx?dl=0

    Description of Capx

    The capx contain 3 sprites with dragdrop behaviour, each of them have a progressbar pinned to them. The progressbars have been resize to different sizes as it seems to matter, however not sure.

    Steps to Reproduce Bug

      1. Simply dragging each sprite around seems to work fine. 2. Place the mouse cursor above the middle progressbar and try to drag it. (This will obviously not work as it have no dragdrop behaviour) 3. Now dragging a sprite will now (in most cases) cause the sprite to lag, jump and ruin the dragdrop behaviour. This doesn't seem to happen for all progressbar. Starting by dragging the first progressbar to the far left and then dragging a sprite doesnt seem to cause problems. However it seems that it will happen regardless of whether the progressbar is pinned or not, simply dragging on a progressbar will ruin the dragdrop behaviour for other objects. (If someone can test it, and confirm the issue it would be much appreciated.)

    Observed Result

    Dragdrop behaviour stops working when you first drag on certain progressbars

    Expected Result

    That it shouldnt matter whether you dragdrop on a progressbar or not.

    Affected Browsers

    Tested in NW.js (v0.27.2)

    Operating System and Service Pack

    Windows 7

    Construct 2 Version ID

    r250

  • nimos100

    Hey it seem your image doesn't show up, can you please reupload ?

    Thank's !!

    It should be fixed now.