Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
the holy poopacy
May 16, 2009

hey! check this out
Fun Shoe

Hitlers Gay Secret posted:

Or, you quit the game and make note to never go in that direction. Wall Jumping in Super Metroid still makes no sense to me and that was not a good way to teach a mechanic. Mostly because that has portions of the mechanic that can't be explained by showing (in order to actually wall jump, you need to first press against the wall and then hold the opposite direction and press jump again).

You say it like this is some sort of special trick but it always seemed perfectly intuitive to me :confused: Every step you just described is illustrated by the little gremlin guys and should naturally arise from any attempt to try to imitate them.

Adbot
ADBOT LOVES YOU

GenderSelectScreen
Mar 7, 2010

I DON'T KNOW EITHER DON'T ASK ME
College Slice

Gabriel Pope posted:

You say it like this is some sort of special trick but it always seemed perfectly intuitive to me :confused: Every step you just described is illustrated by the little gremlin guys and should naturally arise from any attempt to try to imitate them.

Not when you're 4 years old, which is when I first played it. :negative: But that's not a major move (in the normal game) so it's not required to be learned and is not required to actually beat the game. It's a neat trick to get extra stuff earlier in the game (aka sequence breaking)

God, Super Metroid is almost 25 years old. I don't think I've played it in the last decade or so.

LaCelestina
Sep 28, 2015

Grimey Drawer
I really enjoyed this third video. Figuring the jumping block and jumping from higher did take me a second, but it's a very fun mechanic, and it's really more of an "oooh, I see" moment than, "oh, the instructions said X". I also liked the enemy bouncing off the blocks and they don't ignore the block's mechanics but are as subject to the block's property as you are.

I see there's about 8 different "tools"? Oooh boy. That will get fun later on trying to decide the best way not to get killed. Keep up the good work.

Choco1980
Feb 22, 2013

I fell in love with a Video Nasty
Played the demo, it's pretty great. I must say I suck at the third powerup we'll see soon. I couldn't beat the second to last level either because of that. Also towards the end I started missing a lot of coins. Nonetheless, it's a great game.

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!
To build undue hype introduce our first STEAM KEY challenge! :siren: :siren: :siren:

Get a Steam Key for playing the demo and recording your run through of the level I just showed off - Spring Meadows! The person who wins the level with the lowest amount of springs placed gets the key! Results will be either this Friday or when someone pulls it off with the least possible - which I know, but ain't tellin'.

---

Unreal_One posted:

How heavily was this bit inspired by Braid, or is it more of a case of drawing from the same reference pools of earlier puzzle platformers?
I have never played Braid or any other puzzle platformer for that matter.

Geemer posted:

On another note: This game looks like it'd be a great candidate for having a level editor where people can make (and share) their own levels. Do you have any plans for such a feature?
In older versions it was actually implemented. I have yet to reimplement it after I refactored the code.
It also had a neat feature where you could copy your levels to the clipboard and paste them. The level in that video would be copied as this:

1 9 144 160 9 80 160 7 224 112 60 112 128 34 112 240 34 128 240 34 144 240 34 160 240 34 176 240 34 192 240 34 208 240 34 224 240 34 176 224 34 192 224 34 208 224 34 224 224 34 224 208 34 208 208 34 192 208 34 176 208 34 160 224 34 144 224 34 128 224 34 112 224 34 96 224 34 80 224 34 64 224 34 96 240 34 80 240 34 64 240 34 48 240 34 32 240 34 16 240 34 0 240 34 0 224 34 16 224 34 32 224 34 48 224 34 48 208 34 32 208 34 16 208 34 0 208 35 240 128 35 224 128 35 208 128 45 16 192 20 144 208 20 80 208

For those of you wanting to check out more old stuff, look at literally the oldest video I have of this game.

Choco1980 posted:

Played the demo, it's pretty great. I must say I suck at the third powerup we'll see soon. I couldn't beat the second to last level either because of that. Also towards the end I started missing a lot of coins. Nonetheless, it's a great game.
I've tried thing after thing to get that powerup to work with everyone, but it's really kind of hit or miss. I think it's just the fact it has a steeper learning curve than the other two so far - as I've designed it I can do it nearly flawlessly, but..

ChaosArgate
Oct 10, 2012

Why does everyone think I'm going to get in trouble?

I did it with 3. :v:

https://youtu.be/bJ3C8QGaPmU

Araxxor
Oct 20, 2012

My disdain for you all knows no bounds.
EDIT: NVM

Araxxor fucked around with this message at 04:48 on Nov 3, 2015

Sally
Jan 9, 2007


Don't post Small Dash!

Looks like you coulda done it in 2 :colbert:

Araxxor
Oct 20, 2012

My disdain for you all knows no bounds.
The timing is real tricky on one jump, but you only need 1 Spring Block to clear the stage.

Video.

Sally
Jan 9, 2007


Don't post Small Dash!

Dr. Fetus posted:

The timing is real tricky on one jump, but you only need 1 Spring Block to clear the stage.

Video.

:eyepop:

ChaosArgate
Oct 10, 2012

Why does everyone think I'm going to get in trouble?

Dr. Fetus posted:

The timing is real tricky on one jump, but you only need 1 Spring Block to clear the stage.

Video.

:golfclap:

Well played, I didn't even think about trying to use a ballum as a launch pad on that side of the gap.

Araxxor
Oct 20, 2012

My disdain for you all knows no bounds.

ChaosArgate posted:

:golfclap:

Well played, I didn't even think about trying to use a ballum as a launch pad on that side of the gap.

Heh, thanks. My thought process was basically just, "do I really need a spring here?" And look for any alternative ways to get across obstacles. That was a fun little puzzle. But I couldn't find a way around the lockblock wall, so I'm sticking with 1 as my answer.

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

Dr. Fetus posted:

The timing is real tricky on one jump, but you only need 1 Spring Block to clear the stage.

Video.

gently caress, that was much faster than I expected. I'm still waiting on the key to get approved!

Gamesfreak13563 fucked around with this message at 05:23 on Nov 3, 2015

berryjon
May 30, 2011

I have an invasion to go to.

Gamesfreak13563 posted:

gently caress, that was much faster than I expected. I'm still waiting on the key to get approved!

Never underestimate the power of Goons when challenged!

Sally
Jan 9, 2007


Don't post Small Dash!
EDIT:

^^^^^^^^^^
fuuuuuuuuuuuuuuuuuuuuck

Gamesfreak13563 posted:

gently caress, that was much faster than I expected. I'm still waiting on the key to get approved!

Never underestimate goons.

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

berryjon posted:

Never underestimate the power of Goons when challenged!

I'll have to make the next one extra devious then!

Choco1980
Feb 22, 2013

I fell in love with a Video Nasty

Gamesfreak13563 posted:

I've tried thing after thing to get that powerup to work with everyone, but it's really kind of hit or miss. I think it's just the fact it has a steeper learning curve than the other two so far - as I've designed it I can do it nearly flawlessly, but..

Oh, I'm not complaining about the mechanics of it, they remind me strongly of Super Meat Boy, in a good way. I'm complaining about my OWN dexterity.


Also dang, I didn't see the contest til this morning. It took me all of two minutes to formulate the same idea Dr. Fetus had of using the enemy to boost your jump up to the higher platform.

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!
== Log 004: Dynamic Jumping ==


Gameplay Video

Level 4, Tall Wall Castle, is the first wholly vertical level of the game and thus perfect to introduce the wall-jumping Gum Block to the mix. The first world keeps it relatively simple, by only focusing on the three block types that we've seen so far - Ghost, Spring, and Gum blocks, so now that we've introduced them, things will step up from here!

• What did you do to make the Gum Block easier to use?
The Gum Block was a challenge to program because it can be precise, so I did everything I could to make it feel more seamless for the player. I started by implementing a wait if you're pushing off from the wall while attached to it. This lets players switch the keys to do the jump more easily. I also slightly reduced gravity for players bounding from the wall, so that they can make tough turns easier. If it worked right, then both of these should be almost transparent to the player, but still make it much easier to perform harder wall jumps.

• How do moving platforms work?
It's difficult to describe it succinctly.

If an object is standing on a moving platform, it has its moving speed modified by the speed of whatever it's standing on. Generally, the moving platforms move first, then the boxes, then the player, then the enemies. If any of them "crash" into something solid, such as a moving platform moving up into the player, we move them later after having moved everyone else, to see if solid objects have since "gotten out of the way". All objects on a moving platform add on the vertical and horizontal speed from the moving platform below it. For boxes this was a huge pain in the rear end because they can be both moving platforms AND moved by moving platforms - same for the player who can be carrying boxes. I've made it impossible to "stack" boxes because of this (a glitch where if two boxes were stacked on top of a moving platform, the moving platform could not go up).

We can actually solve this problem using techniques called memoization and dynamic programming, which I can't believe I just used in a context that was not related to my university homework. To explain it simply: Everybody knows that the famous Fibonacci sequence is. Each number is the sum of the last two in the sequence, and the first two in the sequence are 1 and 1.

code:
1, 1, 2, 3, 5, 8, 13, ...
When we compute this, novice programmers tend to use a simple recursion -- where a function calls itself. For instance:

code:
def FibonacciNum(N):
	if N <= 1:
		return 1
	else:
		return FibonacciNum(N - 1) + FibonacciNum(N - 2)
This is great an all, but look at what the code is doing. The recurrence is T(n) = T(n - 1) + T(n - 2) + O(1), which unrolls to an unholy running time of O(2n). But what if we saved the previous Fibonacci numbers? Then we'd only have to look them up. This is memoization.

code:
numbers = [1, 1]

def FibonacciNum(N):
	if numbers[N] does not exist:
		numbers[N] = FibonacciNum(N - 1) + FibonacciNum(N - 2)
	return numbers[N]
Holy poo poo! Now our run time is O(n), a massive improvement.

How can we apply this to the stack of moving platform objects? We can model each 'stack' of moving-platform-objects as connected components of a graph. For each node we pick at random, we travel down the list of objects until we finally reach a part of the stack that isn't standing on a moving platform. Then, we return the values back up the chain, so that we get the number of 'moving platforms' the node we picked is standing on. We store that number in the objects. We would then put all of those objects into a priority queue and move things on top of the stacks of objects first so that we have less objects crashing into each other.

Perfect!

Gamesfreak13563 fucked around with this message at 17:57 on Nov 3, 2015

Choco1980
Feb 22, 2013

I fell in love with a Video Nasty
Fancy that, there's the mechanic I was just talking about. I'm not going to shame myself and reveal how long it took me to get all the coins in this level. I think the hard part with the gum blocks is that my brain wants to hold the jump button to stick, not the direction towards the wall. That and I'm not nearly as fast/coordinated as you to make gum blocks on the fly as I'm jumping and/or falling.

Again, these aren't knocks against the game, but rather knocks against me.

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

Choco1980 posted:

Fancy that, there's the mechanic I was just talking about. I'm not going to shame myself and reveal how long it took me to get all the coins in this level. I think the hard part with the gum blocks is that my brain wants to hold the jump button to stick, not the direction towards the wall. That and I'm not nearly as fast/coordinated as you to make gum blocks on the fly as I'm jumping and/or falling.

Again, these aren't knocks against the game, but rather knocks against me.

With some practice you can pretty easily get used to it.

Blastinus
Feb 28, 2010

Time to try my luck
:rolldice:
Crap.
I really like that gum blocks let you just stay in place, rather than the usual wall jumping trope of sliding slowly down the wall. Do gum blocks just get used in wall jumping, or can you also use them to stick an object to the floor?

Valgaav
Feb 21, 2012
So other than tedium, is there any reason to not Gum Block every square you can reach once you get the power-up?

Pollyanna
Mar 5, 2005

Milk's on them.


Why GameMaker, specifically? Aside from being a good choice for newbies, what does GameMaker: Studio have over other game development platforms like Unity or LibGDX? How full-featured is the toolchain for it? Does it lock you into specific design architecture, like with rooms? If so, how did you work around those limitations?

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

Blastinus posted:

I really like that gum blocks let you just stay in place, rather than the usual wall jumping trope of sliding slowly down the wall. Do gum blocks just get used in wall jumping, or can you also use them to stick an object to the floor?
No, but now that you mention it...

Valgaav posted:

So other than tedium, is there any reason to not Gum Block every square you can reach once you get the power-up?
It makes it hard to slide in to crevices in the walls. Also it might be disorienting to have everything all orange.
Actually, thanks to this post I started experimenting around with combinations of blocks and I found and fixed an awesome glitch involving the magnet blocks and the gum blocks. (You could still be pushed around by the magnet blocks even if latched onto the gum blocks, but the way the timer for the jump worked meant that you could do stuff like wall jump off thin air) I am almost certainly going to design a level around the fixed concept.

Pollyanna posted:

Why GameMaker, specifically? Aside from being a good choice for newbies, what does GameMaker: Studio have over other game development platforms like Unity or LibGDX? How full-featured is the toolchain for it? Does it lock you into specific design architecture, like with rooms? If so, how did you work around those limitations?
It's got a pretty full featured toolchain - you can even write your own .dlls if you really wanted to. It's got plenty of audio/visual options including custom shaders and you can do lots with it. I'm not pretending that you can't do the same in something like Unity - I guess at the end of the day it all comes down to what you prefer.

Rooms are essentially just places to put objects in. I guess if you wanted to you could program everything in one room, but that's a little ridiculous.

By the way, if you guys have criticisms please tell me them. I will try and work on whatever I can - I want this game to be as close to flawless as possible.

Gamesfreak13563 fucked around with this message at 00:36 on Nov 4, 2015

Araxxor
Oct 20, 2012

My disdain for you all knows no bounds.
I will say that for me, it was kind of tricky to stick to a wall and place gum blocks at the same time. Which is kind of what tripped me up. Though from what I've seen from that video, it seems like the time spent stuck to a wall may be more generous than I thought. So I may have just been panicking/got overwhelmed. :v: I don't have a problem with the actual wall jumping physics . They reminded me of Super Meat Boy, which I played a lot of (and loved.)

Gamesfreak13563 posted:

It makes it hard to slide in to crevices in the walls. Also it might be disorienting to have everything all orange.
Actually, thanks to this post I started experimenting around with combinations of blocks and I found and fixed an awesome glitch involving the magnet blocks and the gum blocks. (You could still be pushed around by the magnet blocks even if latched onto the gum blocks, but the way the timer for the jump worked meant that you could do stuff like wall jump off thin air) I am almost certainly going to design a level around the fixed concept.

Oh that's neat to hear about. How crazy did the game act with that original glitch?

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

Dr. Fetus posted:

Oh that's neat to hear about. How crazy did the game act with that original glitch?

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!
== Log 005: Inheritance ==


Gameplay Video

Welcome to the most dangerous prairie you'll ever see - Blast Prairie! Someone carelessly left out their explosives, and a whole bunch of explosive crates. What a nightmare! Luckily, Boomer is pretty agile, so he'll be fine as long as he doesn't touch the explosions...

• How did you design the explosive crates?
Someone once suggested the idea to me long ago so on a whim I decided to implement them. The obj_bomb is actually inherits a lot from obj_box; that is to say, obj_box is a parent of obj_bomb. What this means it that the bomb objects share a lot in common with the boxes; other events will look at the obj_bomb as well as obj_box if we specify obj_box in a collision function, for instance.

This inheritance property is super useful. It lets me specify, for instance, what objects in the game are solid (par_wall), what objects in the game can be affected by the Phantom Change (par_phantom), what can weigh down switches (par_weight), which instances are enemies (par_enemy), and so on.

Of course we can override certain things with regards to the child object. This, for instance, lets the use key throw the bomb instead of placing it down like it would a box.

As for the explosive crates, they inherit from par_wall because they are solid; they explode when they touch an obj_boom, which is spawned when a bomb explodes and when other explosive crates explode. They then use particle effects to spawn the four pieces of the crate that fly off.

Going on to the level design, I used the new features in two ways: One way as a stationary impedance to the player's forward progression, so that the player would have time to find out a way to get the crates to explode. This includes the first puzzle introducing the mechanic, and the puzzle on the two moving platforms. The second way I used it was as a timed puzzle: trying to get the four coins above the box is an example of this, because if you don't beat the clock, the boxes won't be there to give you the needed footspace to jump to the coins.

The spring puzzle in the second half of the level is misdirection: You can time your jumps over them, but why would you want to?

Gamesfreak13563 fucked around with this message at 17:28 on Nov 4, 2015

SystemLogoff
Feb 19, 2011

End Session?

I don't know if you're thinking about it yet, but you might want a reminder at the start of a level to let the player know what tools they have.

I forgot about the ghost block until I saw you use it.

I also get what you're going for with the spring spike bombs, but the clipping looks a little weird.


Sorry for being nitpicky! This is a fun thread, and I'm enjoying it a lot.

GenderSelectScreen
Mar 7, 2010

I DON'T KNOW EITHER DON'T ASK ME
College Slice
Does the mouse cursor appear in-game? I'm just wondering if it's your recording software that's hiding the mouse.

Choco1980
Feb 22, 2013

I fell in love with a Video Nasty

SystemLogoff posted:

I don't know if you're thinking about it yet, but you might want a reminder at the start of a level to let the player know what tools they have.

I forgot about the ghost block until I saw you use it.

I also get what you're going for with the spring spike bombs, but the clipping looks a little weird.


Sorry for being nitpicky! This is a fun thread, and I'm enjoying it a lot.

He picked it up just before he used it--it was floating above the heads of the ball baddies under the long horizontal crate portion. Powers don't persist between levels. Also, that first use for it I wasn't nearly quick enough to pull off myself. It's hard getting the hang of coordinating speed for both hands independent of each other. Like with the gum blocks, I don't view this as a fault of the game, but of my own coordination. If you don't beat the explosions to getting those four coins, the two on the left become out of reach that life.

SystemLogoff
Feb 19, 2011

End Session?

Ah, I missed that in the video. I'm not sure how. :eng99:

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

SystemLogoff posted:

Sorry for being nitpicky! This is a fun thread, and I'm enjoying it a lot.

It's fine! If I can fix nitpicks it's just additional polish.

Hitlers Gay Secret posted:

Does the mouse cursor appear in-game? I'm just wondering if it's your recording software that's hiding the mouse.

Yes, it was in the first post. I said that afterwards I'd remove it from the video because it looks unsightly and will be replaced in the future with a custom cursor.

Choco1980 posted:

He picked it up just before he used it--it was floating above the heads of the ball baddies under the long horizontal crate portion. Powers don't persist between levels. Also, that first use for it I wasn't nearly quick enough to pull off myself. It's hard getting the hang of coordinating speed for both hands independent of each other. Like with the gum blocks, I don't view this as a fault of the game, but of my own coordination. If you don't beat the explosions to getting those four coins, the two on the left become out of reach that life.

You can always come back to the level once you have better coordination. Stuff like this helps encourage replay value, I think.

Araxxor
Oct 20, 2012

My disdain for you all knows no bounds.
The demo only has 1 world implemented. How many levels would you have to beat in the final release before being able to move onto the next world?

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

Dr. Fetus posted:

The demo only has 1 world implemented. How many levels would you have to beat in the final release before being able to move onto the next world?

I'm not sure yet. I might just do away with the 'world' concept altogether and have all the levels be in one big interconnected graph, with bottlenecks to make sure the player learned what they need to.

Currently I have 12 levels in World 1.

GenderSelectScreen
Mar 7, 2010

I DON'T KNOW EITHER DON'T ASK ME
College Slice

Gamesfreak13563 posted:

Yes, it was in the first post. I said that afterwards I'd remove it from the video because it looks unsightly and will be replaced in the future with a custom cursor.

Welp, now I look like an idiot.

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!
== Log 006: Flying Balls ==


Gameplay Video

Walking on the clouds this time! Tonight's level is called Paraballum Panic, because this is where we first meet the Paraballums - flying Ballums! They can be tricky to deal with, and come in unspiked and spiked versions. This is also the first scrolling level.

• How did you make the level scroll?
Scrolling the level is actually easier than the complex logic that makes up the regular camera. Here, we simply scroll the screen a fixed amount of pixels per step - in this case, 1/2 a pixel - and if we detect that Boomer is caught between the screen and a hard place, we kill him. We can set if the level is scrolling in the obj_game's creation step, as well as its speed of scrolling. The fastest that would be logical to have is ~2 pix/second; this is the speed at which Boomer travels horizontally

The actual camera logic is much harder to explain. I based it off of some of Super Mario's cameras, and sprinkled in a little bit of smoothstep to make it look pretty. Here's the ideas for the main camera:
  • The camera should be as unobtrusive as possible
  • Allow the player to make small adjustments without moving the camera
  • When moving horizontally, center the camera slightly in front of Boomer so that players can see ahead
  • When going vertically, only move the camera when the player comes to a stop, such as sticking to a gum block, or if near the edge of a screen

A good camera should be as unobtrusive as possible, as I stated in the list, so the less people say about the camera, the better. You rarely hear people praising a good camera, don't you?

• How did you make the Paraballums move?
Simply put: it's parametric equations.

Remember all that poo poo you had to go through in high school trigonometry class? Turns out it's really useful for determining how these guys move. We can set the speed of the Paraballums' movement in either dimension by compressing the phase; we can affect how far they move by modifying the equation's magnitude. The Paraballum movement is not just limited to circles; by giving them a different speed in each dimension, we can make V shapes or even waves. By setting one dimension's speed to be 0, we can limit them to the x and y axes.

SystemLogoff
Feb 19, 2011

End Session?

Can you skip the power up and hit the checkpoint so if you die you can't pick up the power up?

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

SystemLogoff posted:

Can you skip the power up and hit the checkpoint so if you die you can't pick up the power up?

The powerups you've collected are saved at each checkpoint. If you die after picking up your first powerup but before hitting a checkpoint, you spawn at the beginning with no powers. If you hit the checkpoint and die, you spawn at the checkpoint with whatever you've collected.

Araxxor
Oct 20, 2012

My disdain for you all knows no bounds.
I think he was asking if you could make the level unwinnable by skipping a power up. And yes, you can. I also found a bug in that you can't be crushed by lockblocks at all in scrolling levels. Probably due to to that piece of code that forces them to deactivate if Boomer gets stuck. (Unless that was intentional, in which I take that back.)

Adbot
ADBOT LOVES YOU

Gamesfreak13563
Jan 28, 2010

Get ready for a SHAQ DOWN!

Dr. Fetus posted:

I think he was asking if you could make the level unwinnable by skipping a power up. And yes, you can. I also found a bug in that you can't be crushed by lockblocks at all in scrolling levels. Probably due to to that piece of code that forces them to deactivate if Boomer gets stuck. (Unless that was intentional, in which I take that back.)

In my build that I have I actually discovered the lockblock glitch and fixed it already. It had to do with the scrolling. Here was the code (I think) before the bug was fixed:

code:
// ...
        view_xview[0] += scrolling;	// Move the camera by the scrolling speed
        view_xview[0] = clamp(view_xview[0], 0, room_width - view_wview[0]);	// Lock the camera to the bounds of the level
        with (obj_player) {
            x = clamp(x, view_xview[0], view_xview[0] + view_wview[0);	// Lock the player to the bounds of the camera
            if (place_meeting(x, y, par_wall) || place_meeting(x, y, obj_box)) {
                kill_player();	// Crush the player if he's stuck in a wall
            }
        }
// ...
Can you see the bug? Neither could I, for a long time. But here's the fix:

code:
x = clamp(x, floor(view_xview[0]), floor(view_xview[0] + view_wview[0]));
Boomer was actually getting pushed at subpixel precision. This meant that his x value could have a decimal point after it, which causes crazy collision problems that I don't quite understand. As a result, the code would assume that Boomer at that x value does not collide with the lockblock, but on the next step the lockblock thinks it collides with Boomer even though they are comparing the same x value. Thus, the lockblock unlocks itself as part of its defined code. A logic error.

As for making it unwinnable, that's a level design error that will be fixed. I'll move the ghost powerup to the other side of the tall stack of blocks and leave a gap on the bottom, so that the player has to do the hard jump to get the coins. Thank you for noticing it.

Gamesfreak13563 fucked around with this message at 05:32 on Nov 6, 2015

  • Locked thread