brendanpoke's Forum Posts

  • I'm encountering a small issue with my platformer game created in Construct 3 and was wondering if anyone could help me out. When my sprite goes up or down slopes in the game, it starts to shake in a strange manner. I've tried adjusting various things, but I haven't found a satisfactory solution yet. Has anyone else experienced this issue before or have any ideas on how to fix it?

    I would really appreciate any advice or suggestions you can offer. Thanks in advance for the help!

    I'm not sure I understand what you mean.

    But if it's like I think, you put a function like this: player.x> viewportright(0)-100 --> scrollx+5.

    In this way a tremor occurs because the character does not move at angle 0 when jumping.

    I don't make platform games and I don't use behaviors, so I don't know what your project is like.

    But for my games I found this interesting solution:

    A project example ->https://drive.google.com/file/d/1U9j3Kp3KndNzPEwsPbTsiRgf0H6wdIb1/view?usp=sharing

  • GA may not work in preview. On mobile it should be working if you built the game correctly.

    In GA go to Realtime -> Live events. You should be able to see the messaged from your phone. If there are none, this means the plugin is not working. It's either not configured correctly (check the keys etc.), or the app was not built correctly.

    What do you mean by "it's not configured/built correctly"?

    Can you tell me what the possible causes are?

    Something about Play Console? Or what about exporting the project?

    In my project I put only one action that concerns Game Analytics (on start of layout --> Initialize GA SDK).

    On the Game Analytics site I specified that my game is Construct and Android.

    this time I'm updating my public game (not internal testing) to check if that was the problem. Perhaps Game Analytics, in addition to not working on PC preview, doesn't even work in the internal test.

    Or what could be the problem?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'm trying to start using Game Analytics, but it's not working.

    I tried with my app (Google Play internal test channel) and on PC, previewing the project. (I disabled worker mode, but it still doesn't work).

    There's nothing at all on my game analytics page.

    In the events I only put -> on start of layout -> initialize GA SDK.

    I don't understand how this plugin works. please help.

    Or is there another simpler way to acquire some data from players? Without using plug-ins?

  • In event sheets, you can add comments (press Q on keyboard), and these comments can be coloured, both the text and the background, which might be helpful for you?

    That link is a very old link for Construct 2!

    I already know about the comments.

    But what I say is something more elaborate.

    An idea would be: pressing the numbers on the keyboard assigns a color to a row, for example I assign "1" color "red" to condition 10 row 5. and then I assign "1" color "red" to condition 15 row 4.

    And then I should be able to scroll between the 2 or more "1"s with the keyboard by pressing 1+ctrl to scroll forward or 1+shift to scroll back.

    Similar to bookmarks, but sometimes these are annoying too, they could be improved. For example, if you assign a total of 5 bookmarks to "event sheet1" and another 10 to "event sheet2" but at different times, when you scroll forward/backward in "event sheet1" you find yourself in "event sheet2", while you are working only in " event sheet1". something annoying.

    You can open the bookmarks bar and select from there, but it would be nice to put the option to view only the current event sheet in the bookmarks bar.

    Basically I want to say that there are many improvements that can be made, and I don't see why not.

    As your project grows you need more organization.

    Easing and helping the eyes is also a good thing.

  • Hello!

    I was wondering if there is a Construct3 extension or is there a way to do this:

    Highlight rows in conditions and events. It may seem useless but I'm working on my own game right now, there are many functions and events all connected.

    A simple thing like this would help a lot: click with the right mouse button on an event row, there is an item "color/highlight/color text", and by clicking you can highlight the selected row. This would help you mentally connect different events more quickly, reduce stress and increase your working speed, especially when you are struggling to think.

    Nothing complicated, but really useful.

    Something else useful could also be integrated with the find function (ctrl+f).

    I also found a discussion where someone had already asked this:

    https://www.construct.net/en/forum/construct-2/how-do-i-18/eventsheet-layout-tab-color-47264

    Construct3 is a fantastic program! But I think there are a lot of things that could be implemented to increase efficiency and comfort in working.

  • So one possible solution could be to keep track of an offset dx,dy from the object’s xy to rotate around. Initially you’d set that to wherever on the layout minus the sprites position. Then after that you’d update it with a helper function.

    Number rx=0
    Number ry=0
    
    Function vrotate(x,y,a)
    — set rx to x*cos(a)-y*sin(a)
    — set ry to x*sin(a)+y*cos(a)
    
    Function rotateSprite(u, a)
    Pick sprite by uid u
    — sprite: set position to self.x+self.dx, self.y+self.dy
    — sprite: rotate a degrees clockwise
    — call vrotate(sprite.dx, sprite.dy, a)
    — sprite: set dx to rx
    — sprite: set dy to ry
    — sprite: set position to self.x-self.dx, self.y-self.dy

    Sorry R0J0hound, I did not understand, you're really smart. I haven't even fully understood what sine and cosine are yet. I tried the first method you described but failed.

    I fixed my game like WackyToaster and I said, but your method seems more ingenious and complex and intrigues me.

    I don't understand if you mean to use the DrawingCanvas object, which was my initial idea.

    I insert the link of my c3p file, can you download it and fix it so that it works? Or create another example project?

    I don't understand what dx and dy are (what the "d" stands for)

    If you have time, explain to me again. Thank you.

    https://drive.google.com/file/d/1V36YNEgNkuSidA7mkMcSAoG6usq265jU/view?usp=drive_link

  • The canvas is rotating around the top left corner. You can change that in the properties to be centered, but you’d also need to move it by half the width and height when positioning it.

    But I can't do it dynamically via event.

    I'm currently thinking that this isn't a possible solution...

    it's easier to create clippings of all the sprites and create a new "metal parts" sprite and create it every time a spaceship, ufo etc... is destroyed...

    and every time I insert a new type of space enemy into the game, I insert a new animation to the "metal parts" sprite with 3-4 frames.

    Or if you have an alternative idea, please tell me.

    How would you do this?

  • I can't find a solution for my project.

    I created a special effect for my game.

    It works like this: There are many different enemies (spaceship, UFO, asteroid, space monster etc...)

    every time one of these objects is destroyed, functions start.

    Download and try the file and you will understand what I want to achieve.

    The event creates clippings of the image (using and dynamically creating a drawing canvas object and a "mask" with the blend mode destination out) to make it appear as if the ship falls apart when destroyed and the pieces fly away.

    But I can't get them to rotate correctly.

    Could you give me an idea? Perhaps you know another way to accomplish this.

    https://drive.google.com/file/d/1kofEUV0WKOJGAd7bVgYUY2cZBBtMjOBA/view

  • I want my character to move through the path. But what I want to achieve is different from the examples in the "pathfinding" behaviors guide.

    In the image there are many dots and lines, if I click on a dot the program finds the quickest path and the character begins to move to the closest dot until reaching the selected one.

    In the examples of the guide there are solid objects that prevent passage and force you to find the path. In my case it's the opposite: the character must move within the dashes.

    I had written a complicated algorithm and it worked, but now I want to update it and I don't understand it anymore. maybe with the "pathfinding" behavior I can get the same result or better and faster.

    but is it possible?

  • Hi everyone.

    I've been working on a video game for a while now

    I posted on the play store, I don't know if I should post a link because I did it as a paid app, maybe I shouldn't spam.

    But here's my question:

    My game is space shooter style (that's the name of the game). With some differences, for example there are images of approximately x100/200 px which I then resize (I will try to reduce the dimensions to a minimum but they are artistic images so I cannot reduce them to 10x10.

    But I created all the levels by inserting spaceships, asteroids, etc... in each layout measuring 50000 x 480 (the maximum).

    however I inserted objects up to a maximum of 20000 px.

    The viewport continuously moves to the right showing incoming enemies, up to the level width entered in a dictionary object.

    Here's the question:

    The fact of already having all the objects created in the layout (there can be 50-60 plus the small star images of 20x20 px created randomly at the beginning of the layout which can even be more than 100!)

    Does it greatly affect the performance of the game?

    Would it make sense to record all the objects with their properties in a dictionary, change the layout size to 854 x 480 px and create the objects at 1000px and make everything move to the left?

    That is, creating a dictionary with example:

    time 1sec. --> asteroid(height 200, size, variables, etc...) time 3 sec --> enemy (height etc...)

    And make a function that creates enemies like that?

    it's a job that takes some time because I want to recover all my levels as they are.

    Does it make sense to do it?

    Because I see my game lagging on my smartphone, and it will lag even more in the future.

    What is best to do?

    Tagged:

  • How to make visible an object that is outside the view port and that is on screen.

    for example some buttons on the pad

    I can't understand, if an object is completely out of the viewport it cannot be considered "on screen" condition.

    what do you mean exactly, explain better.

    would you like the buttons/objects to move completely into the viewport on their own? Or that the viewing screen moves?

    In that case you can do scrollx/

    scrolly+-.

    This is another good solution to bring the object onto the screen.

  • I'm trying to create json files with all the information of my layouts and create others automatically.

    I have to acquire all the data regarding the variables of all the sprites, now I have this problem:

    If I do: console.log(Sprite.InstVars) I get an output (like in the screenshots).

    But I can't get the variables any other way.

    if I do:

    Sprite.LocalVars.variablename

    I get that variable, but I want to use .localvars because I need to get all

    and how many there are.

  • could you also tell me how to insert the variables into JSON format?

    How can I do the same thing with the JSON plugin?

    JSON --> set value --> Set "."&loopindex&".height" to int(FamilyALL.height) what is written above in my screenshot, how can I do it with the script?

    I should get in the console:

    "Level_1": {

    "Sprite": [ { "posx": 20291, "posy": 223, "size": 50609, [{ ---> ObjVar1: 999, <--- ---> ObjVar2: zzz, <--- ],}

    }

    ],

    I'm also fine with doing everything with the script, but for each of my objects in the layout I need to have all the information regarding it

  • > I tried to use your code but it gives me an error on key<> and I don't understand why.

    Sorry, I don't use JS often, it should be != instead of <>

    I assumed you know Javascript since you asked for a script solution?

    Here is a demo.

    https://www.dropbox.com/scl/fi/iw8pscxnqot8t6dnx0965/JS_InstVars.c3p?rlkey=nrdw9bcn9s4yn0k61jc6ra03d&dl=0

    Yes I'm studying javascript step by step. but I'm still at the beginning.

    Thank you so much!

    I also inserted a new sprite and got the variables of all using getFirstPickedInstance:

  • > I didn't understand how to use the first one.

    It's easy. Save Sprite.AsJSON to a text variable. Later, when you need to restore, create a new Sprite instance and use "Sprite Set From JSON" action - it will restore its position, instance variables and all other properties from the saved JSON.

    > I would like the console.log to also write the object variables not related to the family.

    You know which variables are related to the family - simply exclude/ignore them when running the "for (var key in o.instVars)" loop.

    > for (var key in o.instVars) {
    
    if (key<>"FamVar1" && key<>"FamVar2") {
    console.log(key + ": " + o.instVars[key]);
    }
    }
    
    

    Sorry, I can't understand, could you give me a practical example?

    I tried to use your code but it gives me an error on key<> and I don't understand why.

    Could you make a sample project and post screenshots?

    Thank you.