DEV Tips: Why Composer Pro compliments my Adventure book concepts.
I think it is time to give the main authoring tool I use some more focus as without it my iPad creation would not be possible without some hardcore programming, which, as I have previously mentioned, is something I no longer want to have to do in order to get the creative ideas out my head and onto an interactive canvas.
Composer, is specifically crafted to author interactive books and provides efficient workflows to do just that. It runs on the iPad so you get an immediate feel for how your creation is taking shape; the same feel that the end user will experience. This is key and has immediate advantages over developing on a desktop and running your app through a simulator.
Authoring an interactive adventure game book is a very reiterative process and some events and interactions can be quite finicky to finesse, so feedback and speed of realisation is an important workflow requirement and Composer Pro satisfies these challenges very well.
In addition, because of the ease and speed of editing and review, I often find that new ideas that always come to light, just by the act of reviewing some new addition of event script or animation, will be incorporated there and then without a second thought because it is so quick and easy to do... no need to make notes about future changes, I just climb into them straight away.
(a work in progress page in editing mode in the Composer Pro workbench)
Composer has a very well designed event behaviour system in place that makes it very easy to script behaviours for objects. These action behaviours allow you to do a whole bunch of actions which are triggered by events, for example:-
'If objectX is Shown' then 'Play AnimationY at normal speed' and 'Stop AnimationZ'
'If thisPage DID Appear' then 'Play this audio track' and 'Fade in ObjectY over 5 seconds'
One trigger can have as many actions assigned to it as you desire, so one touch of an object can set off a myriad of resulting actions.
There are trigger events available for most events you can think of like:
Object Interactions: User touch begins, User Touch Ends, Double-Tap Gesture, Pinch-In Gesture, Pinch-Out Gesture, Swipe-Up/Down/Left/Right Gestures, Object Hidden, Object Shown
Page Events: Page Will Appear, Page Did Appear, Page Will Disappear, Page Did Disappear, Portrait Orientation, Upside-Down Orientation, Left/Right Orientation, Face-Up Orientation, Face-Down Orientation, When Shake Ends.
Actions are split basically into classifications of 'Transform' or 'Function' with an additional one which is a 'Wait for X seconds' which you will use all the time (no pun intended).
'Transform' actions basically cover movement of objects by X,Y co-ordinates over time, changing Opacity of objects over time, changing the width and height of an object over time, changing the rotation of an object over time. These actions can be performed with absolute values or relative values, e.g 'Change X Position to 512' or 'Change X Position By -120'
The movement transforms also have 'easing' properties to assist in the graduation of the movements like: Linear, In/Out Cubic, In/Out Exponential. In/Out Sine, In/Out Elastic, In/Out Bounce, In/Out Back.
'Functions' are many (too many to mention here) but they cover:
Playing and controlling Audio over 16 Channels, muting effects/music/speech
Page Navigation/Linear next and previous to non-linear jumping around with page return tracking,
Animation controls: playing / stopping/ jumping to specific frames / forwards / backwards / speed etc.
Hiding and Showing Objects
Ignoring or Activating touch response on objects
Playing and controlling movies
Suspending/Restoring Physics
(a preview of the work in progress page shown above... you can switch in and out of editing and review at the touch of a button)
Did I just say Physics ??? ... Yes! Composer has a physics engine built in that allows you to define the world gravity for a book and what objects act under the law of physics. You can group objects (max of 8 groups currently) so that you can determine which objects can collide with others and which objects co-exist without collisions.
You can specify object by object whether it is a 'static' or 'dynamic' physics object. You can specify its 'weight' in relation to gravity and other object masses, so you can control which objects push around others and how quickly they will fall. You can specify how slippery or sticky an object is and how bouncy or rigid it is for collision reactions.
Composer Pro has just introduced 'Physics Spring Joints' so you can easily do things like Rag Dolls and suspended objects that are anchored to the canvas but are affected by physics and object collisions and can stretch out of position and return under property control of the object's joints you specify.
So perhaps you can see why I love this authoring product now. There is nothing better on the iPad or Desktop, in my experience (and I have tried most, if not all) for creating sophisticated interactive books and with the action behaviour system and physics I can craft intelligent scripts and behaviours without having to write a line of code which allows me to take interactive books to the next level of Interactive Adventure Game Books... wonderful stuff!













