Aphrodite's Forum Posts

  • Everything that has been said is good, I'll add one thing though, try to decompose what you want into simple statements, before trying to get them on C2, simple things are the most reliable ones, an exemple:

    -"When I press W I want the player to shoot"

    -"When I press W" => is it right when you press "W", or it has also other conditions?=>When I press W, no other requirement

    -What does "Player to shoot" means?=>I want the player to change his animation, then I want it to spawn an object at a point I defined in the image editor

    -What is this object, where should it goes?=>It is a "Bullet" (using the bullet behavior), and it should go in front of the player

    -In front? so the angle should be changed if the sprite isn't at a good orientation?=>indeed, if the player is mirrored I'll also change it

    It seems like stupid in that case(and maybe not needed), but in more complex events, it can be a real life saver to simplify everything at first, when you know what you want to do in a low level logic, it is easier to write it in conditions/actions.

    having events easy to read, and to write, is really good, the readeability part is an important one, but mostly experience will give it to you.

  • You could use an Array for this:

    https://www.scirra.com/manual/108/array

  • The PickedCount expression is the way to go I think

    [quote:318mdkta]PickedCount

    The number of instances meeting the event's conditions. For example, if the event has the condition "Mouse is over Sprite", Sprite.PickedCount will return the number of Sprite instances that the mouse is over.

    https://www.scirra.com/manual/133/common-expressions

  • ok i'm digging in it now. I saw you have a "json" file in there. is this simply making a text file and changing the extension? I was able to open it with wordpad and it looks good so i imagine this is true and will move forward on that assumption but i at least wanted to mention it.

    Indeed it is, however you might want to make sure that the encoding of the text file is UTF-8

  • I think there is no way that is 100% bullet proof yet, you could in theory make the game rotate if the window size you defined is a square but that would cause problem on PCs (except if your games works in both orientations thanks to this).

    Also I think you need the browser to go fullscreen to lock it with the action you described (or the project propriety).

    I think the widely accepted way is currently to ask the user to rotate his device in the case it isn't the good orientation, but that can be a problem on PCs too.

    EDIT:Ninja'd

  • As far as I know, When the webGL renderer is used (and the browser supports memory management), it does it automatically for you.

    In cases the memory management isn't supproted well, or in cases the WebGL isn't supported, this feature won't work, and everything will be loaded into memory.

    However the game is in both cases totally downloaded (except for sounds file)

    PS:What I say could be somewhat incorrect, as it is based on my personnal interpretation of it.

  • In that case, the simpler method I think would be:

    -have a global variable named game_started, value 0

    -on start of the layout, and if game_started is 0, set the webstorage value and also set game_started to 1

    then you never change the value of game_started and you'll be fine

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • In it's current state, my current game is 257 events, 57 of them are taken by functions (not 57 functions, but 16 functions and one of them take itself 11 events for exemple, and others have one to 4 events, I'll work to reduce that I think since I think it can be a little confusing to read in that case), 6 global variables (don't think I'll need more than that), 10 different groups for the ennemi AI (of course they aren't activated if not nessecary), also 10 else to those groups (so they can be activated only when they need to by some events), which goes to 89 events for 9 ennemis + bullets, 18 events for my personnal ennemi spawning system (it is not as bad as it sounds, since those are checked only when needed, and I organised them so that explains why they take so much space event wise), etc...

    At the end I can say that the number of event isn't that important, also a good-written code seems to take more space (since you have functions, groups, includes, good use of subevents, etc..), I have like 50 events in an empty project just for organisation sake, and I'm just talking about includes and functions and variables mostly.

    What is important is what your events do, in my case I have no collision checks done by default (other than touch controls when you are using them), they are only done when truly needed, and soem of them I skip half the time (one tick every two ticks) when they don't affect gameplay (I must precise that in my case collisions cells don't help since the actions occurs on the screen only).

    At the end do not worry about number of events that C2 counts performance wise, since what matter is how many are currently checked, and which ones are checked too, just code your project so you can read it and modify it easily, It'll be really worth it at the end.

    EDIT: also my project is meant to work on mobile devices if you wonder why I can say that performance wise it isn't a problem.

  • Personnaly (and I think I am not the only one in that case), I am always willing to help people out, but even wit my experience I cannot just tell what is wrong in every case, it demands time to awnser questions (like to figure out what the person did, what he wanted to do, and even a capx makes this difficult in some cases, which is why I prefer explanations rather that people giving a capx but that is my personal opinion, and how to do it in a way that is efficient yet can be understood easily by the one who asked, which is not easy since most people are learning to use the tool and so will not be as familiar as us with some things).

    There are a lot of people helping right here, but there are also a lot of questions out there, which implies that sometimes we don t notice it right away too

  • I didn't provide a capx file because I believe in a incompatibility/bug in the generated code with Firefox 28 because on other browsers it does work, so it shouldn't be a missing event or similar in the game.

    I noticed it while I was looking for good softwares like this but if it doesn't work flawless on widely used browsers like Firefox it's a huge minus for me.

    Ashley asked for a capx to see why the problem happens, Construct 2 is still in devellopement and updates pretty frequently, sometimes bugs happen, by posting a minimal capx with the same issue, Ashley can investigate why it does that instead of working normally, to correct it (I'm talking about the generated code the engine produce at the end)

  • Hi i have two problems with my game.

    iPhone 7.1: I rotated game to landscape, a grey bar appeared at bottom of screen, cutting the game canvas.

    Android 4.1.2: On Android, I did not encounter the grey bar at bottom of screen. However, when I clicked to play game, the game canvas zoomed in. At second click, the game canvas zoomed out, making play difficult and confusing.

    Link here: http://games.raiper34.net/tresensa/index.html

    Can anybody help me please? It is report from publisher...

    I didn t encounter the zooming issue, however I saw that the HUD flickered a little (like if it wasn t on a layer with no parralax)

    As for iOS devices I don t own one so I might say something wrong, but maybe a fullscreen mode could help with that?

    Sorry for not being very helpful

  • Hi! I used the bullet behavior to animate a sprite and I wanted to pause it for a short time and let it flash when it reaches a certain point. I used "on collision with object" and then set bullet speed to 0, let it flash, wait 2 sec and then set speed to 100 again. But it will reset the angle of motion to 0 to move it to the right (it was set on Startup to 90 to move from top to bottom). Is this a bug?

    When I use Bullet: Set enabled it works fine, it stops and starts with the same angle.

    It is not a bug in the sense "it is not a wrong value" (since at a speed of 0, every angle of motion is valid, mathematically it would result in a divide 0 by 0 to calcul it, so instead of having a mathematical error in that particular case it just pick 0 by default for some reason), I suggest if you need to set the speed to 0 someday, first store the angle of motion into an instance variable, so you can re-use it later.

    Edit:when the behavior is disabled, it just means that is skipped, so the values should still be valid, but aren t re calculated nor interpreted

  • I think for groups, it should be possible that it happens (since you cannot have 2 groups of the same name now)

    for functions too it could be really useful

    however, for layers I am not sure (since it can change from one layout to another)

  • Nice to see that the expectations for the future aren't the same for everyone ^^

  • how to uncompress capx file so that i can put the missing file into it?

    just rename it with a .zip extension (.capx files a zipped projects)