Welcome to the next chapter in the on-going Closer Look At game engine series. The Closer Look series is aimed at informing you quickly if a given game engine is a good fit for you or not. It’s a combination of overview, review and getting started tutorial that should give you a quick idea of a game engines strengths and weaknesses. Today we are looking at Clickteam Fusion, a codeless game engine that has been around in one form or another for over 20 years. I have to admit up front, this guide isn’t as in-depth as previous entries as I am rushing a bit to get it out to you. This is because as of publish date (Oct 6/2016) Clickteam Fusion 2.5 is heavily discounted in the Humble Bundle.
As always, there is an HD video version of this guide available here.
About Quickteam Fusion
Quickteam Fusion is a 2D cross platform game engine that takes a codeless approach in a similar vein as Construct2 or Stencyl. First released as Klik and Play in 1995, it was later rebranded The Games Factory, then Multimedia Fusion then finally Clickteam Fusion. Clickteam tools run on Windows, and via various add-ons and modules is capable of targeting Windows, iOS, Android, Flash, HTML5 and Mac OS. Note that several of these modules have an additional price tag from the base package. In terms of pricing, here is the current ( 10/6/2016 ) from Steam.
Please note however that those prices are in Canadian dollars. Also Clickteam is frequently discounted up to 75% or more, so do not ever pay the full price. The free version is mostly full functioning minus extensibility and the ability to generate a game that runs outside of Clickteam itself, along with a few in game resource limitations. The Developer Upgrade removes the requirement to display that the game was authored in Clickstream ( via Splash screen, credits, etc ) as well as adding some more controls inside the engine, most of which aren’t game related.
There are some fairly successful games that have been authored using Clickteam Fusion, the most famous of which is the Five Nights at Freddy’s series. Other games include The Escapists, Freedom Planet and a few dozen more games available on Steam, Google Play or the iOS App Store. So this is a production ready game engine, although only suited for 2D games.
Inside Clickstream Fusion
The strength of Clickteam is certainly the tooling it comes with. All work in Clickstream Studio is done in the editor:
One of the biggest faults against Clickstream has got to be it’s aging UI. While not particularly attractive, it is for the most part effective. On the left hand side you’ve got the Workspace Toolbar, which can be thought of as your scene graph. “Scenes” in Clickstream are somewhat confusingly referred to as Frames. You game is made up on one or more frames, and when you select a frame you see the level editor shown on the right. This is used for placing and interacting the various items that compose your
scene frame. On the bottom left you see the Properties panel, this changes based on what object is currently selected. Also shown here is the editor for Active objects. Actives are very important to CTF as we will see shortly. There are also windows for controlling layers, for selecting built in assets, etc. Windows can be undocked, pinned and move about the interface easily.
The primary editing service can be used to easily create levels or maps via simple drag and drop.
You can also insert new items into the frame:
Then choose from the dozens of built-in object types available:
Perhaps 90% of the time, what you are going to use is an Active object, which is essentially Clickteam’s version of Entity or Sprite.
Double click the newly created Active and you get the active editor:
This tool combines several different tools into one. There is a full paint package in here with fairly advanced tooling. There are tools for doing common tasks like setting the Active’s pivot point and direction of facing, and there are tools here for defining and previewing animations.
In addition to the built in objects, there are several other extensions that can be added using the Extensions manager:
Additionally Clickteam offer a store for additional extensions that are both freely available and for sale:
Confusingly there is no direct integration between the store and Clickteam. Therefore you have to download and manually install extensions and assets purchased this way. The Store’s contents are mostly free and also showcase games created using Clickteam, tutorials, game code and more.
“Coding” in Clickteam
At this point you should have a pretty good idea how you compose the assets of your game to create levels… how do you actually add some logic to it? That is done using these four tools:
Left to right they are the Story Board editor, Frame Editor, Event Editor and Event List Editor.
Story Board Editor
This one is pretty simple. It’s just a top level overview of the Frames that make up your game. Remember your game is ultimately composed of multiple frames, like so:
The Frame Editor is simple the level editor we’ve already taken a look at.
This is where the “coding” happens. Essentially its a top down flow chart/graph of events that happen in your game and what those events happen to. Here for example is the “code” to select a Flying Saucer Active in the game “Saucer Squad”:
On the left hand side are the events (38 and 39, 36 is a group heading and 37 is simply a comment). That first event triggers when the user left clicks on the Saucer object. The right handle side of the screen shows the action that occurs when that happens.
So for the event on Line 38, then the user clicks the left mouse button on Active type Saucer, it plays the sound sample Button_1, among other actions. It’s essentially these events and actions you use to create your game. Let’s create a very simple example… lets create an action that simple plays a sound effect when the frame (scene) is created.
First select Insert->Condition
This will bring up the conditions dialog:
In this case I clicked the Storyboard Controls (the chessboard/horse icon), then chose Start of Frame. The creates a new action that will fire when the frame is started. Now to the right hand side, select the space below the Speaker icon, like so:
Right click and all of the available options will be displayed:
Next the appropriate editor will be shown
Event List Editor
This editor performs the same functionality as the Event Editor, but instead of in a somewhat unwieldy grid view, it represents the events in a much more readable list form:
One last editor of note is the expression editor, for creating much more advanced logical conditions:
Individual entities within the frame can also have their own events, set in the properties panel of the selected item:
Clicking edit will bring you back to the exact same interface we just discussed. Also in the properties panel you can define variables:
These values can then be interacted with in other event controllers.
Community and Documentation
Documentation in Clickteam is decent. Built in there is an integrated CHM based help system, as well as 4 multipart tutorial games to get started. There are also a wealth of tutorials available to download (mostly free) on the Clickteam store. There are also a fair number of Clickteam tutorials on YouTube, although many of them are quite awful. There is an active forum as well as a wiki. All told, for every problem I faced, I found a solution quickly enough online.
So what ultimately do I think of Clickteam Fusion? For the most part it is what it’s advertised to be, a code free 2D game creation kit able to target multiple platform. There is of course a learning curve, but it’s a relatively short one. As a code focused programmer, I don’t find the coding process extremely productive, but I can see how it would be so for a more visual oriented person and especially for a non-coder. Clickteam tools are certainly getting a bit long in the tooth, a lot of the legacy cruft is showing it’s age and the UI could certainly use an update. My biggest hesitation is wondering how well this development system would scale with system complexity. If you’re game isn’t easily broken into scenes or is sprawling in complexity, I can see Clickteam becoming incredibly cumbersome. That said, I think this is a successful all in one development tool that can take you a very far way in a very short period of time even with minimal to no development skill.