Geo's Forum Posts

  • GenkiGenga Thanks, I appreciate. Wait to see the next one <img src="smileys/smiley1.gif" border="0" align="middle" />

  • I will just repeat myself because I think my idea is very good:

    For PICKING conditions, the ELSE should reverse the picking, i.e. the ELSE should pick all instances that were not picked by the IF, REGARDLESS of what happens in the actions (i.e. if in the actions you alter some variable that would cause an instance to match the inverted condition, the ELSE should still not pick it, because the original IF picked it already).

    The picking ELSE should think in these terms: was this instance picked the first time? Yes - drop it. No - pick it.

    For picking, it should be "instance-wise else".

    I have spoken. <img src="smileys/smiley17.gif" border="0" align="middle" />

  • I noticed some problems with the GUI when the laptop comes out of hibernation too, like the icons on the top bar are screwed up. I just close and restart C2. I've always had this small issue.

    Windows 7 64 bit here as well, on a Dell Latitude E6510.

    Maybe I'll post a screenshot if Ashley (or anyone) wants to have a look.

  • I think that's what "Trigger Once" was created for, so I'm not sure there's a better or more elegant solution.

    Other things you could do if you wanted to run, for example, only 5 times, is to have a global number variable that you increment in the event actions, and have a condition on the event myVariable < 5.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Geo: what's the practical purposes of "inverted on every tick" and the logical/practical purpose of "inverted for" ?

    Kyatric: I wasn't asking for them to be inverted, I was just saying it's possible, replying Fimbul's post above my own <img src="smileys/smiley4.gif" border="0" align="middle" /> - and saying that the ELSE on such an event should just do what currently the inverted event/condition does (which as you tested out doesn't do anything or throws error in the browser he he).

    Cheers!

  • Of course, experienced users see that this sets X to 1 then immediately back to 0 in the next event. However, using 'Else':

    + If X = 0

    -> Set X to 1

    + Else

    -> Set X to 0

    This works as intended, toggling X between 0 and 1. However, your proposal to make 'Else' the equivalent of the inverted previous event will break it again, making it work like the first example!

    A bit off topic I agree, but perhaps some experienced users aren't aware of the "short" version of toggling between 0 and 1 without ifs:

    Set X = 1 - X.

    Now back on topic, after reading more here's my suggestion:

    For logical conditions, ELSE should be "programatic" else, i.e. did it execute or not.

    For Picking conditions: "Else" picking should be done at the same time as the "IF" picking and should be the exact opposite. So let's say you have 5 sprites, 1 on the left of 320, and 4 on the right, then you do:

    Sprite->X > 320 -> do something

    ELSE -> Do something else

    it should execute accordingly. BUT, IF in the "do something" you move some sprites, then the "ELSE" should not pick those sprites, even though by the time the flow gets there, they match the ELSE too. Think of it like "programatic" if on a "per instance" basis.

    Like: "For these instances, did the logic under IF execute or not? If yes, don't pick them on the ELSE, otherwise, DO pick them, REGARDLESS of what happened to them and whether or not they match the inverted condition as well by the time the "flow" gets there"

    This as far as I can tell is the most "honest" <img src="smileys/smiley1.gif" border="0" align="middle" /> implementation of ELSE.

    And Fimbul, the else in your scenarios should do exactly what the inverted does currently. You can invert "Every tick", "For" etc currently, I didn't try to see what it does in practice, but you can invert them and the ELSE for those should do exactly what the inverted does currently <img src="smileys/smiley4.gif" border="0" align="middle" />

    <img src="http://img94.imageshack.us/img94/4683/invertedweird.png" border="0" />

  • Years passed since the Jojoba job; now the story continues!

    Jim aka Boom Boom Boom is summoned again to clear the mess on the Jojoba system, this time using ancient arsenal from a long forgotten bunker.

    The long awaited sequel is FINALLY here <img src="smileys/smiley17.gif" border="0" align="middle">. Play Ka-Boom Boom Boom Reloaded

    (if you haven't played part 1, you can find it here

    Feedback is appreciated <img src="smileys/smiley1.gif" border="0" align="middle">

  • Your ELSE dilemma gets tricky because it doesn't really apply here. ELSE is a logical operator, while the conditions in the events in C2 are more than just logical conditions (they also do some "actions" like picking etc).

    You could solve it I guess by limiting the ELSE to logical conditions only, like System.Compare variable / value, and disallow it if the same event contains other non-logical conditions.

    Or you could "overload" ELSE to do other stuff (inverted picking, nice idea), but then it gets tricky.

    One more thing, how about this one?

    Event: System->Compare x = 1 / Action: System->Set value X = 0

    Event: System->Else / Action: System->Set value x = 1

    After this runs, what is the value of x? <img src="smileys/smiley4.gif" border="0" align="middle" />

    Cheers!

    (btw really looking forward to the OR...) (and to the family behavior <img src="smileys/smiley17.gif" border="0" align="middle" />)

  • AndyWatson bullet won't do, I want it to rise and fall, like a cannon ball would. Kyatric's suggestion did the trick, thanks!

    Funny thing though (and unexpected, probably a bug), the trajectory isn't exactly the same when the timescale is 0.5. I have the cannon firing and collision with the enemy event, with same coordinates, angle, impulse etc (same everything). It hits the enemy when timescale is 1, and it misses it by very little when it's 0.5.

    It doesn't matter much though, all projectiles will fire at half time scale so nobody will notice.

    Cheers, and thanks again.

  • Hey guys,

    If this has been asked and answered before - I could not find it.

    I'm making a game where a cannon shoots a cannon ball to destroy some enemies ("gorilla.bas" style if you remember that one).

    Using physics and solids.

    On button click, I'm having the cannon spawn a cannon ball. Then I apply impulse to the cannon ball at an angle. So far so good. The cannon fires the ball and it goes hit the enemy, describing an arc (due to gravity). Perfect.

    I'm very happy with it so far except one thing: I would like the cannon ball to go slower. It goes too fast. If I half the ball density and the impulse, or double them, he speed is the same (of course). I want some slow motion effect on the cannon ball movement.

    How can I achieve this effect?

    Thanks!

  • Hey simwhi, glad you liked it. I'll create more such games. I fixed #3 (thanks for the bug report, appreciated); I'll see about #1 and #2, they are just minor inconveniences as you said, not sure I'll get to fix them <img src="smileys/smiley1.gif" border="0" align="middle" />.

    Thanks for taking the time to write the feedback.

  • Sure, no problem, glad it helps <img src="smileys/smiley1.gif" border="0" align="middle" />

  • Local variables get reset every tick. Quote from the manual:

    ------

    1. Local variables reset their value to the initial value every tick. This is by design, and intended to match how local variables work in real programming languages.

    ------

    If you need to store the variable more than 1 tick, it's got to be global.

    One trick I'm using (because I don't like to have a lot of global variables either) is this:

    1. Create a sprite on the layout where you need the "local" variable and give it some "meaningful" name. For example I need some local variables that would store their value across ticks on my "Play" layout, I create a sprite called "varsPlay" and add it to the Play layout, somewhere out of view (-100, -100 coordinates or something)

    2. On this sprite, add all the local variables you need, as Instance variables. Like in your example, you'd add a "number" variable to the sprite varsPlay, and in your event you'd have varsPlay -> Add 1 to instance variable "number", and Text -> set text to varsPlay.number.

    I hope this helps you keep your design tidy, it does help me do that. One more advantage you get if you do this is that you can use "boolean" variables too, which you can't if you use proper variables.

    Cheers!

  • Hey anthonykojima, thanks for the feedback, it does help and it's appreciated. Too bad you got stuck at level 17 (here's the solution btw), that's when the fun barely starts <img src="smileys/smiley4.gif" border="0" align="middle" />

    <img src="http://img708.imageshack.us/img708/5431/level17.jpg" border="0" />

    I hope this will unstuck you, you're just one level away from Movie 4, and (hint hint) level 24 is really FUN you get to blow up lots of bad guys <img src="smileys/smiley4.gif" border="0" align="middle" />

    The peas do look nice, I very much agree. I will consider them if I make a sequel, or perhaps change in the game too (too late night to start doing it now...). Thanks for the tip.

    I did play your game back when you launched it, but I got stuck, couldn't find something that was needed for the guy to give me the money IIRC.

    I'll have a look again, and congrats for the game, it's quite successful <img src="smileys/smiley1.gif" border="0" align="middle" />

  • My vote for "Better monetisation options",

    but I didn't mean that I want many other export options.

    +1 more.

    * lobbying to get HTML5 equivalent to FGL

    * lobbying to get big ad companies (which only support flash atm) to support html5

    A lot of lobbying to do <img src="smileys/smiley1.gif" border="0" align="middle" />.

    Cheers!