You are currently browsing the Blueflame Development weblog archives for August, 2009.

Archive for August, 2009

Citrus Engine Coming September 28th

Sunday, August 30th, 2009

Excitement is certainly mounting as we near the release of Citrus Engine Beta 2. We think you’ll be happy with all the improvements we’ve made to this version based on feedback from the previous beta.

If you’d like to be notified of when you can get it, sign up here. Those who are on the initial list from the first beta get $50 off the professional license.

Check out what we twatted on the Twitter for the latest development updates, and keep checking back here for continued updates.

Citrus Engine Experiment #1: Jumping

Sunday, August 2nd, 2009

Jumping Experiment

The Jumping Experiment is the first in a series of side-scrolling experiments and micro-games using the Citrus Engine: my Flash side-scrolling game engine.

In this experiment, you can tweak many different aspects of the hero’s jumping ability. My goal is to get feedback on what values you feel like are ideal for optimal balance between control and realism. I realize that I could have also included running speed and skidding friction, but I didn’t want to overload you with sliders. Maybe running will come next.

The Rules of a Good Jump

Good jump programming in Flash games is actually very hard to come by, and it’s one of the things that is automatically programmed into the Citrus Engine, so all the developer has to do is tweak the jump properties to their liking. A good platforming game follows certain rules about jumping:

No kangarooing: Poorly programmed side-scrollers have a common bug that I call “kangarooing”, which makes you continuously jump as long as you’re holding the jump button. It produces a kangaroo-like effect that causes you to immediately jump as soon as you hit the ground. Well programmed games (such as those on consoles) will not allow you to jump repeatedly while holding down the jump button.

Variable jump heights: A well programmed platformer will allow the hero to jump higher while the user is holding down the jump button (to a limit!). A quick press of the jump button will execute a short jump, while holding down the jump button will execute a high jump. Most flash side-scrolling games only allow the hero to jump the same height no matter how long the user presses the jump button. This results in a lack of control.

Smooth landing: When programming with physics engines, developers have a tendency to want to make their hero “bounce” a little bit when they land on a platform because this feature (called restitution) is included in most physics engines. This practice is distracting and makes for poor control. In addition, it is not realistic as we humans don’t bounce after landing a jump. Springiness should be left to springs and bouncy balls (or anything else that actually bounces in real life).

What Do Other Games Do?

When building a platformer, it’s good to do a lot of “research” (that is, playing a lot of video games!) so that you get a feeling for what control style that you’re looking for. Many profesionally-made side-scrollers (such as Mario) have very different physics, and each game is finely tuned to properly match the design of the game. I’ve picked out a few that I felt were worthy of commenting on.

Mario: Mario sets the standard for platforming physics, although I would argue that these games are on the looser, quicker (and tougher) end of the spectrum. Mario jump high and falls fast. He also skids a lot and has two run speeds. To get some physics like mario games, increase the jump height and gravity, and set the floatiness somewhere in the low-middle.

Braid: The first time I jumped in Braid, I felt like I was tethered to the ground. The physics in braid are unique in that you can’t jump very high considering the heavy platforming nature of the game. However, after a few levels, you get used to the small jumps. The designers make up for the short jumps by using ladders, and consequently, they are able to get more layers of height in a single screen without needing to scroll vertically. This works really well for them as the complicated puzzles require the gamer to step back and look at the level as a whole.

Fancy Pants Adventures: I bring this game up because it is the side-scroller with the highest quality on the Flash platform.  The animations are smooth and the controls feel polished. The physics are a bit floatier than that of Mario, and Fancy Pants Man slides and skids a bit more as well. If you’re looking for a good Flash standard for jumping, check this game out.

What other games might you pull inspiration from for their jumping mechanics?