sgn15's Forum Posts

  • I am not that familiar with both 8 direction and Line of sight behaviors, so I can't really give you good tips that are specific to those behaviors.

    Edit:

    just checked and tried 8 direction on a blank file. It seems it has same aspects as platform behavior. You can change the max speed, acceleration, vectors using events. So you can actually have walk and run (just code them with different moving speeds). I assumed your question was about moving speed? As for the "jerking motion', not sure what you meant. You also have to adjust the angle of the enemy if they are already being hindered by a solid object (not sure how 8 direction works against solid), but the logic is to adjust the angle they are facing so they can continue moving instead of keeping walking against a wall (like a real person walking against a real wall). If solids don't hinder 8 directions from moving, then no issues at all.

    made a simple image

    http://s13.postimg.org/9hvgjtkef/image.png

    there are lots of combinations for moving for 8 directions.

    Imagine the gray areas are roads

    red are sensors (can be 1 object or different objects per direction)

    arrows are all the possibilities for AI

    You can also use timer (time how long it will keep walking in that direction) then when timer ends, set AI to 0 then randomize AI value (like in my tutorial, but base it on how many possible values for AI you use, or randomize just the 4 basic directions). If you don't want timer, alternative is use every x seconds and add 1 to an instance variable, then when said variable = value, set AI to 0. But really I would prefer timer since you wouldn't want to waste a variable when timer behavior is already there for that purpose.

  • CurioJoe

    Ok. It's a different kind of game altogether from what I was expecting, but I will try to give my initial thoughts on it.

    Create sensor objects (which will be invisible) and place them in the intersections. You can make 4 different sensor objects for 4 directions.

    For example:

    enemy IS overlapping sensor_up

    enemy IS overlapping sensor_down

    enemy NOT overlapping sensor_left

    enemy NOT overlapping sensor_right

    For Each: enemy

    -> stop moving (use a variable to control AI)

    enemy IS overlapping sensor_up

    enemy NOT overlapping sensor_down

    enemy NOT overlapping sensor_left

    enemy NOT overlapping sensor_right

    For Each: enemy

    -> move up (using 8 direction movement)

    enemy IS overlapping sensor_up

    enemy NOT overlapping sensor_down

    enemy NOT overlapping sensor_left

    enemy IS overlapping sensor_right

    For Each: enemy

    -> move diagonal up right (using 8 direction movement)

    and so on, this way, you can create different variations of movement directions (remember, you are using 8 directions, so there are lots of possible movements than just simple left and right in my tutorial). You will still follow the same general logic/idea I used in my tutorial (which is using an instance variable for AI). It would still do you good help to still give it a good read or study my file, it's pretty simple).

    Use FOR EACH: enemy to make each enemy behave independently. This way, you have enemies moving in different directions (like patrolling the streets) when you are not in their sight. Then either use Line of Sight behavior or calculate the distance (there is an expression for distance) between you and each enemy to determine if they will chase you, attack you or keep patrolling.

    Now for attacks, if you have contact (punches, kicks) and long-range (bullets), you have to further divide the AI, enemies shoot you when you are within a range, they punch you when you are directly beside them. Again, I used the same logic in my tutorial (even if it is for sideview platformer) although I haven't updated my tutorial yet with coding attacks.

    To make the AI a little unpredictable, add SYSTEM: Random(1) <= 0.25 meaning it will be 25% chance of happening. It is also in my tutorial file.

    Good luck.

  • this might help

    https://www.scirra.com/tutorials/1320/p ... enemies-ai

    if your game is for 4 directions, up, down, left and right and jump (jump is separate from up) then this tutorial needs a little tweaking for your game since it has 2 more directions for movement (up and down) that weren't taken into account for this tutorial. But concept is still the same.

  • Anyone?

  • https://www.scirra.com/manual/97/jump-thru

    [quote:12rli3h7]Note the Jump-thru behavior does not support slopes. Any slopes in your game should use the Solid behavior instead.

    Is there a way to work around this?

    EDIT:

    Or. . .

    Can anyone please teach how to program an object as a sloped floor without using BOTH solid/jump thru behaviors?

    This is for platformer type game

  • Use random expression for the X position

  • korbaach

    It's actually for a fighting game. When player1's attack hitbox punches player2, I can use player1 spawn spark at imagepoint 1 but I would prefer the spark to be spawn anywhere in the area where hitbox is overlapping player2.

    In your example, sometimes the explosion is not spawned in the overlapping area. Is there really no definite way of doing it? I mean a definite absolute way of determining the overlapping area?

  • I still have problems over this

    Anyway, it still won't preview over any usual browser (Chrome, Firefox, Opera, Maxthon) and I keep searching, downloading and installing other browsers until I find a browser called K-Meleon.

    I want to ask:

    1. How to increase FPS of K-Meleon preview? I tried debug preview and I saw it has like only 10 FPS???

    2. Sometimes the preview completes loading in 1 sec and sometimes it takes a full minute ? What determines loading of preview?

  • I'm not sure what you want. You used the browser object's fullscreen action but you didn't like it or it doesn't work? Note there are several options when fullscreening your game (letterbox scale, integer letterbox scale, etc.)

  • korbaach

    Is there a way to make the spawned object not move at all? like in your example, the explosion just appears and destroys after animating without changing position? I tried disabling the bullet behavior, but it doesn't work like intended anymore

  • PlasmaGames2013

    Is there an expression for only the area which is colliding/overlapping ? because that method, from what I understand, is using the object.x +/- random(number) but not really surely about the area of overlapping, so there is still a chance it spawns somewhere outside the overlapping area

  • Sample:

    2 objects collide/overlap and I want to spawn/create a spark object at any random pixel in the areas where the 2 objects collided/overlapped with each other (noted by the areas with red marks). I want to to be random but inside the overlapping areas only, so I can't use imagepoints.

    Please help. Thanks.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • bangoo

    I changed the order of trigger once (see below) and it has worked ever since. I don't know why it wasn't working like this back then.

    +Enemy: animation "Attack" is playing

    +Enemy: frame = 2

    +Trigger Once

    +ForEach Enemy

    -> Spawn bullet

    Also, another alternative for trigger once is to use "On frame changed" (which is a trigger condition), but it doesn't work if the animation frame is 0 (1st frame, zero-based) so if your frame is 1 or higher, use "on frame changed". It will surely spawn just 1 bullet

    edit:

    wow this brings back memories of this problem. this was one year ago

  • volkiller730

    alextro

    thanks for responses.

    I tried exporting to NW.js, still randomly working/not working

    I tried clearing my cache and preview and debug preview are still randomly working/not working

    how do I open and fiddle with the browser debugger you mentioned?

  • parallax should be 0,0 not 0

    and scale set to 0