ID:116401
 
Tiny Heroes

My goal for this week is to make some new boss fights and get a new gameplay video posted by Thursday. Since posting the last gameplay video I've added sound and figured out how to record videos with sound. I still haven't found my microphone so I might not have a voiceover, but at least it'll have music and sound effects.


Sidescroller Update v2.7

I've been trying to update the library at least once a month and today is exactly one month since the last update, so I figured I better post an update. Here are the new features:
  • Changed the set_flags() proc to call nearby() instead of oview(2). I forget why it was using oview (I might have had a reason for doing that). This change makes the default movement loop run almost three times faster.
  • Added support for fractional moves. Previously calling pixel_move(1.2, 0) was the same as calling pixel_move(1, 0) because the 1.2 would be rounded down. Now each move is always an integer move but the fractional parts accumulate. If you call pixel_move(1.2, 0) five times the mob moves six pixels - four of the moves are of one pixel, one move is of two pixels.
  • Added _flags.dm which contains the definition of the compile-time flags.
  • Added the LIBRARY_DEBUG flag. The library has the statement "if(trace)" in many of the movement procs. If you're not going to use the trace feature these aren't necessary, so you can comment out the "#define LIBRARY_DEBUG" line in _flags.dm to make the debugging functions no longer part of the compiled library.
  • Added the NO_STEPPED_ON flag. Enabling the flag disables the definition of the atom.stepped_on, stepped_off, and stepping_on procs. If you're not using these procs you can enable this flag to improve performance.
  • Added the FOUR_FLAGS flag which enables the on_left, on_right, and on_ceiling flags. It's enabled by default. Even if this flag isn't included, the on_ground flag is defined because it's used by the gravity, jump, and can_jump procs. Disabling this flag also removes the definitions of the atom's flags_left, flags_right, and flags_bottom vars.
These changes are similar to the ones made to the Pixel Movement library in its last update. Some of the flags are different because the Sidescroller library needs the on_ground var (for the gravity and can_jump procs).


Pixel Movement

I've added a couple of things but it's not significant enough to warrant a whole update. I did add another benchmark (which I mentioned here), so I figure I'll make the code available for it now if anyone is interested: http://www.byond.com/members/Forumaccount/forum?id=457


addicted to sidescrollers

This is an old blog post of mine (if we can call 4 months ago "old"). There was a point that came up after the post, in the comments, that I didn't fully explain and would like to explore more.

A sidescroller is basically the same as a top-down game except the mobs are constantly accelerating downwards. I was asked recently if I thought about combining the Pixel Movement and Sidescroller libraries - I have, because they are very similar. However, I'd want to have different demos for the Sidescroller library because there are things you would do in a sidescroller that you wouldn't do in a top-down game (also the concept behind the stepped_on proc is fundamentally different).

A sidescroller is like a top-down game except there's that one contstraint, you're always accelerating downwards. You might intuitively think that constraining movement in a top-down game is bad, but look what it did for Chess and Checkers. If all pieces could move freely they wouldn't be fun games at all. The whole point of the game is finding ways to use or exploit the movement constraints. The same is true of a sidescroller.

The presence of gravity makes sidescrollers interesting and fun to play. Maybe it's just me, but it's just fun to run and jump from platform to platform. To test or profile the Pixel Movement library I created some benchmark demos that stress the system in different ways. It's a fully automated test - you set some parameters, run it, and see what the CPU usage is. To profile the sidescroller library I don't have any benchmarking demos. Instead, I run the game and run around the map manually. Moving around a map with top-down movement isn't interesting, but adding gravity makes things much more interesting.

Imagine a top-down PvP fighting game with ranged attacks. Because it's a top-down game, players can move in any direction to avoid your attacks. Some games may further limit your attacks to being 4- or 8-directional. A sidescrolling PvP game has gravity. Players can't move freely, there's some predictability to their movement because you know they're accelerating downwards. I'm not saying that every game would be better as a sidescroller, but it allows for some neat gameplay concepts that you might not have in a top-down world.
I'm addicted to sidescrolers too.
Have you played Cave Story?
Just downloaded it a few days ago on the 3DS. One of the best sidescrollers I've ever played, you should try it out if you haven't already. Its my current addiction along with Minecraft.
KetchupKid wrote:
Have you played Cave Story?

I haven't, though I am aware of it. It's one of the top rated downloads on jayisgames.com. I'm afraid of what'll happen if I start playing it =)
Play it.
A feature I'd like to see added to your sidescroller lib is some sort of wall sliding mechanic. If you've played Megaman you know what I'm talking about.
I can guess what you mean but I'm not certain. I guess I haven't played a new enough Mega Man. There's an example of wall-climbing in one of the demos. These effects are pretty easy to do with the on_left and on_right vars.
You must find your microphone.
Forum_account wrote:
I can guess what you mean but I'm not certain. I guess I haven't played a new enough Mega Man. There's an example of wall-climbing in one of the demos. These effects are pretty easy to do with the on_left and on_right vars.

I was actually able to find an example on youtube: http://www.youtube.com/watch?v=Vz0uzE05tkc

I'm surprised someone addicted to side-scrollers doesn't play more Megaman! :p
Hot damn, that's some serious jump skills.
Yeah. He doesn't even need the boot upgrade in X3, haha!
I recently saw a sidescrolling Naruto game that uses Mugen icons and, I presume, doesn't use the sidescroller demo, so I suggested it to them. I think that a game that works like Maple Story would do fairly well on byond, and the sidescroller demo seems to be the way to go.

I love P_M and SS (I also love to initialize), and its a shame we don't see more of it, especially with the recent improvements.
Fugsnarf wrote:
Forum_account wrote:
I can guess what you mean but I'm not certain. I guess I haven't played a new enough Mega Man. There's an example of wall-climbing in one of the demos. These effects are pretty easy to do with the on_left and on_right vars.

I was actually able to find an example on youtube: http://www.youtube.com/watch?v=Vz0uzE05tkc

You can do that very easily. I'm not sure how you'd control it, but here's how you'd create the effect:

mob
// allow for jumping while on walls
can_jump()
return on_ground || on_left || on_right

// jumping makes you also move away from the wall (if you're on one)
jump()
if(on_left)
vel_y = 10
vel_x = 5
else if(on_right)
vel_y = 10
vel_x = -5
else
vel_y = 10

// make you slide down walls by limiting fall_speed
gravity()
fall_speed = (on_left || on_right) ? 3 : 20
..()


I'm surprised someone addicted to side-scrollers doesn't play more Megaman! :p

I'm sure I've played over a dozen different Mega Man games, that just isn't one of them =)
Forum_account wrote:
I'm sure I've played over a dozen different Mega Man games, that just isn't one of them =)

How could you play a dozen Megaman games and skip the best three?
Here's another reason why I like sidescrollers that I just realized today (I don't know why I think about things like this):

Flat terrain is boring and with a top-down perspective things often look flat. Even if you know they're not supposed to be flat, it can still be difficult to pull off the illusion of elevation. Even with nice graphics (like this), it's hard to make images that don't look like flat pictures. If you put a mob standing on the right side of the roof and another mob 32 pixels to its right (so it's on the ground), you'd think they're standing within arms reach and could punch each other. Even though with the 2.5D perspective you know that they don't actually line up horizontally, it just looks like they do.

In a sidescroller you never have to worry about terrain looking flat. The side-view means that you can't have depth but you can represent height. It's still two dimensions, but it just seems more interesting.

SuperAntx wrote:
How could you play a dozen Megaman games and skip the best three?

I started to lose interest around Mega Man 4 or 5. Those last few I played mostly to find out what the bosses were named and what they looked like. Eventually I lost interest in that too (the graphics got too fancy and they made Clown Man). They got my interest back with Mega Man Legends and the Misadventures of Tron Bonne (though I never played Legends 2).
They got my interest back with Mega Man Legends and the Misadventures of Tron Bonne (though I never played Legends 2).

WHAAAAT?!!?


Okay here's the Deal, get yourself ePSXe it's a playstation emulator, and then go get MML2. It's much better than the first or Misadventures. On top of that Megaman LEgends 3 was scheduled to come out next year and capcom cancelled it saying that there wasn't enough fans. If you'd like to help get the game made then you can co Here to find out how to help it get restarted =P

btw, MML3 looks amazing.
Megaman X is a series completely separate from the original NES series. There are slight RPG mechanics in terms of upgradable armor, health, and health tanks. You should definitely give them a shot, you can get the roms in just five minutes and I don't think Capcom will be hurting from the lost sales. Being SNES games, you can probably burn through all three in about a week.

I'm actually surprised to hear you've played Megaman Legends. That was my first Playstation game so I've got nostalgia goggles like a motherfucker for it. The sequel was also really good, but I still liked the overworld/underworld theme of the first Legends game. One could make the claim it's more of a Metroidvania game rather than a standard Megaman game. It's a damn shame what happened...

Never actually played Misadventures.
The "regular" Mega Man games got boring because you just figure out what order to beat the bosses in. Mega Man X seemed promising but it wasn't all that different. In addition to figuring out what order to do the levels in you had to figure out what levels to do over again after getting a certain ability that'd let you access hidden items. It was just twice as much trial and error.

I did play the demo of Mega Man Legends 2, maybe I'll have to get the whole game. I didn't know they were making another, but I don't think I'd have bought a 3DS to play it anyway :-/
The bosses in Megaman X aren't as "rigid" and unforgiving as the ones in the original series, you actually have a fighting chance without abusing their weakness. You don't have to beat them in a very specific order.

As for finding the items, isn't that supposed to be fun? You know, before the days of GameFAQs where poking around in every nook and cranny was what you did while playing a video game.