Delphawi's Forum Posts

  • If you haven't used that keystore in a published game, it would probably be easier to create a new one with Android Studio or keytool. There are plenty of guides online.

    Thank you. That is a good alternative.

    Using Construct is actually easier for me, and I hope there is a another solution.

  • sure this is what I was using i had 2 of the same type of object to spawn different colors of this object i made it spawn these every time the player move for every 0.010 seconds to give it a retrowave mix with neon style when you move witch made it look like this i had a brightness at 150% glowhorizontal 100% glow vertical 100% and a tint and they were in a family effect

    It is a cool effect indeed!

    spawning 2 objects every 0.010 is very demanding I would say. It is almost similar to Every Tick. That's equal to 200 objects per second!!

    If you want to use the same effect, you will have to reduce the number of objects by increasing the time. So instead of 0.01, try using 0.1 or more.

    You can also use object pooling:

    1- during game loading, generate 1000 objects.

    2- when you need to run the effect, instead of "creating" objects, you can reuse the already created objects from step 1.

    3- every 0.01 second, pick a random object from step 1, and place it behind the player and enable the effect.

    4- when the effect is over, hide the objects (e.g. move them away to -1000,-1000 or something).

    Notice that this solution creates objects only once (when loading), instead of every 0.01 second.

    The reason why this is faster is because "Creating" an object is much more performance demanding than "Moving" and object. So moving 200 objects every 0.01 second is much faster than creating 200 objects every 0.01.

  • Hello,

    I have a keystore.jks from Construct for my game. I am trying to use the JDK keytool to generate a .PEM certificate, but the tool refuses the keystore and shows this error:

    "keytool error: java.io.IOException: Invalid keystore format"

    According to this answer, I need the correct JDK tool.

    What is the JDK version and provider that Construct used, so I can use the same one?

    Is there an easier method?

    Thank you!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Tuning physics values has no definitive answer, there is only one way -afaik- around it: Trial and Error.

    My suggestion is that you add a punch of Sliders/TextInputs in the game, and each one would change a parameter (Max speed, Gravity, ...etc).

    Then you play around with them until you get a sense of how each one affects the player.

    It would help if you have some references from SMB, for example:

    - Simple jump: when you press jump, how high does the MeatBoy jump? Then try to replicate that in your game.

    - Jump forward.

    - Wall jump.

    - ...etc

    Try to mimic SMB behaviors one-by-one, and hopefully it will all work out in the end!

    Good luck!

  • > I think C3 Multiplayer is good enough, mainly for Co-Op and simple competitive games.

    >

    > If your game is a "serious" competitive game (with high probability of cheaters!) then you will probably need a server-based (i.e. authoritative) solution. You can use Photon Networking C3 plugin, or maybe some JS SDK if you prefer scripting.

    >

    > But yeah, C3 Multiplayer is good. I suggest you start with it because it is easier to learn, and will teach you the basics of multiplayer.

    That would be so great if you make a tutorial on it. I've tried to learn but it's complicated and avaible tutorial today are too old

    Actually, I just studied the included examples. The Chat and Pong examples are made by the Construct team and are well commented. You can copy the Pong example and build your game on it.

    There are also a few tutorials made by the team to explain the basics of networking.

    (Recommended) construct.net/en/courses/online-multiplayer-construct-12

    construct.net/en/tutorials/search

    Most of what I learned (which is not that deep) was after I tried to make a MP game and after a lot of trial and error and debugging, I started to get a sense of what is going on.

    Re-covering all that would be a huge task really. So please feel free to ask in the forum and mention me, and I will do my best to answer any question!

  • I think C3 Multiplayer is good enough, mainly for Co-Op and simple competitive games.

    C3 uses Peer-to-Peer, which allows one player to have more game authority than other players. If your game is a "serious" competitive game (with high probability of cheaters!) then you will probably need a server-based (i.e. authoritative) solution.

    Edit: other options include Photon Networking C3 plugin, or Colyseus.io (as Mikal suggested).

    But yeah, C3 Multiplayer is good. I suggest you start with it because it is easier to learn, and will teach you the basics of multiplayer.

  • found the problem it was the effects on the main character that was slowing it down too bad I can't use the effect made it look really cool

    C3 added a new effect engine that was supposed to be much faster.

    Do you mind sharing what type of effects you had to cause such performance drop?

  • Sometimes I run into this, but it is usually not a critical issue that would prevent game release.

    It seems this stutter is not related to framerate, but to how fast objects are drawn.

    If the issue was related to framerate, the whole frame would pause for a fraction of second.. but in your video, only a horizontal section is affected.

    Since you are using web preview, I suggest you test with other exports: (web on pc/mac, web on mobile, standalone desktop export..) and different browsers, it might be related to how browsers draw fast objects.

    Did you experiment with the Advanced settings in your project settings? Framerate, composition, and GPU?

    If you still believe this to be a bug, you can open an issue for it and attach your Cacti sample project along with your tests and findings.

  • There are many things you can try:

    1- Do not create all 3000 objects at once. Only create the objects you need and are visible on screen.

    2- If you can disable off-screen objects, that would reduce performance usage.

    3- Reduce the resolution of the sprite images of these objects.

    4- Avoid using Loops and Every Tick events. It is a good practice to run the code only when needed, instead of Every Tick (whenever possible).

    5- Use object pooling techniques (i.e. instead of creating a new object, you can reuse existing old objects).

    6- Reduce repetitive and redundant tasks. For example, if a variable is common for the 3000 objects, then you can calculate it once, instead of 3000 times.

    I hope this gives you a useful insight about optimizing your game. If you could share some screenshots of your game layout/code, we might be able to help you better.

    Good luck!

  • I think you can do this with any website, that is how browsers work (i.e. if the browser can access the file, then most probably the user can too).

    Your best bet is to stream the data from an online source (instead of bundling the audio with the project). The Video plugin allows you to open a URL, maybe you can use it to stream audio from a URL (i.e. video with audio and black background).

    I have seen some sites protect their files by streaming them using JavaScript. But I don't know the exact way.

  • Hello,

    I was testing my game, and suddenly it started to become terribly slow. I paused it and checked CPU Profiler and found this:

    259% Self time. I thought the maximum is 100%?

    Negative Self time (-159%) !

    i.ibb.co/YTDrBKP/22.png

    (forum uploader keeps giving me "Unknown error with blob" error)

    What does this mean?

    Here is the code of the Player3 group:

    i.ibb.co/vcVxMBQ/23.png

    At any given time, there are about 11 Coins, 6 Obstacles, 22 Sprite, and 4 Bridges in the layout.

    The issue doesn't arise at the start, but only after a few minutes of playing.

    Thank you!

    Tagged:

  • You can use a different Construct version by changing the editor link. For example, to run version r251-2, use this link:

    editor.construct.net/r251-2

    It is a very useful feature, specially to upgrade old C2 games to C3.

  • In Construct, you need to understand the concept of "Picking".

    Picking is used to specify which instance of the object you want to apply your action to.

    If you apply your action without Picking an object first, the action will be applied to ALL instances of this object.

    For example, check this simple code:

    Here, we did not Pick any instances. So ALL the Sprite objects will have their Variable1 value set to 166556.

    But what if we want only ONE Sprite to have its value set to 166556, while the rest of the Sprite objects remain the same?

    Here we need to use a Picking condition; which will tell Construct which one of these Sprite objects we want to change.

    Notice we added a new condition that starts with "Pick". You can find these conditions under the System plugin, under a category named "Pick instances".

    There are different types of Picking, each one is useful in a specific situation. You can check the manual for detailed explanation. But in general, each one offers you a different way to specify objects.

    Additionally, some objects offer you additional ways to Pick instances:

    One important thing to keep in mind when Picking instances, is that once you pick something, all the sub-events, sub-actions, and sub-conditions will only focus on the picked instance.

    You can think of Picking as a "Filter". It filters instances of the object so you can only focus on a specific group of them.

    For example, if you have 100 Trash Cans, and you want to do something for the Cans in the lower left corner of the map. Then you can filter the instances (using Picking!) to only choose the ones with X and Y within the lower left corner area.

    Additionally, you can apply multiple filters. So you can Pick a group of objects, then add a sub-condition and add another filter. Now the first filter will be applied to ALL instances. Then the second filter will be applied to the RESULT of the first filter.

    So if you have 100 Trash Cans, and the first filter picked 10 out of them, then the second filter will choose from the 10, NOT the 100.

    So for your specific case, I understood from earlier replies that one part of your project is applying an action to ALL instances of the object. So, you can probably guess by now that you need to -somehow!- Pick the specific instance you need to change.

    In the end, Picking can be considered an advanced feature, and it really caused me confusion many times during my time with Construct! But once you experiment with it, you will find out that it gives you some quite powerful tools to control your game!

    Good Luck!

  • if you are previewing your project in the browser you use Adsense, not Admob. Adsense require Publisher info.

    You can only test Admob if you install an apk

    Thank you!

    Yes, I am testing using APK. Even thought the app is connected to admob, and my profile is updated, I still get the error about "publisher data" when testing on Android.

    I have tried testing signed and unsigned versions, but the issue remains.

    Is there any thing I can do or check in Google Play Console or Admob?

    Thank you!

  • Where do you see the error? In logcat/Android Studio?

    In Construct. I use the Browser plugin to log Admob error and OnFail events to the console.