Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411421 Posts in 69363 Topics- by 58417 Members - Latest Member: JamesAGreen

April 18, 2024, 09:34:56 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperPlaytestingMarionette UFO
Pages: [1]
Print
Author Topic: Marionette UFO  (Read 4080 times)
Noyb
Level 9
****



View Profile WWW
« on: January 09, 2008, 02:50:55 AM »

Greetings. For the few that knew me from The Daily Click, it's been a year since I've last dabbled in game creation. Lurking on the Clickteam forums, I saw that Multimedia Fusion 2 had an honest-to-goodness physics engine implemented for it. I then remembered a game idea I had around the time of the B-game competition: Marionette UFO.

My initial vision was to make a side-scrolling game based off of those old B-movies where the spacecraft were hanging off of a rod by strings, where the player would directly control the rod to move the spacecraft. I spent a couple nights learning the physics engine and refamiliarizing myself with MMF2 before making a quick engine test minigame.

I'm pretty sure I'm not ready to move on from this point. First off, I'm trying to find a decent balance between the indirection offered by controlling the stick and the responsiveness of direct controls. I guess what I could do is to shorten the string length to make it more responsive or increase the air resistance to lower the pendulum effect. Also, this build uses rigid strings, which means the player could easily support the weight in the air from below. I'm not entirely sure *why* that doesn't appeal to me, possibly just aesthetics. Regardless, the physics engine doesn't seem to support fluid joints, and my attempts to simulate them by a series of rigid joints connecting negligible mass bodies resulted in an unplayable mess. Perhaps the solution would just be to make sure that the top rows don't have any less chance of containing an obstacle than the bottom. Also, it's fairly easy to push the spacecraft offscreen in the corners, which I've implemented an ugly stopgap solution of physically limiting the x/y coordinates of the weight. I'm not entirely sure whether the problem is with the physics engine, the extension developer's implementation of it, or my implementation of the extension. I was also thinking of making this mouse controlled (click + drag to move the stick, click + drag on the ends of the stick to move and rotate), but decided to use keyboard controls for now before worrying about how the physics engine might break down at those potentially higher speeds.

Anyway, I'm looking for feedback on the movement system of this game. You use the arrow keys to move the stick, and z/x to rotate it. A UFO (a gray square at the moment) hangs from the stick by two parallel strings. There are two minigames to test out the movement. The first one's goal is to make sure no diamonds collide with the UFO, and int the second one the diamonds cut the strings but the stick collides with them. I'm more interested in feedback on the movement system, but I realize that trying to make these minigames fun would be a good start towards seeing if a larger project with this engine would be good.

Download Link: http://realnoyb.googlepages.com/MarionetteUFOTest.exe (503 kb)


Logged

deadeye
First Manbaby Home
Level 10
*



View Profile
« Reply #1 on: January 09, 2008, 07:15:01 AM »

I think you have a pretty neat idea, but the result falls a bit short of expectations.  The movement of the UFO is very stiff and sluggish, not at all like how you'd expect something to act when hanging from strings.  The strings themselves feel more like rigid poles.

Like I said, though, I thought your idea was neat so I took a whack at it:

Download -> http://www.mediafire.com/?4bqie9ntx11

I don't have any rotation controls (other than automatically setting torque toward zero degrees to keep it stable), but moving around with the arrows seems to work pretty well.  It's rather elasticy, but it feels a bit more natural than rigid poles. 

What I did was make two chains of 2-pixel-high segments (about 40 segments per chain).  I set the collision mask to none so the chain wouldn't bunch up on itself.  I also set the segments to no rotation, because rotation caused them to lose cohesion and spaz out all over the place.  I don't know how you'd set this up in MMF (I did it in Construct) but perhaps you could work more towards something like that.
« Last Edit: January 09, 2008, 07:39:24 AM by deadeye » Logged

tweet tweet @j_younger
Noyb
Level 9
****



View Profile WWW
« Reply #2 on: January 09, 2008, 11:04:08 AM »

Very tight mockup, deadeye! Apart from the lack of rotation, that's really close to what I had in my head. Smiley Thanks for your vote of confidence in my idea! I agree that the rigid strings I have now don't have a great feel, but all my attempts at more fluid strings in MMF2 with this physics engine have met with failure. Sad

I spent a few hours trying out different things with my older segmented string build. More fluid constraints should be possible with this engine. The "sketches" video of a Crayon Physics clone on the main Chipmunk physics engine site has decent examples of some. However, I guess I'm at the point where I'm not sure whether what's wrong is my own coding (possible), the extension's implementation (possible, less likely), or the physics engine itself (even less likely, based solely on the video).

In my attempt, I made a user-controlled number of rectangular segments, each attached in sequence by short (should be 2 pixel) joints. Each segment has tiny mass, because massless objects seem to muck up the display of graphics. First, I tried using the engine's standard "pin joints", the rigid ones in the test in the first post. However, the joints tended to stretch, so I swapped them for "slider joints" which have min/max values. However, these too stretched far beyond the max values. In both cases, the strings weren't taut enough to have as good response as deadeye's mockup. Plus, when I try to partition the strings in 8+ segments, it failed catastrophically, where the joints didn't even seem to try to hold itself together, even without any player motion. The offending build: http://realnoyb.googlepages.com/MUFO-badRopes.exe

Hmm... there aren't any options for joints apart from initial positions (and min/max length for sliders), which leads me to believe my problems *may* be with the extension. Guess I need to get in contact with its maker.

Construct was that indie MMF-alike in development, right? How stable is it at the moment?
Logged

deadeye
First Manbaby Home
Level 10
*



View Profile
« Reply #3 on: January 09, 2008, 01:15:51 PM »

Your bad-ropes version has it's good points too, though... it has that string-snap (like cracking a whip) that I couldn't get with my mockup.  It seems to work best with 5 or 6 segments. It seems like the UFO needs more mass, but judging from the looseness of the joints that's probably not doable the way you have your joints set up right now.  Maybe it's a limitation of MMF, but the hinges are way too stretchy when you bump up the number of links. 

Your version also has more swingy, stringy action (which is what I was going for) as opposed to my elastic-band type action.  Granted, I didn't put a whole lot of effort into mine.  With some tweaking it might be fixable.

As for Construct, it's pretty stable at the moment.  The newest version (Version 0.9) even has an auto-updater for hotfixes.  The creator has a really good tunraround on bugfixing so it's getting more stable by the day.  Check it out, if you're interested: http://www.scirra.com/
Logged

tweet tweet @j_younger
SplinterOfChaos
Level 3
***



View Profile
« Reply #4 on: January 09, 2008, 09:11:26 PM »

Good luck with this project. I like the concept, and it's neat to control the ship like this.

But is this going to just be an evasion game? Maybe I'm being a hypocrite because my game a few threads below this is nothing but dodging, but I think there needs to be something more. Even in my mostly-dodging game, there are subtle elements of aggression hidden in overt elements of control. I'm not saying the game needs elements of either control or aggression, just that pure dodging isn't enough.

Maybe if there was some projectile that you could send off by flinging the right way. Or something that I could pull in with a tractor beam whilst dodging everything else--and that would cause something to die.
Logged

Noyb
Level 9
****



View Profile WWW
« Reply #5 on: January 10, 2008, 03:22:32 AM »

So I got in contact with one of the extension developers, and the solution was to add a sliding joint with a min of 0 and max of the string's length in addition to the fluid chain of pivot joints. Thanks to his help, the fluid string build is feeling more responsive. It isn't quite as responsive as the original rigid string one, but since it feels more natural, it might be a bit more intuitive. It also let me make the string pieces and the UFO more massive, which did help the feel, deadeye.

Splinter, it's probably not going to be a pure dodging game, but that's what I'm focusing on at the moment. Using a tractor beam to throw object at enemies would be fun. I'm not sure if my movement system is tight enough for that to be predictable for the player yet, although I like the idea. My initial thoughts for combat were for the player to shoot a laser out the bottom of the craft, one which can only be fired for so long before overheating, possibly just once. I'll have to test them out after I feel comfortable with the movement.

Anyway, I redid the original minigames with the fluid strings. I haven't quite decided how many partitions feels best, but I'm leaning towards 6. The joints still break down around double digits, but at least the lower numbers feel better. Download Link: http://realnoyb.googlepages.com/MarionetteUFOTest2.exe (520 kb)
Logged

SplinterOfChaos
Level 3
***



View Profile
« Reply #6 on: January 10, 2008, 02:24:26 PM »

I think the gravity on the space ship could be boosted a little. This would increase the responsiveness, and stop it from bouncing out of control like it does.

But I find it neat how the rotation actually helps control it. Did you intend the rotation to help stability?
Logged

Guert
Level 10
*****



View Profile WWW
« Reply #7 on: January 13, 2008, 07:00:48 AM »

Hello there!
This is a very interesting prototype.

As SplinterOf Chaos mentionned, the ufo is unstable. I believe that the ufo should move a bit slower. I'd also give more speed to the brown bar. Perhaps you could work on some way to change teh speed of the brow bar whilke playing, such as moving having it move faster with time or enable a turbo function or pick up speed items along the way. In all cases, I felt like the brown bar was way too slow compared to the diamonds and ufo. This felt like most of the time, the game was out of control: I wanted to do something (like move quickly to the right and pull the ufo out of the way) but couldn't because the ufo changed state (it was no longer where I wanted it to be) and the brown bar didn't react as fast as my input.

I think that, with alot of different goals and some interesting variations on the mecanism, you'd have something pretty good in your hand.

BTW, I tried both version and the second one is alot better Wink Keep at it! :D
Later!
Logged

Noyb
Level 9
****



View Profile WWW
« Reply #8 on: January 15, 2008, 06:46:20 PM »

Thanks for the feedback SplinterOfChaos and Guert!

I modified the last build a bit to allow you to test out changing the masses of the stick and the UFO, the gravity constant, and the speed of the stick movement and rotation. The reason the stick feels a bit floaty is that I haven't quite worked out how to calculate the gravity force (it isn't just m x g, or even mg times a constant for all values of m and g, and yes I am including the masses of the strings and the UFO in my calculations, and yes this problem is cropping up in a separate file with just a single massed body), so the approximation is only semi-decent for values within the same power of ten as the default values, although it's still not great.

The default settings on start are those used in the last build, for comparison. Recommended starting settings: 5 string partitions, 200 speed, 2 rotation, 200 mass, 200 gravity. If you do try out this build, I'd appreciate some feedback on what settings you liked best. Smiley

Download: http://realnoyb.googlepages.com/MarionetteUFOTest2-custom.exe (530 kb)
Logged

SplinterOfChaos
Level 3
***



View Profile
« Reply #9 on: January 15, 2008, 10:19:47 PM »

I had stick speed at 150, rotation at 2, UFO mass at 100, and stick mass (which didn't feel like it changed much, but I might just not of noticed) as well as gravity at 200.

Don't feel like saying much more at this point.
Logged

Hideous
That's cool.
Level 10
*****


3D models are the best


View Profile WWW
« Reply #10 on: January 15, 2008, 11:36:39 PM »

I haven't played it yet, but the whole idea seems fun.



//OFF TOPIC//

Noyb, weren't you the guy who made the Ultimate Showdown for Frets on Fire?
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic