deadeye's Forum Posts

  • meh

    I'm sorry, now I feel like a jerk

    I do think the search for a more visual method of displaying math functions is an interesting idea though. I just can't think of anything that doesn't involve a picture of five apples over a picture of three apples and a cartoon worm wearing glasses asking how many apples there are all together.

  • It's an interesting idea for sure, but (ya know I love ya David, no offense ) in all honesty there's not much difference in reading that than there is in reading

    clamp(3 * distance(coordinates, coordinates), 0, 100)

    It's just that the components are raised up in their own sections instead of being in between parenthesis. If you were to squash it down flat it would read pretty much the same. Moving the components around is also an interesting idea, but practically speaking is that really any easier than highlighting the part you want to change and typing something else?

    I know you were looking for a more visual representation of the structure of a math function, but from the point of view of someone who doesn't understand math, I think it's still going to look pretty much like math. The problem of learning and understanding the math concept behind it is still there.

    I'm sorry, I hate to be a naysayer. Perhaps I'm just misunderstanding the point?

  • You do not have permission to view this post

  • Ah. Even so, you still don't need those extra objects. You could give each of your slidey walls a "Slide" attribute and use Overlapping at Offset to check that you're next to that attribute. Or make a family called "Slide" and stick all of your slidey walls into it. Either way, having a bunch of extra sprites hanging around like that is pointless. It just clutters up your layout.

  • Create a layer as your topmost layer, place a full screen tiled background in black on it, and then fade that layer in and out whenever you need it.

    Krush.

    That's exactly how I do it. Even if I'm actually changing to another layout, I still manually make my own fader object on the top layer. I guess it just feels like I have more control over how it works that way.

  • What do you mean you can't have more that two levels? What's happening?

    Perhaps it would be easier to help if you posted your .cap file.

  • The reason I use those RedSprites is because I don't want Megaman to slide in every wall, just on some (like the original game).

    Anyway, I will check the thing of the timer, thanks for the answers. You've been very helpfully =)

    Thanks,

    Carlos.

    Really? He can only slide on some of the wall but not all of them? That's weird... I don't remember any such restriction. Of course, it's been a long while since I played those games.

    Seems odd to me that if you have wall sliding, you wouldn't just allow the player to slide on whatever wall they wanted to. But hey, whatever

  • What do you think the chances are of anyone creating some of these kinds of "physical" assets are?

    Honestly, as far as Construct is concerned... slim to none. It would require some major overhauling of how Construct works fundamentally.

    As far as some other tool somewhere down the road... I would say it's inevitable. It's just a way off, if not a long way off. The irony of the situation is that the easier the interface is to use, the harder it is to create that interface.

  • I just took a look at the .cap you posted. Just a heads up, you don't really need those red X sprites to check for overlap. You can get rid of them. Just use the overlap at offset like I showed. Alternatively you could use "Has wall to left or right" in the Platform Behavior conditions.

    As for a timer, you could do that with Every X Milliseconds and a variable to store your timer information.

    + Press Dash
    + timerVariable is equal to 0
        -> Set timerVariable to 2
    
    + timerVariable is greater than 0
    + Every 1000 milliseconds
        -> Subtract 1 from timerVariable
    [/code:39zuq7zz]
    
    The reason you would set it to 2 is because "Every X Milliseconds" triggers instantly the first time it's encountered, so it subtracts 1 right away.  Then it waits 1000 milliseconds, which is one second, and subtracts again.  Then your timerVariable is 0.
    
    That way you can use timerVariable in conditions.  "Compare private variable" or "Compare global variable" can be used to see if the timer is active or not by checking if it is greater than or equal to 0.
    
    Alternately, you could set your timerVariable to 1, and subtract 1*timedelta.  Either way would work.  If that's the case then you would need to change your "timerVariable = 0" conditions to "timerVariable is less than or equal to 0" because you might skip over 0 entirely.
  • If you want your player to accelerate instantly to max speed when you start moving, with no inertia, then just set all of your acceleration and deceleration values to higher than your max speed.

    Anyway, if you want a wall slide while pressing against a wall, then try this:

    + Always
        -> Set Max Fall Speed to normal
    
    + Player is falling
        + Player is overlapping wall at offset (2, 0)
        + Control "Move right" is down
            -> Set Max Fall Speed to something low
        + Player is overlapping wall at offset (-2, 0)
        + Control "Move left" is down
            -> Set Max Fall Speed to something low
    [/code:3ezucw28]
    
    You don't really need to mess with the gravity in this case.
    
    Heh, Minor beat me to it but I'm posting this anyway
  • I think at a certain number of points it will break. The game I'm working on has some large objects that need a bunch of points, so right now I have to break them up.

    Could be. I made a mini-golf prototype a few builds ago that used one large custom collision mask for the whole level. I should load it up in 0.99.7 and see how it handles it.

    Edit:

    Seems fine. There's a whole crapload of points on the object and it appears to be working normally:

    http://dl.dropbox.com/u/529356/pingolf_v0.2.cap

    The Box object named "collisionmask" is the one with the custom mask on it. Click and drag the ball to shoot it. If it becomes unresponsive (a bug in my events that I never bothered to fix) then hit R on the keyboard to reload.

    Anyway, it could be that your mask was bugged for another reason...? Maybe when you hit Close it just didn't save the mask properly or something. Anyway, I'm sure the devs can figure it out.

  • I actually did, and profited by, some rudimentary programming, way back in 91 or 92, using HyperCard on the Mac - and had a lot of trouble even tackling that simple language.

    Hell yeah, man! HyperCard was the bomb. I loved it to pieces. I spent countless hours making my own point-and-click adventure games and simple arcade stuff.

    I still remember how easy the language was, too... it was damn near plain English. Want to toggle a button's highlight? Just type "Set the highlight of me to not the highlight of me." Too awesome.

    Ah, the good old days. I wish I still had those old stacks, they might be good for a laugh . Anyway, </anecdote>.

    I got into Flash a little bit a few years back, because it was pretty much the closest thing to HyperCard as far as modern software goes. I tried my hand at making some games and found coding Actionscript to be too boring, and I wasn't learning anything. So believe me, I feel your pain when it comes to learning code... I've tried learning Actionscript, C++, C#, Java, and Python and it all bores me to tears. I can make a screen say "Hello world" in each of those languages and that's about it. The only language I really have anything more than a passing knowledge of is BASIC, and that's because I learned it when I was a wee tyke and I had ample time and energy to waste learning a dying and utterly useless programming language.

    That's the main reason why Construct is so appealing to me. The only code I have to learn is a handful of math functions, and even then I only bother to learn what is absolutely necessary in order to make what I want. The rest I have no clue on. How did I learn what lerp() was? I asked for help in making my game scroll in a particular way. Someone posted an example of how to do it that involved lerp(). I had no idea what it meant or what was going on, so I asked for clarification. Once I had it down, that was that. Now it's just another tool in my toolbox that I can pull out and do something cool with.

    I couldn't even begin to tell you what quarp() or cosp() is, and I've never needed them for anything so I've never bothered to learn. Hell, I don't even fully understand what sin and cosin do. I'm no math whiz, and I'm no coding genius. I'm an artist first and foremost. I'm just a guy who wants to make cool stuff and I'm willing to sacrifice a little of my time to learn the barest of necessities in order to accomplish that. It's not too tough. If an old man of 36 can do it, then an old man of 54 should be able to hack it as well. Especially since you have the hard part down... you already know how to make graphics. Creating the game assets you need, and seeing that process through to the end is easily the toughest part of making a game. When you remove the coding aspect, that is.

    Anyway, I say you should at least give it a try. If you try your hand at Construct and you hit a wall, there's plenty of folks here to give you a hand. It's not like you have anything to lose. Take a break from scouring the net for something that doesn't exist and give making something a shot. Who knows... it might not be as painful an experience as you expect.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'm working on an arcade-type game for the current TIGS compo that would benefit greatly from high-score table and achievements, but the timing of your plugin release is unfortunate . I want to make sure the game itself is done before the deadline so right now isn't a good time to experiment with new plugins and such. If I get it done with enough time before the deadline then I'll definitely check it out, otherwise it'll have to wait until after the compo is over before I start messing around with it.

  • <img src="http://dl.dropbox.com/u/939828/idea29.PNG">

    Basically that could be displayed a lot nicer but to explain the concept...

    I would hope it could be displayed a lot nicer, because in all honesty that hurts my brain more to look at than "clamp(distance(x1, y1, x2, y2,) * 3, 0, 100)"

    And I think that's heading into the argument here about visual data flow. It's a nice idea for small, contained things, but once you get into more complicated stuff it's just a nightmare to look at. As you stated in your post things like lerp() and distance() are already taking long, complicated math problems and boiling them down into easier-to-handle chunks. If you start boiling things down much further you're going to swing the balance from "complicated abstract concept" over to "complicated practical implementation." In my opinion Construct is a rather comfortable middle-ground between the two. Yes, you still need to deal with some abstractions, but the trade off is the structure is easier to handle - rather than connecting potentially dozens of little dataflow boxes in a diagram to perform a math function you instead simply type in a couple of expressions. Those boxes may be easier for someone who is unwilling or incapable of learning to better visualize what's going on, but for those who put in the minimal effort of mastering the relatively simple math it would be too frustrating to work with.

    Let's assume that each of those boxes and connections requires two clicks to create: A right-click to pop up a menu and a click to select what option you want...

    Right Click -> Insert -> Math -> Click to select Distance evaluation component from menu

    You navigate the menu and pick your component. Then you need to define the parameters:

    Click Distance component -> Select Parameter A -> Click -> Navigate to Mouse Object -> Click

    Click Distance component -> Select Parameter B -> Click -> Navigate to Player Object -> Click

    Right Click -> Insert -> Math -> Click to select Multiply component from menu

    Click Multiply widget -> Type "3" -> Hit Enter

    Click & Drag connection from Distance component to Multiply component

    Etc. etc. And that's only half the steps necessary to complete the equation. Not to mention moving the boxes around so you can see them easier when the view gets cluttered and you can't easily see your connections to figure out why your game isn't behaving the way it should be.

    It's an unnecessarily bloated system when the alternative is to simply type "clamp(distance(x1, y1, x2, y2) * 3, 0, 100)" into the expression editor. If I had to click and create flow-chart boxes in Construct to perform simple math functions I would just use another program, because it would be way too much of a hassle to deal with.

  • In my experience, plasma can be slow. Canvas can be difficult to work with. Particles are fast, but lack fine control. Sprites would probably be your best bet as far as a balance of speed and control goes.

    It would help to see a .cap of your objects moving around though.