Dealing with a Mess
When I began the project, I didn't anticipate the amount of behaviours and actors I would have to produce. I was also rather unaware of how to put multiple behaviours into one link, so that all you had to do was attach the one behaviour to an actor. For some Actors I produced 4 or 5 behaviours that could have just been saved as one. I had also not learned, until the end of the project, that you could apply attributes to behaviours that were specific to the scene that behaviour worked in. Had I have known this, I would have saved myself quite some time programming new behaviours and actors.
Here is a screen capture of my behaviours half way through the project:
Here is a screen capture after I decided to tidy them up into folders and sub-folders:
Once I had tidied up a little, I found myself navigating through file to the ones I desired a whole lot faster than before. In hindsight, I would have sought to do this from the start had I'd known how much more efficient it made me.
Collision Areas and Bloody tiles!
The moving platforms I desired play a large part in the game mechanics. They are completely necessary. I chose to have the platforms assigned to special keys that are only be usable once the platform is on-screen. That part of the programming was simple enough - the tricky bit was getting them to work as platforms (or so I thought). I decided to encapsulate the platforms in building block constraints. I decided to make them up of 10 unique surrounding tiles that could be locked onto the 32x32 tiles (so as to make placing easier). These constraints would work to keep the platform in a set path whilst you apply a direction to it with the specially assigned keys. I chose to have the platforms walk, or climb, through their paths in amongst their constraints.
Using a drawing tool program, Inkscape, I employed vector difference tools in order to smartly capture the points of the constraints I wanted. The program allows you to do and awful lot with shapes, and so I was able segregate all the parts I needed that would surround the moving platform.
The above shows how you have use the 'difference' of shapes in order to cancel out what you don't want into white space, leaving you with the unique shape you set out for:
This is the final product - 10 puzzle pieces that allow you to set any length of course for the platform you desire. At the ends of these courses, the platform fits snug with its walls.
However, after achieving all this, I found myself to have WASTED a large amount of TIME. I accidentally stumbled across a specially coded 4-way direction behaviour that is designed to restrict movement to only the ways specified in the attributes...
Stencylworks 2.0 Beta
For a while I had been struggling with writing behaviours in Stencylworks v1.4. It is undoubtedly a intuitive and remarkable step up from raw programming, though I still felt you had to have a knowledge of flash in order to fully understand the rules the block coding followed. Roll on Stencylworks 2.0! In the beta, 2.0, a lot of common tasks were simplified into single blocks and the system as a whole required you to think much less about syntax, and more about the bigger picture.
For example, the 'On Ground' behaviour went from this:
To just this:
Having this simplicity allowed me to not only create some pretty powerful and solid behaviours, but also to tweak existing packs in order to achieve exactly what I wanted.
Finding, Citing and Editing Sound
Getting the right sound for the game is probably my least favourite of the necessary tasks. Although I appreciate that the right sounds will bring the game to life, I actually find the process of locating it rather tedious. You have to sift through a lot of noise to get to the sounds that are just right for your project.
Here are a list of the sites I used to acquire sound:
After finding the sounds I wanted I came across another obstacle. I had to edit the sounds in order to suit their application. Cutting the sounds to length was not an issue, that's a very simple task. The issue was that once I had found the sounds, I needed them all to seem like they fitted the same game. To achieve this notion, I had to play with normalisation, pitch and speed. This is why I chose to use Wavepad.
Wavepad is a fantastic open source program that allows you to alter sounds into exactly the right sound you want, and then save them as you prefer. Up until this point, I was doing well with applying sound to my game. However, I came across another problem.
When exporting my game to either Stencylworks-play or as a flash file my sounds did not play. They play fine when testing the build in Stencylworks, but are corrupt once published to a file or site. This is a problem I am struggling to find the cause for.







No comments:
Post a Comment