R0J0hound's Forum Posts

  • I'd recommend using the noise plugin:

    It lets you use perlin noise which is the basis of Minecraft's terrain generation.

  • It depends on what you want to do.

    Anything inside " " is just text.

    Ex: "Sprite"

    That is is just an expression for text with a value of Sprite.

    Parenthesis () have two purposes. The first is just like in math to control what operations are done first.

    Ex: 1+2*3 = 7

    Ex: (1+2)*3 = 9

    The second purpose is for expressions that take parameters.

    Ex: sin(45)

    Ex: min(1, 3, 2)

    Beyond that it should be pretty simple. But feel free to post the equation you made that doesn't work and describe what you want it to do.

  • Those two actions are run before everything is rendered. The spazzing is probably turning to abruptly.

    Making the turning smoother can help. Instead of rotating by 45 rotate by a smaller value. And instead of setting the angle away from the player, use the the rotate towards action with a negative value.

    The last issue you mentioned about it spazzing against walls will require another method than what I posted. I just handled single trees where it chose left or right of the tree depending on what was closer.

    I only have a rough idea how walls could be handled. However I don't have any easy solutions at hand.

  • 4ror

    You can do it in the editor. Just setup the patterns off the layout and use a second object as the center. Group them together with a variable, then just read it into an array at the start of the layout and delete the objects.

    https://dl.dropboxusercontent.com/u/542 ... terns.capx

  • I'm unfamiliar with that course, but the way I'd do snapping is to make your puzzle with all the pieces in place in the editor. Then add two instance variables to the pieces: "startx" and "starty". They are the locations you'd want to snap to. You don't set them in the editor, instead do it with an event:

    start of layout:

    --- sprite: set startx to self.x

    --- sprite: set starty to self.y

    Then snapping can be done by comparing the distance between the sprite and startx/y when you drop it.

    sprite: dragdrop: on drop

    system compare distance(sprite.x, sprite.y, sprite.start.x, sprite.starty) < 16

    --- sprite: set position to (self.startx, self.starty)

  • I don't quite follow the issue you're having.

    When I tried out my idea it came out different than my post above after I tweaked it for a bit. Here it is:

    https://dl.dropboxusercontent.com/u/542 ... trees.capx

    It's still not perfect as the deer can run through the trees, especially when being chased.

    The perfect solution would utilize this I guess:

    http://gamedevelopment.tutsplus.com/ser ... edev-12732

    http://www.red3d.com/cwr/steer/gdc99/

  • "Does having multiple every tick events conflict with anything?"

    No, they are just run in the order they are placed in the event sheet.

  • You could also do it like this with the "move at angle" action.

    create bullet at (player.x, player.y)

    bullet: move player.height/2 pixels at player.angle-90

    bullet: move random(-0.5,0.5)*player.width at player.angle

  • Any new pc you buy should be able to run C2 regardless of the the graphics card imo. Old used pcs can have graphics cards with buggy drivers that you can't update, so the browsers use a slower rendering method. However new pcs have new drivers that are up to date and support everything the browsers need to use the most optimal rendering method.

  • Try Construct 3

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

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

    To make it spiral just add 80 or something to the angle. 90 would kind of be just a orbit.

    System: distance(PlayerShip.X,PlayerShip.Y,Vortex.X,Vortex.Y)<1600

    Move PlayerShip 100*dt pixels at angle(PlayerShip.X,PlayerShip.Y,Vortex.X,Vortex.Y)+85

  • Give the deer the bullet behavior and a text instance variable that we'll call brain. Then do events like this. 64 is the look ahead.

    Every tick

    --- deer: set angle to (player.x, player.y)

    --- deer: rotate clockwise 180 degrees

    --- deer: set brain to "run!"

    --- deer: move forward 64 pixels

    Deer is overlapping tree

    --- deer: set brain to "tree!"

    Every tick

    --- deer: move forward -64 pixels

    Deer: brain = "tree!"

    Deer: is clockwise of angle(deer.x,deer.y,tree.x,tree.y)

    --- deer: rotate clockwise 45 degrees

    --- deer: set brain to "run!"

    Deer: brain = "tree!"

    Deer: is counter-clockwise of angle(deer.x,deer.y,tree.x,tree.y)

    --- deer: rotate counter-clockwise 45 degrees

    --- deer: set brain to "run!"

    EDIT:

    Just realized this will only work with one deer and one tree as is.

    To make it work with more than one deer put everything as subevents of a "for each deer" event.

    More importantly to make it work with more than one tree we need to pick the same tree the deer overlapped in the last two events. You can do this by setting a global variable to the tree's uid in the overlap condition. Then use pick by uid in the last two events to pick it again.

  • My only critic is you need more on your channel. Good stuff.

  • There are many. Add a Sprite then click on the add effect link in the sprite's properties. There you can look all the bundled or included effects. One of them may do what you want. If not look at the link I provided and one of those may do it.

    If all else fails the manual has info about effects. You can even make your own if you're so inclined, but you shouldn't need to in the case of what you want to do.

  • Yes. Look at the bundled effects or try one of the ones in the link.

  • What have you tried so far?

    Minus the graphics, can you make that slope there with collisions?

    One way often used is to use multiple sprites to define the slope. So say you have a circle sprite you could place them in a row on the grass level. More advanced ideas would be to stretch a rectangle sprite from circle to circle to make the surface smoother.

    Anyway, to make the slope continue you just add sprites to the right of the last sprite.

    In the simplest case you can do this:

    Global x=0

    Global y=0

    While

    compare: x < screenleft

    --- set y to 100*sin(x)+320

    --- create sprite at x,y

    --- add 32 to x

    The "set y" expression is how your slope is defined, and you can do anything with it. Some examples:

    100*sin(x)+320 is just a sine wave

    100*sin(x)+50*sin(x*3+22)+320 is two sine wave combined to make a varied slope.

    (noisejs.perlin2(x*0.44, 0.5)+1)*100+320 uses the noise plugin to use perlin noise.

    Noise plugin:

    terrain examples: