Super Mario Crossover

April 28th, 2010

I spotted this game today. Yeah, I got a huge kick out of it.

Mega Man vs Adobe AIR

January 6th, 2010

I’ve got downloadable versions of Mega Man vs Metroid and Mega Man vs Ghosts ‘n Goblins available here. They require Adobe AIR to be installed in order to work.

I couldn’t test them on OS X, so if anyone can try them and tell me if they work I would be grateful.

If you have any problems please email me or leave a comment. Be sure to include your OS.


Mega Man vs BrokenFunction

December 29th, 2009

The ports of my first two games are complete. I’ve put both games here. If you play them let me know in the comments if you notice any bugs, or if something doesn’t unlock, or even if you just enjoyed them so I can know they’re working for people.

I was paranoid I would go all George Lucas on the game and so I swore to not change things, but I did end up doing that anyway, so I tried to only change stuff that few would notice. This doesn’t cover changes to the engine (of which there are many), except as it relates to gameplay.

NES style enemy regeneration for some enemies. When some enemies go offscreen, they’ll come back in their original position, rather than their last seen position. It was too hard to do this in the original version so I didn’t bother. Most enemies still keep the original behavior because they don’t work well when you change it.

New preloader. I believe I originally had Wily always running from Mega Man (I thought it was funny), than I started adding more robots, then I had everybody running from everybody else. I got a kick out of it, but whenever I see it now it looks tacky. I rationalized reasoned that a preloader isn’t really the game, so I could do as I like. Even though people’s Internet connections are a lot faster these days, the preloader is really there so the game doesn’t start without the user’s expressed input. Also, since it’s unlikely Flash itself will have focus, it’s also a trick to get the user to click on the game and give it focus. The new preloader also serves yet another purpose…

Controller instructions. I’ve always considered the audience for my games to be the type of people who, at the slightest indication of boredom, will vanish. Looking for the controls is soooo booooring. Now they’re in the preloader and you can even fool around a bit while the game is loading.

New weapon. I’ve replaced the unconscionably boring S.Missle weapon you get when you finish Mega Man vs Metroid with a new one. For the sake of surprise I won’t tell you here, but I love it and I hope it gives my games more replay value. I’ve also made the other unlockable weapon more powerful. In other words, neither unlockable weapons suck anymore.

Better collision detection. The old system was a bit sensitive, due to some sacrifices I made for image quality. In the old days a rendering bug gave images this annoying 1 pixel border thing. My solution to the problem was to give each image a transparent 1 pixel border so even if the rendering bug was there, you could not see it because it would only affect the transparent border. Since I used hitTest for collision detection, that meant it was a little easier to get hit than I intended, by 2 pixels. This always bugged me but not many people seemed to notice and I didn’t have any better ideas at the time.

Samus is a little smarter. I noticed some mistakes in Samus’s attack routine where she walks along the ground and shoots you. It’s hard to notice because she usually falls back on a bombing run instead.

Arthur is a little smarter. The way Arthur detected incoming projectiles was a little clunky, so I improved it a bit. I actually went too far and he became the one, so I had to introduce a little chaos to make him less superhuman.

AIR version (WIP). I always wanted to let people download the game, but I couldn’t find an easy/free way to do it. I’m actually stuck on a significant problem, which I’m trying to resolve, so this is still incomplete. When I do get it working you’ll also get…

Fullscreen. Not just bigger too, but the game actually formats to the size of the screen! Widescreen NES. I think it’s pretty cool. This only comes with the future AIR edition, since Flash doesn’t yet allow keyboard input in fullscreen to the degree that the game needs.


Mega Man vs Ghosts 'n Goblins 2.0

December 27th, 2009

So I’ve been pumping everything I know about 2D platformers into this game engine in my free time. Schoolwork and other distractions conspire against me to delay this effort, so I’ve been doing it for a while. I decided to use Mega Man vs Ghosts ‘n Goblin‘s content to make an incomplete game as a way to find bugs and further understand what the engine needed. Naturally this turned into a complete port.

I graduated from college a few weeks ago, and rather than look for a job like I should be doing, I used the time to finish it up. Since 95% of the work that’s been done also works for it’s prequel, I’m already planning on redoing that one too.

Even though I would normally leave well enough alone I’ve really got a soft spots for these two games, and some things about them really bother me. Namely the numerous framerate shenanigans I pulled in the past have made them inexplicably choppy today. That and I hate the unlockable weapons. A lot.

So, here it is. The new and improved Mega Man vs Ghosts ‘n Goblins. Once I finish the other one I’ll try and spread them out across the Internet. If you find any bugs let me know.

EDIT: Play both games here.

I’ve got a PS3 controller, but using it with Ubuntu is a huge hassle, not that it doesn’t work mind you, it’s just that most software doesn’t seem to expect 28 axes and 19 buttons that overlap with each other. I’m even perfectly happy using it with a USB cable but I am scorned nonetheless.

Anyway, while I don’t have a perfect solution, I have a good enough solution for ZSNES. ZSNES normally confuses the axes and buttons when configuring different keys, so the input dialog is basically useless. But, I noticed the start/select/PS buttons all don’t have axes so I guessed that the seemingly arbitrary values ZSNES uses for those specific keys were the only correct ones. So I used select (310 according to zsnes, and button 0) to determine the offset for the buttons.

Basically it means (310 + button #) = zsnes button #. At least on my computer. So I used jstest to get the button numbers and hand-edited my ~/.zsnes/zinput.cfg, ending up with this in the player 1 section:

; Player 1 Input
; Input Device: 0 = Unplugged, 1 = KEYBOARD/GAMEPAD
; Keys for Select, Start, Up, Down, Left, Right, X, A, L, Y, B, R

It works perfectly. Oh, and one last tip. I’m not sure how everyone experiences this, but the controller gives me no input until I press the PS button. This has the strange effect of turning on my PS3 when I unplug the controller later, but whatever.

I read a scientific article on a topic of which I have some experience, namely NES-era Mario Bros physics. It was “Acceleration Due to Gravity: Super Mario Brothers“. I was very disappointed in the quality of this article, as the entire basis of the article was made under more than one incorrect assumption. For shame Adam Lefky and Artem Gindin.

When I created this demo my usual formula for velocity/acceleration used on Mario simply did not work. I had to look carefully at his movements until I realized his acceleration was not constant. After some experimentation I estimated his acceleration downward to be 0.6 in pixels per frame (1 frame = 1000/30 ms) before the peak of his jump, then it dramatically increases to 3 after the peak of his jump. This produces Mario’s hovering jump, which can be hard to notice unless you’re looking for it, but it’s there. This is not taking into account when a player releases the jump button mid-jump, which also changes the acceleration.

Additionally, there is also a maximum velocity in the Mario world, which probably came into play for some of their experiments. Not that they’d notice while wontedly ignoring the scientific method. I am very disappointed in you Adam Lefky and Artem Gindin.

OC ReMix Legitimized

November 28th, 2008

So, maybe you’ve heard of the longest named Street Fighter game ever (but what with there being so many out there, who among us can really know?) known as Super Street Fighter II Turbo HD Remix. I was surprised to learn that OC Remix, who’s artists have repeatedly allowed me to include their music in my games, handled the soundtrack. It’s even free to download. This impressive feat of fan-service demands to be linked to.

Doom Plays Flash

November 28th, 2008

So, before I could blink, somebody at Newgrounds put together a source port of Doom using Alchemy. Ah well, I was too slow. Through various means I’ve obtained the source code to this port. Mike Welsh, the fellow who created is working on properly releasing the source code. its understandable I suppose, he really did throw it together.

Nonetheless under the powers of the GPL I am providing the thrown together version here if you want it. I haven’t personally compiled it, so you can investigate yourself or wait for Mike’s official version. Good job Mike.

I own a PS3, there I said it

October 21st, 2008

So I bought a PS3. How scandalous! I am now a lost soul to some, they shake their heads sadly as they imagine me, PS3 controller in hand, numbly pushing buttons not realizing that the PS3 isn’t even on. I too was convinced the PS3 was to be relegated to a modest 3rd place effort, while the Wii and 360 would rule all.

Let’s get some things straight. The Wii is a failure to the average gamer. Everybody knocks the Gamecube but even in third place, it kept me happy as I purchased over two dozen games for the damn thing, some of which included the greatest games made during the entire generation. The Wii is a far worse example of all the things people complained about during the Gamecube era, the only difference is gamers want the Wii to succeed, and they wanted the Gamecube to fail. Meanwhile, I can tell you for a fact, those motion detectors barely detect motion.

But still, why an extra $150-$50 for a such a shameful choice in this generation’s console wars? Well, it came with a game, plus I don’t have to play for it’s (inferior) Xbox Live, and the thing really is very well refined so the extra cost didn’t really seem like much. It actually has more games I want to play. Many of the better games out there for the 360 also come for the PS3, and I don’t really want to play Microsoft-sponsered FPS #10 when I personally think Call of Duty 4 is all I need for now. Despite that, the real deal breaker is when you consider that I owned a Gamecube, remember? No PS2, or PS1 for that matter. With PS2 games at rock bottom prices used, I’m spending my time with an entire library I skipped over while everybody waits for the Wii to start being whatever it is they want it to be.

Dragon Quest V

August 8th, 2008

So after playing Cave Story and EarthBound, I thought I’d try Dragon Quest V. It was never released in the US for reasons that are most certainly not good enough. The game is fantastic, and rivals non-Chrono Trigger RPGs in every area. I liked EarthBound, but I love this game. I’m probably gonna start playing VI soon.

Dragon Quest V has a great story, it’s a bit limited by its medium, but you’ll still be hard pressed to find a better 8-bit silent protagonist than ol’ purple-head. He’s one of those Link/Crono-like characters who does nothing but silently suffer to help others and is all the more endearing for it. Kinda makes me miss the days before main characters started talking, if they aren’t anti-heros they only come across as annoying. Fortunately, he rarely speaks (and I mean rarely), despite the fact this game is a roughly a history of his life.

The game is oddly western too, it’s strange actually. It lacks a lot of the weird stuff the Japanese tend to put into their RPGs, destroying their own work with irritating mascots/characters and garish design, although there’s still some of that. Nobody’s perfect. Maybe I’ve just played too many Square RPGs.

Dragon Quest V is a fantastic classic SNES RPG. It really is the great game nobody played. They’re apparently remaking it for the DS, but I played the DeJap-translated SNES version.