CaptainOblivious's Forum Posts

  • TheInstance

    I get an error opening your file.

  • Please forgive me if I've misunderstood, but let me make an attempt to explain this.

    In accordance with the example provided, it appears as though you want Construct to decide which actions are appropriate in a given situation. You have a setup where two values are used to determine which action is to be taken, provided one or the other is true at the time. If VALUE_1 is true, you want to make the Sprite move 10 pixels left or right when the appropriate arrow is pressed. If VALUE_2 is true, you want those controls reversed (left arrow moves right, and vice-versa).

    The problem you're claiming to be Construct's design flaw is in reality much simpler. As soon as you set both values true, which you indeed do at application start, you've created your own paradox. Now, one press of the arrow moves your sprite 10 pixels in that direction, and 10 pixels in the opposite direction, with a net gain of zero. The Sprite does not appear to move because this all happens in one frame.

    This is not so much a factor of learning curve so much as it is just realizing for the first time you have to be mindful of how you set up your events. In this case, if you're using two separate variables to determine which method of control to use, you have to make sure that the two cannot both be true. You need to have a system of telling Construct which event should be true at what time. Construct itself, nor any other programming platform, can ever determine how to handle this situation without further input from you or the user.

    --

    To address your first issue... "Sprite" is no more than a default name for that object. It is suggested at the creation of every object that you name it yourself. This can be done by clicking on the new object and going to the Common Properties panel (by default on the left of your screen), and changing the object's name at the top. This change is in fact reflected in the Event Editor, even retroactively (meaning you do not have to also rewrite events when you change an object name).

    [ASHLEY: Perhaps a "Please name this object" dialog box at the creation of certain objects is a good idea?]

    About starting events with what you call "flow events." In short time you will realize how limiting that will be. Please consider playing with one of the tutorials available on the site to get a feel of how eventing works. In general, it works like this:

    IF (this),
    AND IF (this),
    Then do something.[/code:2lame8jn]
    
    The reason you cannot limit starting events with "flow events" is something you've already pointed out.  It [i]does[/i] limit what can be done with the program.  Allow me to explain.
    
    We have the same road you wish to drive on.  We have cars on the road and some stop lights.  We must tell the drivers of those cars what to do when they encounter a stop light.  The easy thing to do would be:
    
    [code:2lame8jn]IF Car is near Stop Light,
    AND IF Stop Light is "Red,"
    Then stop Car.[/code:2lame8jn]
    
    However, we only have system events to help us here.  Unfortunately for us, this method of picking objects does not classify in your definition as a flow event.  The System Object, one of the flow objects you describe, can give us true or false comparisons between two variables to potentially work around this.  However that method is clunky, and our situation is better resolved by using "pick object events."
    
    Does this mean you have to be careful about making a conflict to this Stop Light event?  Yes.  That's just part of the puzzle you have to overcome.
    
    Regarding loops, I do not believe you're ready for them yet.  You correctly point out that they can be mirrored by standard events, but that is not the point.  Loops are designed to run in between ticks to perform actions that must be computed in advance.  I or any of the other people here can help you with those when you need to use one for the first time.
    
    --
    
    I hope this has helped you understand the process a little better.  Just keep practicing with the event sheets, and be mindful that Construct cannot read your mind to know what it needs to do and when.  You just have to take that extra step or two to let it know what you are thinking.
  • <img src="http://www.strouperman.com/Special/screen/Worldlike_DX9_runtime-05.09.2008-02.11.39AM.jpg">

    It's a rough sketch, but I wanted to see what it'd look like with a sphere graphic applied as a lens.

  • Ashley

    You're right, and I'm a terribly picky audiophile myself. My complaint had nothing to do with their product, but more of their straw-that-broke-the-camel's-back actions against one of their community leaders who had been modding back in features Creative was purposefully removing from its driver sets for lower-end cards or cards not made for Vista. I thought that was a terrible shot in the foot, and I'll consider alternatives when purchasing audio boards.

    Great. Now I've gone from saving the topic to derailing it again.

  • Oh of course the math would work better/faster than defining the collision by the sprite. It would also allow you to vary the amount of damage based on distance, among other things.

    The circle object itself would be 90% a visual thing. Consider a selection window, or the actual animation for an explosion - which my way allows for. It CAN be used as the collision box for an action, but like you correctly observe it doesn't have to be.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I know how you feel, man, and it's hard to not become jaded when you're faced with the worst of it day in and out. Just remember feelings are just feelings, and you should set them aside on occasion to give to new things a worthy try lest ye be relegated to the abyss of outdatedness and longing.

    But Creative Labs is my exception to that rule. Call me hypocritical, but there's a difference between making terrible software and actually SCUTTLING it post-sale.

  • Yeah man, I've kind of assigned myself to the task of creating some tutorials. Anything in particular you'd like to see in the near future?

  • I used to own that card. I had shared video mem as a motherboard feature eating into my then-awesome 128 megs of ram. Check your bios to see if this may be part of the problem.

  • I'd have to clean it up and get some of those missing pieces cleared up first, but yeah I will consider posting that and more on the wiki.

  • If I may make a second attempt to steer you back on topic, Popfly is written in something completely new. Just as Construct and MMF differ greatly in the engines that drive them, we may yet find some benefit to Silverlight we could not foresee.. But how could we do that unless somebody out there gave it a try? It also makes your copy/paste argument put you in a negative light. This is essentially the same thing uninformed Clickteam forumgoers accuse Construct of. Same with bugginess. It's harder to see the relation between Construct and any major operating system because of the sheer scale, but judging just by this forum the bugginess is the same pound for pound. It's all relative, but perhaps it just feels better when one can actively participate in the development.

    Appreciate this "Popfly" for what it is, and leave your hate rants for a time when they are more useful - as in hostile company takeovers.

  • For all anyone knows and in all likelihood this Popfly thing was probably created by a team of less than ten people. "OMG MICROSOFT MADE THIS" doesn't quite mean the same thing every time the subject is brought up.

    Opensourceophiles often bring up the "OMG MICROSOFT STOLE IT" defense, which to me seems incredibly hypocritical. For being so open to the free exchange of ideas, you sure are deathly frightened of any market competition. Maybe your open-source is freeware too, but it still becomes part of the market. In the event that a large company wishes to entertain the same idea while providing for all the regulations in place to help ensure product worth (professional technical suport, development cycles and the like) it is taking the gamble that they can make the better product. It's all about where the consumers choose to align themselves - the corporation requires a userbase for development costs, and open source projects require a userbase to voluntarily fill the service gaps inherent with the free model. Both are prone to failure without this vital user base, just as they easily stagnate without innovating competition.

    This is why I can't stand fanaticism from either side of this argument. It all boils down to economics. And for the topic at hand, this is Microsoft displaying the early results of their latest work heading into the next generation. Does it fit our needs? No. Is Microsoft evil for taking an existing idea and applying it to a new media? No. When you someday invent the next globe-changing thing, I'm sure you'll be happy to have had the work of those before you as inspiration. And that day you'll perhaps say, "Hmm, the Captain had a point all along" as you swivel in your big, scary, evil (but very comfy) corporate office chair to watch your product make you richer by the minute.

  • Construct's animation system works as so:

    ANIMATION_NAME

    --ANGLE (n degrees of 360)

    ----Animation frames

    ++[sub animations]

    You do not need sub animations for each angle. Sub animations are to my knowledge, and Ashley may elaborate later, for both organizational and conditional purposes much like sub events. Neither are necessary. The conditional aspect is that sub-anything relies on its parent being true or activated.

    The thing about Animation Names you read has to do with the "Animation is playing" event sheet condition not working at the time of this writing. This can be resolved with private variables, but is often unnecessary anyway.

    For 2D platformers and similar camera styles, the "Auto Mirror" setting within your sprite settings (when it's selected, appear to the left of the screen by default) will provide the left/right corrections as needed. You would only need to define either angle 0 (right) or 180 (left). This setting, like all similar settings, pertains to your animations globally. For example, switching between animations will always honor the horizontal movement of the sprite.

    Top-down views are different. For an Asteroids-type game, set your Rotation Variable to "N Angles" and define how many steps it may take, up to 360. You need only create one angle of any given animation and Construct will rotate it for you.

    For an on-rails shooter, like Gradius or Ikaruga, you may wish to lock your animation angle regardless of movement. For this, use "No Rotation."

    To answer your last question more succinctly, it sounds like you should use settings common to a platformer with "Auto Mirror" on and no rotation. After loading the keyboard/mouse object into your layout and setting a Behavior for your sprite you should quickly see that it is working largely the way you would expect.

    One final note and something that differs greatly from Multimedia Fusion, at this stage in development animation frame numbers are carried over between animations. I think this is cool, but there is no way to turn it off. When switching to an animation that is not analogous to the previous one, be sure you add the command "Set animation frame to ##" in your events.

    I hope this gets you started and helps you avoid the major undocumented pitfalls. If you encounter any trouble, feel free to upload your .cap file for us to look at.

  • AAAAaaaaannnnnd, there. Now that all the thoughtful conversation has ended, thus commences the obligatory hateful and uninformed anti-Microsoft rhetoric.

  • No, why do you ask?

  • Rick Astley will never give you up. Just sayin'.