-
platformer problems
1. I need a base/ground that I can jump through upwards from exactly below it. I used a backdrop object and it has "platform" obstacle type, but it functions exactly the same as "obstacle" obstacle type. It doesn't let me jump through it nor does it let me pass through it. Like I said, it functions exactly the same as "obstacle" obstacle type. Any ideas how to fix this?
2. I'm using the platform movement object. How do I program a walk and dash separately with separate animations? dash is double tapping either right or left arrows.
3. I would like to ask for a suggestion on how to implement an aspect of fighting games: Damage poses for players.
just a simple example:
hero character has 3 attacks
- punch
- kick
- slash
punch should NOT push enemy
kick should push enemy away only horizontally
slash should push enemy away diagonally
and in turn, the hero should also be affected by different attacks by enemies with the following poses
- damage (standing)
- damage (fall up in air and fall down, then show the "lie down on floor" pose before going back to "idle/stopped" pose)
I'm just asking for ideas how to implement a standardized system for this, like different attacks have different force of pushing the character/enemy being attacked.
Thank you. Please respond. God bless.
-
1 Attachment(s)
Well, I know this doesn't mean much (or even anything), but I came from other game programming languages. I'm still adjusting to MMF2 style. I already finished chocobreak tutorial. It was a great learning experience. I found and trying to study a file called advanced platformer. I forgot where I found it, but it was a zip containing 2 files (advanced platformer and simple platformer).
1. I saw the list of qualifiers and also read about it in the help section of MMF2, the closest word I saw to what I need is "obstacle" and it did not do anything.
So do I need to add events to it before it would work?
Yes? I can't think of an appropriate action for this. Conditions would be: PMO is falling and character is overlapping the active object.
2. the advanced platformer file I am studying already has walk and dash, but it only uses the walking animation for both. I already tried adding an action about changing into running animation, but it did not work.
3. Well, I already tried something like simple attack: hit each monster 3 times to kill each. I thought this was the next step.
I have a rough idea (based on how the previous game engine I used to program) but I don't know how to implement my rough idea. Please hear my idea and tell me if it is possible and how to smoothen it for implementation.
My idea is like this:
I need variables to place values of "attack velocity X" and "attack velocity Y" (do I use alterable or global variable?)
so for example:
punch1 should push enemy by 5 pixels or whatever units. character sets the attack velocity X variable's value to 5 and so the enemy's position should either increase or decrease by 5 (but retrieving the value directly from the attack velocity X variable ?)
punch2 should blow enemy diagonally, so both x and y should have values and enemy's position should also retrieve the values of the variables?
and so on. different punch and different kicks have different "effect" on how much the attack push the enemy away.
Basically I am trying to implement a "standardized system" of attacking. and that's vice versa (hero and enemies attacking each other), but I don't know if I should use which kind of variables and if I need to consider other things also (which is why I am asking).
that's my rough idea. is it correct?
Attachment 11878
I have attached the original file I got. I'm sorry I don't know where I got it. I forgot it. Please tell me if I need to also upload my file (edited from that original file).
I apologize if my way of posting sounds arrogant in any way. Thanks.
-
I just send to you my file via PM because it's over 5MB.
I haven't edited anything since the time you posted (post before this post).
So my idea is right. I just need to use global instead of alterable.
thanks for understanding. I just thought my post might sound offending one way or another.
-
thanks for raising this issue. I was just thinking about it.
If my current hero (LuffyEastBlue) is just the first of many planned heroes, should I just use a qualifier (include LuffyEastBlue in it) and "transfer" all of the actions of the hero to the qualifier? so next time I will just add a new hero under the same qualifier and it will be less work? is my thinking right?
And if I have many hero characters (although only playing as only 1 at a time), I should use alterable values for the damage system both ways (hero and enemy) ?
-
what do you mean by level editor? isn't that the toolbar where you can add layers (similar to layers in photoshop) ? anyway, if I'm going to copy which codes, which codes are you talking about? the codes about the qualifiers?
Edit:
and my idea for damage system is that the push back is dictated by the attack itself, regardless which enemy it hits.
so punch1 should always push back by x amount of pixels. punch2 will do the same. and so on.
-
Ok. I have no issues with the copying of codes.
Just a question, how do I get the expression for position relative to screen/window (of application itself, not the frame) ? I want the lifebar to always be at the upper left corner of my window (even if I am in another frame) ?
Edit:
already tried:
set X to X of left visible
set Y to Y of top visible
but those are based on the frames' size. Is it possible to base on application window's size? because my frames have different dimensions.
-
I have a problem with the y aspect.
I can't make it higher to the corner.
When I use:
Set Y to Y top frame-10
OR
Set Y to -10
Result --> it only shows the half of the bar, but the position is still lower than the part where I want it to be
When I use:
Set Y to Y top frame-(any negative number higher than 10)
OR
Set Y to (any negative number higher than 10)
Result --> lifebar is not shown in the window
When I add a positive value to the Y position, it works (making the lifebar go down), but I want to make it go up to upper left corner, so that's the problem)
I tried deleting the event and manually positioning the lifebar at the upper left corner in the frame editor. It also does not appear in the window. So what does this mean?
The x position is working fine.
I can't delete the quick backdrop object (gray color) in my frame. I want to delete it also. How?
Can you try it on the file you have?
-
I closed my MMF2 without saving. I opened it again and tried it again. It worked now.
You can see in my the gray quick backdrop? I can't delete it nor select it to move away from the area of my frame. Why is that?
-
oh. that's a great tool. So I can't unlock the quick backdrop individually?
also, so I have a "lifebar holder" (which is just a picture really, but I used active object)
the active object is the one being set to the top and left frame of the screen.
then, the lifebar itself is positioned relative to the lifebar holder.
I have several questions:
- which options should I pick (options in the relative to another object)?
- when I dash, the lifebar sort of moves too, it's like it's trying to catch up to the speed of the hero dashing, then it returns to normal when I stop dashing. Is there a fix to this? Lifebar moving when I dash looks weird lol
-The lifebar object is "over" the lifebar holder. How to make the lifebar holder "over" the lifebar without usng another layer?
Edit:
see those black backdrop I used to act as floor/walls/ceiling in my file? should I have used active object for them instead of backdrop? I used black color on them because I plan to make them invisible and I will use "subtract" transparency on the black backdrops to make them invisible in-game. Wrong or correct idea? or should've used active ?
-
oh thanks. I fixed them now. thanks for the explanation and tips. I am progressing now in my game.
Can you reply to my edit part of my previous post? about black backdrops...
Edit: Can MMF2 allow 2 or more counters in a single frame? I added another counter bar to serve as my powerbar. No matter how big I resize it, I can't see it in my application window....
also, people can suggest for changes to the program? I would like to suggest an alternative to this "hot spot" aspect.
I prefer the way of aligning sprites in Fighter Factory (program used for programming M.U.G.E.N. characters)
http://oi43.tinypic.com/r0ytr4.jpg
So if you have a circle sprite, just place/align the circle so that the axis is directly at the center of the circle (means hotspot is in center of circle sprite).
Compared to MMF2, for example, that char in the pic, the cut sprites/frames (different sizes) can't be aligned easily. I have to try again and again where to place the hotspot per frame (exact pixel location)
Also, MMF2 can't support importing animated GIF files.
These are just suggestions though. That's one of my previous game languages, although it got boring.
-
Thanks for always helping me.
Well, I tried to find among the properties of backdrop where I can make the backdrop invisible, but there's nothing like (visible at start checkbox), so my workaround for it is to make a solid black backdrop and use subtractive transparency (any other color and transparency will not work). So that's why I was asking if I need to use active, because they have visible at start checkbox.
Is the importing of spritesheets only for sprites of the same size? or can it import for example, some frames are larger than the others in a single animation?
btw PM'd you my file.
-
thanks.
About the moving of the lifebar portrait object, if the actions involving them already at the top, yet it still moves when the hero dashes, what is the fix?
-
oh. I just sent you a PM now with questions about the attacks, without seeing your pm. :\
-
Hmmm, how do I implement your recommendation ? the "defining a pinball movement speed and direction on the goon" ?
-
I have difficulty understanding some parts.
I tried putting a non-zero value to the B variable, then remove the "Never" condition and then on separate occasions, I tried setting speed to B, then tried setting deceleration to B, then setting gravity to B, I don't know how to code it like my intended result.
btw, the "move on start" is still unticked in the file you gave me.
for the stand attack (that has zero B value), the enemy is like bouncing away (small bounces only) after I attack him? is there a way to remove the bouncing? If the B is zero, then the push should be straight horizontal only, right?
I noticed you changed the variable names. what do you mean by A and B? I thought the X (horizontal) and Y (vertical) aspects of the attack were appropriate?
About the attack that hits enemy diagonally, it is supposed to make the enemy go upward in situations where enemy is in ground and in situations where enemy is on air. Actually, the x and y vel idea I had was for pushing/pulling (for x axis) and (upward/downward) for y axis. It's supposed to be a standardized damage system like in fighting games. So the x and y values make attacks have variety of "hit velocity" effect on the enemy.
So for example, an uppercut is supposed to hit enemy upwards regardless if the enemy is on ground or on air. If the enemy is on air, he will still go higher before falling down.
http://www.youtube.com/watch?v=4JIH8SOi16o
This is a video of my inspiration for my game. a beat em up fighting game with missions and mini games, if it will help give you idea
Lastly, I'm very very sorry. You must be mad at me for being so slow. Sorry.
-
I'm still confused about the vertical pushback. How do you test it's working? I tried editing the setting of Y pushback var to non-zero value (in the same attack, since I only have 1 attack coded so far), and the attack has no effect/
-
Yeah, I only have 1 attack so far so I keep editing the Y value to non-zero to test the vertical pushback.
I'm not sure about the canHurt value.....
-
I tried several values for the y variable. When I use something like a 50 or so, the goon doesn't fall down and stays in mid-air
-
Yeah I tried several value combinations for both x and y. I also tried something higher than 50 for the y. Aside from x and y, I changed nothing else though
-