calminthenight's Forum Posts

  • Ages ago I made a 1 event game to show someone how much you can do without events. Not super pretty but proves a point.

    1drv.ms/u/s!AkmrWgxeuxlKhIcokRqagDXIMwyuHQ

  • The simplest way is to give your enemy sprite the moveto behaviour. Set it to move towards your plaayer every tick and set its rotation to something greater than 0. This will make it both rotate towards and move towards wherever your player is.

    Create a bullet sprite and add the bullet behaviour.

    Use an every X seconds condition and then Spawn the bullet from your enemy sprite.

    Very basic but it is an enemy that will shoot at the player.

    Example here: 1drv.ms/u/s!AkmrWgxeuxlKhItvHKVk3fevUtWHHg

  • Good to see you are making progress with this project :)

    For the second part, deleting the tiles if there are no enemies trapped in the completed section. After flood filling the area within a closed section, use a for each enemy loop and check the tile states at their position. If there are none overlapping the purple tiles then you can reset the purple and yellow tiles back to black.

    You should be able to reverse engineer your code that handles the flood fill to determine if there is not a closed section.

  • For your Vertical SHMUP game if you want to keep it framerate independent replace your code that moves the background etc every tick and have it make use of the bullet (or other movement) behaviour. This way you can set the speed the same as what it would equate to with your current events at 60hz and it will remain that speed regardless of the refresh rate.

  • If you are looking for help in the forum make a post about what it is you are trying to do within construct 3. Explain it, and step it out. Or, post your project file or at least pictures of your events and the problem so that people have some sort of reference. I understand that English may not be your first language, but you can't just ask why some mechanic that you have created isn't working without any information. There is no way people can help you.

  • Here is my version of it using picking instead of the for each loop, and using a single function that is called when the state changes.

    1drv.ms/u/s!AkmrWgxeuxlKhItsZdDTqIM5KA2-DA

  • Is there a reason you are calling the 3 functions for animation changes on every tick? You can just call the functions from your FSM logic when the change happens. Also you can just use a single function and pass a string with the colour to determine which light is picked in the function.

  • In that case I'll file it as a bug report as it should behave consistently regardless of the object index being referenced.

  • Brackets can't be used in object names, and prior to a full stop in an expression there is only ever the object name, so I think the editor should be able to parse the text once a full stop is entered to get the same functionality as an expression with no IID referenced.

    Can you think of anything else, other than the object name and IID that can be used in an expression prior to the full stop?

  • Yeah it ended up that it was my brain and I just needed to wait 0 as the second object had just been created. However, the issue with the editor not suggesting relevant expressions after adding the IID is a thing. Not sure if it is by design but I can't see the benefit if it was.

    Example:

    You type "object." and are presented with a list that only contains valid expressions related to that object.

    You type "object(0)." and and aren't presented with any valid expressions.

    Just a UX issue.

  • I'm not sure if it's just my brain falling apart but I can't seem to reference object IID's inside expressions anymore.

    Using the expressions: object(0).X & object(1).X returns the same value (IID#0.X) for each.

    Also, after putting the IID in the editor will not suggest expressions after the full stop.

    Tagged:

  • Also, forcing objects into solids can cause problems. In my experience, glitching through solids, while annoying, is almost always a result of you telling an object that it should be in a position where a solid object is residing, and the solid object trying to tell the other object that it shouldn't be there. If it is not that, then it is edge cases where the object is moving so fast that by the time the collision event is registered, the object is already inside the solid. You have to design these edge cases out.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Changing the browser zoom messes C3 up, it should give you a warning dialogue when you do it. Only way to fix is to reload.

  • R0J0hound Thanks for having a look. Hopefully someone more learned in the ways of glsl will take an interest some day, or if not I'll eventually have a fiddle.

    alastair I wouldn't go as far as saying it is essential, but it is in my opinion one of the most authentic (and useable) arcade crt shaders around and would certainly be a great asset to pixel art developers.

  • Post a link to a version without 3rd party plugins (betteroutline) and I'll have a look