2012 IGF PIRATE KART!!!

October 16th, 2011

Holy crap we are really gonna pull this off!

Hopefully you’ve already heard: at the last-minute Bento Smile gave everybody the idea of doing a Pirate Kart (a Glorious Trainwrecks-style compilation of many many games!) and submitting it to the IGF!

The launcher is looking pretty simplistic but it does the main things I was worried about it doing (launch games, minimize until they finish, allow sorting and filtering by author name or title)! It could use some testing and not all the games are shoved in yet, but in theory I have a shippable Pirate Kart right now!

I’m kind of worried about my flaky internet and slow upload speeds at the moment, so I am RIGHT NOW packing up sort of a pre-release and getting that in ASAP so that FOR SURE we have a PIRATE KART in the IGF!

But there are a few things I could use a little help with!

  1. Video – I don’t think it is technically required, but the IGF submission form seems to want a link to a video on YouTube associated with the game. I had the idea here: Maybe even better than trying to show a zillion games in one video, would be to have a video of someone actually talking and explaining that this isn’t us just trolling the IGF and that we are being sincere? Maybe explain what a Pirate Kart is and how it is all happening at the last minute? I guess I can’t speak for everyone involved, but I think a chance to take games from this whole other side of Independent Games Development and let them be a part of the IGF and especially being SUPER INCLUSIVE is a wonderful thing.
  2. I’m uploading a version without all the games and some of the 16-bit exes still not converted, and it’ll be a little while, but once it is I could really stand to have a few people grab the current ~380MB version and make sure that the launcher and most of the games are working. If a few of you could reply and let me know I can bug you about testing once, it’s up, I’d appreciate it! If you have the time. Thanks in advance!
  3. The launcher is kind of boring looking! If folks have suggestions and/or some art I should shove into it, that’d be fantastic!
  4. Filling out the form: I’m a little nervous about trying to represent a gazillion contributors who all have their own reasons for including their games, so I want to give others a chance to comment on what should go in there. I don’t want this to be “ExciteMike’s Pirate Kart”.
    1. I think I am going to put GLORIOUS TRAINWRECKS DOT COM as the company name. I don’t know if most of you have even heard of Glorious Trainwrecks, and I really should get the OK from Jeremy Penner before doing so, but it seems right!
    2. Related: I’m not sure how much fun I should let myself have filling out the submission form. Example: it needs an address, so I am tempted to put like “EVERY CITY”.
    3. I need an up-to-200-word description of the Pirate Kart, I’ll start writing something but I am not the most eloquent dude.
    4. I need an up-to-1500-word instructions for the judges. I can write something easy and boring pretty quickly I think.

All help is GREATLY appreciated! And thanks to the zillions of you (I really should count how many and share that number) who sent me so many games (another number I need to figure out and share)!

We are doing things a little half-assed due to it being at the last minute. If we do this again, I’ll try to make sure there is a submission form somewhere that collects some extra data like screenshots, descriptions, tags you can filter on, links to author’s websites, hardware requirements, instructions, and maybe things like whether they were created for an event like a Ludum Dare. For this Kart, all I have consistently for the games is author, title, and the game itself. It is still a way cool thing, though!

Again: Thanks again everyone for your games and especially for making them so easy to just drop in!

<3 <3 <3 <3 <3 !!!!!

Fire!

August 28th, 2011

#screenshotsaturday came around today, and since the game I’m working on looks pretty much exactly the same as last week I felt like making something that looked cool today. So I started something new in Unity!

Unity has some pretty nice particle system stuff built in, but it doesn’t let you make the particles rotate. And I didn’t think I could do a bonfire effect well without that. So I wrote my own particle system! This one lets you tell the particles to rotate and for the various values that can be tweaked, it lets you tweak not just the range of values take but also how they are distributed in that range, which turns out to be really nice for fine-tuning the look of it and lets you make some nice effects that would be pretty complicated to duplicate with the built-in stuff.

Here’s what I wound up with! You really need to see it in motion, though, so click the picture!

Click to see the effect in motion!

Click to see the effect in motion!

UPDATE: Whoops! It turns out Unity’s particle stuff actually does have rotation since version 3.0 nearly a year ago! Somehow I’ve been failing to notice it (and related Google searches were finding out of date info)!

 

Box2D: Not an improvement.

August 11th, 2011

After my last post about collision response woes, I decided that I better try out a “real” physics engine, to make sure that what I thought was a Hard Problem isn’t actually Cake. Box2D is free, open source, widely used, and easy to set up, so Box2D it was!

At first it seemed like it was the answer to my problems after all! With a little wrapper code, it’s easy to keep it from taking object motion over completely so I could keep working with objects the way I like to.

But then I started testing it in some situations my own collision response code has had problems with. It failed the first one. Basically, I line up a bunch of static boxes to make a floor, then I make another box slide across them. Sadly, when using Box2D for collision response, the box hits the sides of the floor boxes where they meet instead of smoothly sliding across the top of them all. The picture below might explain it better.

illustrating what box2d isn't doing right

When an object slides along others, it is catching at the seams between them, even if they are lined up perfectly. :(

It only seems to occur if the object is directly placed in contact with the floor. If physics/motion brings it to that floor (e.g. it falls onto it from a higher floor), then it doesn’t seem to have any more problems sliding across seams like these. That could be worked around in level design, but a few of my current levels need it to work with direct placement, and it would restrict teleporter placement more than I am comfortable with. So there goes my hope of being able to just hook up Box2D and not have to worry about collision response any more.

There’s some other little things disappointing me. Before the switch to Box2d, the player could go through a tunnel that was exactly his height, but now he doesn’t fit. Setting up collision callbacks and filtering doesn’t have the best API, but those are easy to deal with. I also have some places where the object can go through an area, but it has some effect that should prevent it from colliding with objects on the other side of it, for example you fall into some water and since you are now falling slower, you shouldn’t hit the bottom on that same frame like you would have. (my previous system had that last problem, too)

Box2d is open-source I guess. I could try and fix things in my problem cases by adding some extra forgiveness when corners hit corners or something, but at that point I’m not sure there’s any real advantage to using Box2d over fixing up what I had before.

UPDATE:  Erin Catto, the creator of Box2D has talked about this in this forum thread. to sum it up, Box2D isn’t meant to handle cases like this, and it’s likely no future version ever will, but there are workarounds. This seems like a super common case in games to me, so I’m surprised and disappointed, but that dude definitely knows more about physics engines than I do. At any rate, I can think of half a dozen workarounds and I know my old system handled it ok. Now I am just weighing the advantages and disadvantages to sticking with Box2D (which is way more robust and has way more features) and doing workarounds or fixing up some of the issues in my stuff (which is simpler, handles this case, and I’m already super familiar with it).

 

 

Collision Response. Thinking about Box2D.

August 5th, 2011

Collision response. When I look up game physics, the books and articles I find deal with basic “F=ma” type formulas and collision detection. That’s the super easy stuff! What I keep having problems with is what to do to about collisions once they are detected.

Maybe the term should be “intersection prevention” or something. The way I am approaching things is to sweep the object ahead, then look for the earliest hits with that swept shape and record the location and normal. The shape is adjusted for that new start location and a new motion (take the “unused” part of the original motion, then take the component of that orthogonal to the collision normal) and repeat that process until the motion finishes or it seems to have gotten permanently stuck. If I didn’t have to deal with tiny, fast-moving objects colliding with thin walls/floors, there are simpler ways, but for the games I’m doing this seems to be the simplest thing that can possibly work.

Today I arrived at the latest variation of the above after spending a couple days obsessing over some of the edge cases in my collision response code. This happens to me more often than I’d like. Every time it happens, a few problematic cases get handled better, but a couple weeks later a new one will show up. Today, at least I made a testbed for more clearly visualizing what is going on and quickly creating lots of situations to see if/how it breaks. In theory, this should make it easier to catch problems and iterate on the algorithm faster. You can try it out below! (drag the boxes around to change the object’s motion, and try different arrangements of gray boxes to collide against)

(source is available here if that interests you)

So far this seems to work for every case but I still need to transfer it back to the real game before I can be confident. Luckily only one object is moving at a time in the game I am currently working on. Once multiple moving objects can collide, and especially if I need resting contact between two objects that are moving together, then the order you check and resolve things can start to matter a lot.

I suppose I could do the iterative solver approach that a lot of physics libraries do, where you sort of jiggle things away from the things they touch in little increments until they are no longer overlapping (much) or you give up (I’m no expert on this stuff. call me out if this is a bad summary). If I do, I’m guessing it’d be good to use Box2D or similar instead of rolling my own solution. Maybe I should do that anyway, since I keep finding problems with my own collision response code?

I fear that going that route would lead to the sort of inconsistency that plagues a lot of physic-driven games and would be terrible for a game that needs the precision that this one does. Precisely how the game reacts to collisions and what sort of feedback it gives the player about it are things I get pretty picky about as a game designer!

Arcade Cabinet!(?)

April 9th, 2011
NOT THE SAME

Because Pac-Man on your iPhone is just not the same game as Pac-Man at an arcade cabinet!

I have a real fondness for old arcade cabinets. I’m sure it is partly nostalgia, but there’s no doubt that the controller and environment in which you play a game change the experience. Playing the Winnitron at GDC and a Ms. Pac-Man cab last week already had me yearning to have one of my own, and then a couple days ago Anna’s really cool game was released on Adult Swim Thursday. I love it, but it really feels like it belongs in a cab.

THE LAST STARFIGHTER

Confession: I barely remember this movie. I was 2 when it first came out.

So I’ve definitely got arcade cabs on the brain right now, but it’s always been something I thought would be cool and I can’t think of a good reason to wait longer :)

So here are some of the things I’m looking at:

  • These guys make various cabs that actually disassemble to be shippable. Pretty tempted to go with one of theirs instead of DIY-ing it.
  • I found a couple good examples (link1 link2) for bartop/desktop cabs. I’m wondering if that’s a better format due to portability and cost, but I’m also worried that these smaller cabs could slide around as you bang the joystick around so that it wouldn’t have the arcade cab feel I’m after.
  • Getting a used arcade cab on ebay seemed like the smart way to do it, but so far they all seem to be in CA and understandably want you to pick it up yourself. So that ain’t working out.
  • The builders of the Winnitron(s) have a forum set up where they describe how they’ve been doing it.
  • Behemoth has a time-lapse video of them building one for one of the PAXs (link). It’s one of those things that really does not feel like a misuse of the word “awesome”!
MEGACABS

And then they made MORE OF THEM

If I had tools, garage space, and a friend interested in making a weekend(s?) project of it, it’d be fun to play carpenter and build a cab, but I don’t see that happening. Plus it looks like it could easily be easier, faster, and cheaper to buy a cab. So at the moment I am leaning heavily toward getting the X-Arcade Tankstick (which I’d still be drooling over even if I wasn’t getting the cab), the Xtension Arcade Cabinet to go with, and working with somebody who has better art skills to make custom graphics for it.

TANKSTICK

WANT

CAB

WANT

And of course if I had one of these set up I don’t just have to play other retro games or other people’s games, I can put stuff by me and my friends on it! That’s pretty exciting to me! Especially for 2-player games!

So with tax return money burning a whole in my pocket and me looking at all this stuff late at night, purchases are likely to be made :)

GDC 2011

March 6th, 2011

GDC is over! It’s been a blast meeting everybody again and meeting new friends! The game making community is full of the most awesome people I’ve ever met. I’m actually still in San Francisco, but I feel like I should write something up about the various things that have been going through my head this week.

NIDHOGG

Nidhogg is a damn good time. If you watch the trailer, you’ve basically seen everything there is in the game, but despite being relatively simple, it is really really fun. I can’t wait for it to come out so that everyone can see what I’m talking about!

Also: Messhof! Get that thing on the Winnitron!

Games Made by Everyone, for Everyone

It has long been a dream of mine that game development be actually “democratized”. Last year, Wario Ware D.I.Y. really got my hopes up and it is great, but it does not get us there. Tools like Game Maker and Scratch have brought game development to a ton of people, but even they require pretty specialized skills and a prohibitive level of investment for making games.

Compare this to say photography, where nowadays seemingly everyone has a camera, knows how to work it, and knows how to share photos with their friends. Game development has been getting easier to do over time, but it’s still a long way from being something everyone can do.

Actually that was kind of a lie. Everybody makes up little games as a kid, like adding strange rules to tag or stepping only on certain colors of a tiled floor. That stuff should definitely count. I guess I’m just partial to real-time interactive systems with challenges and would like to see that open up to everyone.

Wario Ware D.I.Y. is a step towards this, but of course by being on DS it is limiting itself to people who are already pretty into games. And the sad state of the sharing in it just breaks my heart. Scratch is probably the most successful thing so far in terms of actually reaching people outside of gaming culture, but still pretty much requires some programming skill.

If you have ideas about how to bring game making to the masses then please let me know in the comments or somewhere!

Flash Game Summit

FGS is cheap, and got me meeting up with folks before GDC or IGS even started. A no-brainer for next year.

Kongregate

The people who run Kongregate are very cool. They bought us beer and pizza and they thought Terry’s plane games were funny! I love how Kongregate and Newgrounds allow nearly anything from anyone and still manage to get cool things to rise to the top and have pretty good communities. I’ll definitely be using them in the future.

Winnitron

The Winnitron 1000 is damn good fun. It really shows how the hardware a game is presented in and played with can change the user experience in a cool way. I really should build a Winnitron Orlando!

Anthony Carboni

Anthony Carboni, who I think is most famous for ByteJacker, hosted the IGF awards this year and knocked it out of the park! Kyle Gabler and Erin Robinson are really cool people, but they didn’t put on a very good show last year. The IGF would be crazy not to invite Anthony back next year.

More Like Craptop Amirite

My laptop takes a while to be usable on startup/wakeup and pretty long again when it’s time to shut down/hibernate. I was getting pretty envious of Kayla’s Macbook Air and how she can open it up and be instantly showing off her game and then just close it when done. I need to talk to some of my Apple-fan friends and get myself something like that.

Fuck “Indie”

I’m borrowing from Anna Anthropy’s rant, but it’s something that has been bothering me for a long time, too. All the things that make games and game development awesome apply to both “indie” and non-indie games, and it’s really too bad that we keep drawing the distinction. I recognize that often it’s easier to have this term for the community, people, and games but it’s accidentally making things seem exclusive that are really (or at least should be) a “the more the merrier” type of situation and that sucks. Like yesterday I was at “Indie Disc Golf” but it would have been no less cool if someone from Zynga was there having fun with us, you know? In fact, I think it’d be cool to hear their perspective on things.

Go Indie

More people I know are planning on quitting their day jobs to start making games on their own. I’m super excited for them!

Yes I know I’m saying “Go Indie” right after “Fuck ‘Indie’”. That’s how I roll. Hypocritically.

Not All Sunshine and Rainbows

GDC and the Indie Game Summit in particular can be amazingly positive and make everyone feel great as we collectively pat ourselves on the back. But this year I got to see some of the unpleasantness too both in sessions and in chatting with people individually. Team Meat discussed how stressful and crazy the push to get it out onto XBLA was. Luke Schneider talked about how even though he is making amazing games for XBLIG, the service just isn’t making him enough to support himself and his family. Andy Schatz, who I had thought was pretty successful, had been unable to really keep going with the Venture Africa/Arctic/Dinosauria games. From the sound of things,  he’d be in a really bad place had Indie Fund not helped him out. And a couple of other developers that I talked to directly feel trapped by their past successes and are working on followups they loathe.

It is a bit of a downer, but we’d be doing ourselves a disservice to pay attention only to the good parts of game development, so it is actually very nice to see this side of things.

Aw Come On Be Nice

A number of times I was told that so-and-so is a jerk. Maybe they are right, but I have yet to meet anyone who makes games and think that person is a jerk so I am going to disregard those statements.

I Just Feel Weird About

The guy who won Best Student Game is older than me. Sure he did go back to school, but it still feels like it goes against the spirit of the thing. Not a big deal though.

Hat

Being remembered as The Hat Guy is better than being forgotten.

Ryan Creighton’s Stunt

Ryan gamed the Social Game Developer’s rant in a completely awesome way. Check out his writeup of it.  (If his site is still borked, get it at Gamasutra) It was completely brilliant of him and now I wish I hadn’t skipped that panel.

It also highlights something that I have been thinking about and should write about some time. Game designers seem to often think that they are the ones in charge of the play experience, but that is not the case. The game is at the mercy of the players, not the other way around. There is no “playing it wrong”.

The People

The very best part of GDC is meeting and hanging out with so many great people! I got to spend time with

I apologize because I know I am leaving lots more people out. It was a busy week! I had a fantastic time hanging out you all! See you again next year!

Intellectual Property Wah

January 27th, 2011

Issues with intellectual property have led me to leave a pretty sweet job at EA… and go back. It’s been a bit crazy so I thought I’d explain it somewhere in case anyone is actually interested. I typed quite a bit more than I expected to, so if you don’t care about the details, read just the “What”s been happening” section.

What’s been happening

I left EA Tiburon back in July, after close to five years of working for them. The main reason for doing this was the new hire agreement I had to sign. Essentially it said that if I want to work on anything entertainment or technology related outside of work, I need to inform EA and get approval before I could work on it or share it, and that it would belong to EA. I didn’t feel comfortable giving those things up.

I want to emphasize that I was not at all unhappy with the work, the pay, the people, or that sort of thing. My only real complaint with EA was that I think I should not have to get special approval to make my own things and have them stay mine. In fact, I was really hoping I would be able to come back to EA after a while.

That began six months of making games independently. This was a lot of fun! It wasn’t profitable, I guess, but the money isn’t a problem yet. I prepared for two years with no income, and my expenses have been quite a bit lower than I planned for, so I’m in good shape for quite a while yet.

Then a few weeks ago I got to go back to EA. Here’s where things went a little crazy. I was told by one person that I would come in as a contractor and thus not have the bit about EA owning the stuff I make in my off time, but then when I talked to EA HR, I was told that they way they do things is to hire you part-time for 6 months, then do the contracting part through another company after that. Thinking they knew what they were talking about, I got all excited. I thought I was going to get the of both worlds – getting to work with my friends (and earning money) at EA plus keeping ownership of the stuff I do in my off time!

But

It isn’t working out that way at all.  For one, I was not supposed to get hired by EA directly. It seems my old managers had worked it out that since I had been a regular full-time employee for so long, that temporary stuff was unneeded. So two weeks in, I am getting hired by the contracting company instead.

But

The agreement with them has nearly the same language as the others. Even though I wouldn’t be an EA employee, the language in the agreement makes it clear that anything I do related to the business of EA belongs to them. It says explicitly that it does not matter whether or not it was done on my own time, away from EA. This is actually worse than what I had as an EA employee, because EA has a process for requesting exceptions and amending the agreement to leave you the rights to your creation.

So I asked about this to see if there was any possible alternative which would allow me to own the things I make at home in my off time. It was made clear to me that this is just something they do not do. As an added bonus, now I have to sign that newest agreement very soon or resign.

At this point I would feel like a real jerk resigning immediately. Too many good people at EA have bent over backwards to try and make this work for me to just leave right away. I just finished filling out the paperwork for it and tomorrow I should actually be an employee of PrO. (it’s actually not clear whether I am employed by anyone at the moment!?) I still need to figure out exactly how long I will stay there.

In hindsight, I should have known to distrust something that sounded too good to be true and asked him to verify by actually looking (or better yet, letting me look) at those contractor agreements much earlier.

Getting away with it

Despite the language in the agreements, lots of people have been working on things on the side and even making money off of it, and no one seems interested in actually preventing it or claiming ownership of those projects for EA. A number of people have advised me to just make my things under a pseudonym or pen name.

I appreciate the advice, but a pseudonym doesn’t actually solve anything. I don’t need to be sneaky to get away with it. I can get away with it anyway. For most of my time at EA, I was making and sharing games completely ignoring the new hire agreement. Getting away with it was never the problem.

So what is the problem, then? This is the part where maybe I am just showing how not-really-sane I am: even though those parts of the agreements are effectively meaningless, I can’t seem to make it not matter to me.

What does it actually say

Since I first started working for EA, I’ve had at least four different versions of the new hire agreement. The most recent ones include variations on something like this (this is not quoted directly from any of them):

Any Intellectual Property relating in any way to the actual or anticipated business of the Company or Employee’s work for the Company shall be the property of the Company and any such Intellectual Property shall be promptly disclosed to the Company.

I guess there is some wiggle room there on how strictly you interpret “actual or anticipated business”, but EA is definitely making all kinds of games, so it seems like any game I could possibly make would fall under “relating in any way”. On this point, managers and HR told me that this only mattered if I was making money off of the games, but EA Legal disagreed. I don’t see anything in the documents that mentions selling or profiting from these things, so I think I have to go with EA Legal on this.

This might be more of the same Mike-is-crazy: I am bothered by the what the rule actually says, even though the people it matters to want to interpret it differently.

Approval process

EA does have a process for getting projects approved and agreements amended to allow an employee to keep the intellectual property rights on his outside work. This didn’t exist for most of my time at EA, but when it did come around it made me question whether leaving was necessary at all. It really is a huge improvement and thanks to it I was able to do Klik of the Month Klubs and Mini Ludum Dares without going against the rules.

It seems that option is no longer available to me since I’m contracting through another company. I do not yet know whether they have a similar process, but it seems unlikely, and it’d kind of have to be hairy since I’d be making two companies revisit the agreement for this one annoying contractor who keeps making crappy games.

It’s really late and I should stop typing

It’s still a damn shame. It seems that the people it affects at EA and I are completely fine with me doing indie development and part time EA work, and yet we can’t actually get rid of this stupid part of the agreement.

Gamification is Missing Most of the Points

October 31st, 2010

Games are diverse.  It’s easily my favorite thing about them.  Somehow we use the same word to describe things as different as Poker, Polo, and Left 4 Dead!  With all that variety comes a squillion different things people enjoy in games (not an exhaustive list.  at all.)

  • Overcoming challenges
  • Competing with others
  • Being part of a team
  • Solving puzzles
  • Enjoying the sights and sounds
  • Feeling a sense of progress
  • Exercising a skill and seeing yourself improve
  • Taking chances
  • Exploring
  • Creating things
  • Following a story

Those are cool things that the world could use more of.  If we can bring those things to more people in more ways, then that’s something I can really get behind.  You could call it “gamification”.

I guess gamification is a thing now. To the extent that it means using aspects of game design to improve other parts of life, it’s something that can, should, and unavoidably will happen.  But in its present form it gets under my skin.  Apart from the fact that marketing speak in general gets my bile ducts going, there are a couple of real problems:

  1. It seems to be focusing on indications of progress (points, levels, badges) and not the zillions of other ways that users can interact with a system and with each other.
  2. The goal of lots of gamification and gamification-talk is “motivating consumers to engage”.  Instead of a tool for marketers to manipulate people with, it could be a tool for designers to make experiences worth having.

I’m pretty optimistic that those problems will fade over time, if they aren’t on their way out already.  Adding points and badges is easy to do, and measuring progress does help motivate people, but the world of games has a lot more to offer than that.   Plus, people are pretty manipulable, but not that manipulable; so if you want to out-gamify the competition, you’ll need more than achievements and progress bars filling up.   I hope so anyway.

Super Nerd Bros. 3

October 28th, 2010

Continuing my obsessing over how precisely to handle variable jump height in platformers, I took a look at Super Mario Bros. 3.

This was actually a lot easier to do than Super Meat Boy.  I could capture frames from an emulator without the motion blur issues.  I dumped each frame to a file, made a Python script look at those images and find Mario’s location, then spit out that data ready for pasting into Excel and Maxima.  It did have the problem that, unlike Meat Boy, Mario keeps going up after you let go of the jump button.  That made it tough to tell on which frame you released it, so there’s a bit of guesswork in this.

In all the following graphs:

  • The red line with the dots is the actual measured distance from the ground over time.
  • Blue is a parabola fit to the jump path using least-squares approximation.
  • Light blue is a parabola fitted to just the first part of the jump.
  • Light red is fitted to the part of the jump past the apex.
  • Click to look at them full-size.

Holding the Jump Button

This is what the jump looks like if you hold the button down for the entire length of the jump.  This turned out to not be all that parabolic; Mario spends more time in the ascent of the jump than in the descent.  Somewhere just left of the apex, Mario’s downward acceleration increases.

Tapping the Jump Button

In this one I did as short a tap as I could.  The resulting jump is nice and parabolic.

Releasing the Jump Button Before the Apex

This one gets a little hard to see in the image because they are all pretty close together, but here you can see the early-jump parabola fitting well up until a certain point, which is exactly where the late-jump parabola takes over and fits for the rest of the jump.

What’s Going On

The parabolas matching the beginnings of the high and mid-height jumps are nearly the same, and the parabolas for the ends of the jumps and the entire low jump parabola have nearly the same curve, just translated around.  So it looks like in Mario 3, when you press the jump button you start moving upward affected by one gravity value, and when you let go or hit some time limit it switches to the stronger gravity.

  • This means Mario keeps going up for a bit when you let go, and the earlier in the jump you let go, the further you’ll keep going after it.
  • You have more time on the way up than the way down, which makes for a certain pacing to the jumping, which maybe makes for an interesting moment of anticipation for the descent, which you will have less control over.

What I Learned

Actually it’s probably better if I just present what I found and let you decide what it means.  Mario games are easy enough to find and you’ll understand how this stuff relates to game feel better if you think about it while controlling it yourself.  I just don’t want to make it sound like there is a right way to do it or that one way is better than the others.  Mario, VVVVVV, Mega Man, and Mighty Bomb Jack are wildly different in terms of jump feel, but I love them all.

Super Nerd Boy

October 24th, 2010

For the past couple days I’ve been obsessing over how to handle variable jump height in my platformers.  I’ve been making platformers for a long time, and I don’t think I’ve been getting it very wrong, but I was never satisfied that it was the best it could be.

Super Meat Boy came out just a few days ago and the running and jumping in it feels great.  So what I did is take some video of me jumping in it and measure how Meat Boy moves to see what I could learn.  Yeah that was tedious, but I like having the graph.  I am such a nerd.

The results were a couple of things that I probably should have already known.

click for full size

It turns out that the way I’ve been doing it is very close to the way Super Meat Boy does it.  Parabolas just feel right (and are physically accurate).

I also added a Meat Boy-style option to that jumping controls tester I made yesterday.