Taking a Break from Citrus Engine

I am very sad to write this blog post, but I believe that it is something that must be done. I will be taking a break from the Citrus Engine. This includes bug fixing, free technical support, and feature implementations. Paying customers will still be supported as-needed to make sure their projects are successful, and the engine is still available for free. Also, the forums are open although I will only be monitoring them to keep spam off.

There are a lot of reasons why I feel like this is the right thing to do, but the primary reason is that I have had a full-time job as a game programmer at Sony, and the Citrus Engine project is simply to large and too unending to be maintained during nights and weekends. As the user-base grows, it only needs more support and more attention. This project often competes with my family and my God for my attention, and it shouldn’t be that way.

I still love flash game development, and I’m not going to delete the Citrus Engine from my hard drive. I will simply be shelving it until I am able to focus on my own work full-time. I think this will make my job at Sony more enjoyable, and my time with family and friends more peaceful.

I don’t want to ramble on too long and make it appear like I think that there are more people care about this than there really are. After all, Flash platform game engines are booming, and while I may have the best demo (IMO), other engines like Flixel are being worked on at a much faster pace.

Thanks for joining me on the ride!

1 Comments Continue Reading »

Fixed Right-Click Bug in Level Architect

Edit: You must upgrade to at least version 1.5 of the Adobe AIR runtime before the Level Architect will work.

I got tons of traffic today from various sources, and probably tons of downloads of the Citrus Engine (we’ll know in the morning). I had a big bad bug in the Level Architect that kept right-click from working for people. Not having right-click is a show stopper, so I fixed it this evening. You can download the new version here. It’s also in the newest version of the Citrus Engine package.

In case you’re wondering, there was an issue with the AIR 1.1 SDK. As soon as I upgraded to the latest SDK version, everything worked perfectly. I wish I would have done that a couple of hours ago.

Speaking of bugs, if you ever find one, please let me know.

2 Comments Continue Reading »

Citrus Engine Free For Learning!

Free NOw

After much thought I have decided to offer the Citrus Engine for free to educational users. I receive many emails from students and educators who ask if they can use the Citrus Engine for their school project or to teach their class about game programming. At the previous price point, it just wasn’t possible to make this happen for many of them. I have decided to open up the Citrus Engine to those who are learning or teaching.

For anyone who is looking to make a pretty penny from their game, I have cut the Citrus Engine’s price in half. I believe that I will be able to reach many more people this way, which will help improve the engine, increase our bottom line, and make everyone happier overall. Please enjoy, and remember to sign up at the forum.

2 Comments Continue Reading »

Good Questions!

I recently received some great questions about the Citrus Engine, and instead of responding privately, I thought other people might be interested in these answers as well. Here we go:

Q: How big can I make my level?

A: There is no limit to the size of a level, but just like any engine, the developer will want to run tests to make sure that loading, memory, and processor performance meets their minimum requirements. Personally, I have not made any unbelievably large levels, but I have seen other clients make levels as big or bigger than a typical mario level with no performance issues.

There are several ways that the Citrus Engine can handle large levels. Which way that you choose depends on your unique situation.

  1. Split large levels into sub-levels. Allow your hero to leave a screen and enter again in a new screen. An example of this is in Mario games when Mario goes down a pipe. You can pre-load your next screen while the player is going through the current one. Usually the next screen will be completely loaded by the time they get to it.
  2. If you want your level to be continuous, you can strategically design your levels to create “points of no return” so that occasionally you can stream-out (unload from memory) a part of the level that you know the player will not return to (at least not in this life). Then you can start preloading parts of the level that are further away from the player. Again, the streamed-in section of the level will probably be fully loaded by the time the player gets to it. These two methods can be used to keep memory and collision processing low.
  3. Push the limits of the engine (reasonably) to see how big you can safely make your level without killing slower computers.

Q: Can you animate with “sprite sheets” and/or MovieClips?

A: The Citrus Engine doesn’t natively support typical sprite sheets, but this is not normally a problem. The Citrus Engine follows an animation interface that is extremely flexible, allowing designers and developers to implement their own custom animation systems if they need to. The Citrus Engine, but default, uses the gotoAndPlay() method of MovieClips to transition between animations. This is very flexible and meets the vast majority of needs. You can find a tutorial on how to do this here.

Q: Is there a limited number of frames or animations that a game object can have?

No, just be respectful of load times if your game is being deployed on the internet.

 

0 Comments Continue Reading »

DoCrew Uses the Citrus Engine

DoCrew Screenshot

The DoCrew is a new website that does some amazing things to mix webcam technology with Flash games. The site introduces brand new interface technologies that allow people to play games just by waving their hands around, right from the browser! I am proud to say that many of the DoCrew games are powered by the Citrus Engine.

The site is geared toward parents with young children, but even if you don’t have a mini-me I still recommend playing through the minigames so that you can see some of the great interface advances that these guys have made. It makes me excited for the future.

0 Comments Continue Reading »

Hamutzim Goes With Citrus Engine

Hamutzim Screen

The Israeli agency Hamutzim recently developed a game using the Citrus Engine. If you don’t speak Hebrew then you won’t understand the website, but you don’t need to read to notice how gorgeous their graphics are, and how solid the gameplay is. Hamutzim did a wonderful job extending the pre-made Citrus Engine game objects to create their own objects, and they balanced the levels wonderfully. An overall huge success.

0 Comments Continue Reading »

Tweet About Citrus Engine, Win a Free Copy

Tweet Deal

I’d like to announce the Citrus Engine “Tweet Deal”! If you are thinking about making the plunge to buy the Citrus Engine, you can snag a free copy of the Citrus Engine or save yourself literally HUNDREDS of dollars just by tweeting a little ditty about the Citrus Engine. How does it work?

Just tweet this message or one similar to it. On April 15th 2010, we’ll randomly pick one lucky sonofabitch to receive a free commercial version of the Citrus Engine.

But there’s more! Even if you don’t win, you can still save a ton of money. After you make the purchase, just let us know your twitter username. After we’ve verified your tweet, we’ll refund you $0.25 per follower (USD)*. If you end up being the lucky winner, we’re refund your entire purchase. Couldn’t hurt, eh?

Just so you know, the deal ends April 15th 2010. Oh, and if you’re not buying the engine, feel free to give us a tweet anyway! You never know, you might win.

* Maximum discount is 50%.

1 Comments Continue Reading »

Like the new site? Here’s who made it

If you like the new Citrus Engine site design, you can join me in thanking Travis Clancy for such great work. He built it on the freshest version of Expression Engine, which I have already learned to love. It feels great to be in the 21st century, pulling in Twitter feeds and updating content via WYSIWYG. I’ve worked with Travis before, and I’d do it again.

0 Comments Continue Reading »

Fresh Website, Fresh Demo

Demo Screenshot

The Citrus Engine has come a long way since I started it over two years ago. Lots of great clients have used it such as the Australian Broadcasting Company, Studiocom, and Yoplait, with tons more coming down the pipe. As the product matures, I decided that it was time to mature its website as well.
The new site features a gorgeous new demo with art from my good friend Jerry Shamblin. The detail and imagination that he puts into his characters and backgrounds is breathtaking. I’m hoping we’ll see more from him in the future.

A new demo isn’t the only thing that’s brand new about the website, though. The Citrus Engine now has its own dedicated blog, and a more descriptive purchase page with *gasp* fixed prices displayed right in front of you. You can also purchase and download the Citrus Engine at anytime, without even contacting me. Additionally, I’ve added an official new “educational” package for students, teachers, and hobbyists to get in on the action too. If you’ve been waiting for your chance to grab the engine for cheap, check out the Purchase page and see if the educational package suits your needs.

Make sure and subscribe to the blog as I’ll be updating soon with a couple of deals and some updates to the engine itself. Lots of great stuff on the way!

6 Comments Continue Reading »

Citrus Engine R&D: Unique Sidekick Character

Here’s a sidekick character that I am playing around with. He would be some sort of character that follows you around. You can then toggle control over to him and position him strategically so that you can jump on him.

Check out the youtube video for some initial ideas about how the sidekick might be useful in-game. He’s very fun to control, and the swapping between the hero and sidekick quickly becomes very natural and fun.

Let me know if you have seen other implementation of something similar in other games.

0 Comments Continue Reading »

Travis’ Terror

Travis' Terror Screen Shot

Ever wonder what happens to your toys while you’re asleep?  Well in Travis’ Terror, developed by the Vancouver Film School on the Citrus Engine, Travis’ toys turn into his worst nightmare.  As Travis makes his way through the levels during the day, all is well.  He collects candy, soccer balls, video game controllers, all the things that hold back the the dreaded night.  Once it comes, Travis’ toy T-Rex turns into a real blood-thirsty dinosaur.  His toy robot comes to life and attacks him, while his pet bird tries to slip him up by dropping eggs in his path.

Travis’ Terror has great game play, easy to use controls and great graphics.  There are several fun features, including a cape you can collect which will help you jump extra high, and a flashlight to guide you through the night.  Thanks Vancouver Film School, for another great game built on the Citrus Engine!

0 Comments Continue Reading »

Play Citrus Engine Experiments 3 & 4

CE Experiments 3 and 4

This is the first multi-level demo that I’ve shown with the Citrus Engine. I’m very excited for you guys to see how easy that it is to load and switch between levels.

Since this is a multi-level demo, I’ve combined experiments three and four into it. Experiment three plays around with the idea of a “crank” object manipulating multiple world objects. By twisting the crank, the hero can expell Juulberries (coins) and Beduls (Goombas). The crank also opens the door to the right. Notice how the crank slowly spins backwards when the hero isn’t spinning it, thus slowly closing the door. This is done to create a sense of tention between the player’s decision to continue turning the crank, or to kill the Bedul and pick up the Juulberries. As always, let me know what you think of the level of difficulty. What did you like about it? What can be improved?

The fourth experiment I’ve called “Rising Totems”. I implemented the same rising platform that I presented in the Jumping Experiment, but now they are used strategically to create a puzzle situation. I’ve had some testers figure this level out very quickly, while some never figured it out. How did you do? Was it easy to figure out, or too difficult?

With the Citrus Engine being released in just a few weeks, I am hard at work getting everything ready. There is tons to be done, such as documentation, tutorials, API tweaking, marketing, and demos. It’s all coming along very smoothly, and I am very excited about the Citrus Engine’s potential. If you’d like to use the Citrus Engine in your own game, check out the new download page for pricing and feature comparison.

I hope you liked these experiments. Just so you know, Twitter followers saw it first.

0 Comments Continue Reading »

Citrus Engine Experiment #2: Trusty Platform

CE Experiment 2

As I post side-scrolling experiments now and then, I’ll be putting up some strange things that hopefully you haven’t seen before. Some of them may work well (hopefully) and some of them may not. Feel free to tell me what you think of them and how they can be improved! I might just make your recommended adjustment since these are…experiments!

This experiment, which I am calling “Trusty Platform”, is part of an overall idea I had where platforms would respond to the hero’s actions. The Trusty Platform moves itself below you at the last second to catch you. If you run off of it though, it won’t be able to catch you in time. Check it out, see if you can cross the chasm, then let me know what you think.

If you have an idea, let me know and maybe I’ll do it! Or, go grab the Citrus Engine when it comes out on September 28th, and see what you can come up with!

0 Comments Continue Reading »

Prehistotubes

Prehistotubes

Take trip back to the ice age in Prehistotubes, a new game by Thibaut Duverneix built on the Citrus Engine. Your fellow cavemen have been frozen in the ice. Luckily, you have fire! Your mission is to melt the ice and free as many of your comrades as you can in a minute. You’ll have to dodge Caribou as they try to foil your mission with their antlers.

Take a minute, literally, and try your skill at Prehistotubes, then do it again, beat your time, and pass it on to a friend!

0 Comments Continue Reading »

The Jacobee Code

Jacobee Code Screen Shot

The Jacobee Code is a visually stunning children’s game built on top of the Citrus Engine by Studiocom. It has fantastically rendered backgrounds, a great educational plot line and and easy to use community features that connect users with other kids playing the game.

Once you create your custom avatar, you begin an epic journey through the Jacobee’s mansion to solve puzzles, collect glyphs and learn a little history while you’re at it.  You are joined by three friends, Dooley, Abbey, and a fun-to-fly-with eagle named Baldy.  My favorite part (besides the graphics) is looking for the hidden glyphs in each quest.  The farther you get into the game and the more glyphs you collect the more connected you become to the community of users

Fun, educational for kids, and easy to use, the Jacobee Code is a fantastic addition to Citrus Engine’s Repertoire.

0 Comments Continue Reading »

Citrus Engine Experiment #1: Jumping

CE Experiment 1: Jumping

The Jumping Experiment is the first in a series of side-scrolling experiments and micro-games using the Citrus 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?

0 Comments Continue Reading »

ABC Launches Game Using Citrus Engine

ABC Screenshot

The Australian Broadcasting Corporation has completed a fun game using the Citrus Engine at Lawrence Leung’s Choose Your Own Adventure site. There is a lot of content on the site, so in order to see the Citrus Engine game, click on “Find Love” and then click “Love is a game”. It’s a fun, quick playthough, so give it a try!

Glen McNab, the game’s developer said: “The CITRUS engine was a delight to use. It provided everything we needed to create and skin our platform game exactly the way we wanted it. Creating new levels was a breeze with the level editor and the API was intuitive and easy to extend.”

The Citrus Engine is currently closed to beta testers until beta 2. It will re-open in the future, even bigger and better. Subscribe to the blog to find out when you can download it!,

0 Comments Continue Reading »