Monday 24 January 2011

Advancments in my AS3.0 Game Design

Have been very busy with work the last few months, multiple jobs as well as an MSc course has meant little time for blogging about new projects. The last module in uni was aimed at producing an Object-oriented and data driven game in Flash AS3.0. This was a great project for improving my flash skills, although incredibly demanding for a 5 week project.

I read 2 books by Rex Van Der Spuy (Foundation and Advanced Game Design in Flash) to help me get to grips with OOP game design and I have to highly recommend them. I learnt more in these few weeks than I have learnt in the past year when it comes to subjects like scope and Class inheritance. The books also helped me finally move away from the habit of programming in the timeline.

Although I have submitted the game for marking I intend to carry on it's development mainly as I have always wanted to make an RPG since I played my first Final Fantasy game.

The game so far has a basic exploration engine and Battle system. I haven't gone for a Time based battle system and have instead opted for a more streets of rage style side scrolling beat em up approach. Producing the Artwork has been a slow affair but seeing it come to life makes it worthwile. A few initial screens show the art direction. Looking forward to adding some shops. boss battles etc.


Tuesday 25 May 2010

Conclusion And Speculation On Future Work

I feel the project has provided a great platform for further improving my use of after effects and action Script 3.0. I feel the final draft of the project has materialized quite closely to the original concept but I do feel a need to improve the AS3 garbage collection to improve memory consumption.

The future ideas for the project are what I'm most excited about. At the moment with only one student the classroom feels somewhat limited. The next feature I want to include are other students that turn up in the classroom at different times of day dependent on what time is reading the system clock. Each student could bring new items with them and have their own desk environment with unique tools included. I like this idea due to the application gaining a more organic and constantly changing feel. Further adjustments could be to include different weather and times of day with the tracked footage in the window. I have found information on how to adjust variables on an application dependent on the weather readings from sites like BBC weather.

The platform game is in a very 'alpha' stage at the moment, but I plan for the final rendition to mirror the narrative of the main application, maybe even intertwining at points during the dream segments. One final issue to adress is what mouse funtionality to wake the character back up. Perhaps a function where you shake the mouse vigourously. I have already ciollected green screen footage of the main character waking up so this is something I could continue to work on straight away.

I was hoping to have the character travel further down the dream narrative route but I considered that getting the main structure of the application the most important.

Saturday 22 May 2010

The Move from the Mundane to Spectacle



A lot of the focus of the project thus far has been on creating the 'Mundane' classroom environment. I feel as though the classroom setting could be further improved with the addition of more students (in progress) but overall I feel like the basic structure of this part of the project is finalized so over the past few weeks I have started creating artwork for the 'Spectacle' dream world. When the character falls asleep he is transported to a Dream Theater (American spelling since its a homage to the great prog band!). Here he will be given the choice of having a dream or a nightmare.
The following shots show the levels of the User interface for the classroom setting, This wider shot is the starting position of the application. You can click on the desk and the headphones to reach new segments of the application.

This second shot shows the interface for the main characters desk. At the moment you can use the pens, pencil and rubber to draw on the sketch pad and click the iPhone button to activate the game. The desk graffiti serves as a clue to the hidden functionality of the application and also as the back button to return to screen 1.


Clicking on the headphones will bring you to a close up shot of the main character. Here you can adjust the setting of the music playing in the application. Currently there is play, pause, stop, skip track buttons and dynamic text boxes that update from the XML musiclist file.


When the user triggers the sleep event the clasroom darkens and a spot light illuminates the main character as the POV zooms into his consciousness.




The camera travels through the faux-3D theatre towards the red curtains.





More Specific Conditionals for Entering Sleep

The previous actionScript example would trigger an event if the mouse was not moved for a variable amount of time. This was a good start for the project but I wanted to improve the specific values that would start this process. I couldn't start this segment of code until I had first created the XML music app but now that is finalized I have created an 'if' condition for a more complex event.


function onMouseTimer(e:TimerEvent):void{

if (currentIndex ==3 && musicOn>0){

trace("You have fallen asleep");

}
}



'current Index' refers to the song number in the XML list. In this case 'currentIndex==3' refers to track 4 as index starts on zero. 'musicOn' is a binary on or off value that determines whether or not the song is paused. This stops any action from being triggered if the user happens to stop moving the mouse whilst paused on track 4. I have also included volume control that makes the music louder depending on how close to the music source the user point of view is.


This extra conditional code seemed especially necessary, as through testing I determined a user would always trigger the sleep event accidentally when flicking through the songs on the music player as it did not require much mouse movement. The next step of this process is to select and create fitting tracks for the theme of the project.

Monday 3 May 2010

Some Of the Project Influences

One of the films that has strongly influenced my direction with this project was Richard Linklater's 'Waking Life'. The narrative structure of the film is unusual and perfect for the subject matter. The main character travels from one metaphysical discussion to the next questioning all the while whether he is still awake, or dreaming and trapped in some infinite ongoing moment. I wanted to attempt something similar with an interactive twist. The animation is messy at times but I consider this to enhance the dreamlike atmosphere. Like a dream the wolrd never really settles on one form for very long. I would have loved to emulate that same rotoscoped footage but time constraints will probably make this unlikely.

encouraging lack of action

The progress of the applications narrative requires user interaction and non-interaction. Programming the non-interaction has been interesting due to it being rare to have events triggered this way.

Probably not the most efficient way of doing this little time based event but here is the Action Script 3.0 code thus far.


stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);

var mouseTimer:Timer = new Timer(3000);

mouseTimer.start();

mouseTimer.addEventListener(TimerEvent.TIMER, onMouseTimer);



function onMouseTimer(e:TimerEvent):void{

trace('Go To Sleep');


}


This code triggers 'Go To Sleep' to be traced into the output window in flash every 5 seconds of non-movement. The next step is to get this code to trigger only on specific music based events. I also want to refine the time of the event to be more random. Perhaps triggering somewhere between every 5 to 8 seconds.

Sunday 18 April 2010

A Little Sub Narrative Experiment (A Game Within The Game)



As I haven't found time to film any footage over Easter I have started developing a flash platforming game that I am hoping to incorporate into the classroom scenario (maybe in a portable console on one of the desks) that will have its own small branching narrative inside the main application. So far I have designed a singular main character (I'm calling him Shadow Boy for now) and he has a walk and blink cycle. The game itself has many bugs and physics glitches but it has been a helpful learning tool for improving my ActionScript 3.0 knowledge.




This is the level art I have so far, I will draw in more layers to create a moving parallax illusion. I have used up a large chunk of time on this small segment of the application already and so it will probably feature as a very unfinished feature in the final project.

I realize at this point the whole application concept is a bit vague and perhaps too complicated for the amount of time left but I prefer the idea of a complex multi-layered narrative, and I like pushing myself to create more unusual applications in flash.

Wednesday 24 March 2010

Concept Sketches for Part 1 of project




I had already decided that I would continue with expanding my knowledge of Flash/AS3.0 so with this new project the base functionality would be a flash application of some kind.

The first idea that I had for the mundane element was an exam room scenario. Using Corel Painter I sketched a rough idea of what the interface could possibly look like. My first though was to have one rebellious character, bored of the mundane exam condition, who could serve as the main focus of the application. I began by scribbling down different ideas for interactive elements I could add to this sketch. Perhaps the user could doodle in the sketch book or change tracks on the MP3 player, maybe interact with the other characters.

Although this idea had good room for expansion a problem I could already foresee is that as a stand alone scenario it wouldn't have much scope for a progressive narrative. When I was contemplating how I could incorporate a more common narrative structure whilst also including techniques like tracking, keying etc. I had an idea on how to expand on this idea of the 'spectacle' almost indefinitely.

The new idea is to treat this 'mundane' exam room scenario as the first step of a much more grand interactive narrative. The basic premise is a lack of user interaction in the exam room(possibly combined with a more relaxed song choice on the MP3 player) will trigger the middle character to lose interest and drift into a deep sleep. At this point the user is whisked into the more spectacular dream world, where feasibly anything could go. This is where the structured (but hopefully surreal) narrative could unfold and allow for a range of technical abilities to be displayed.

Adam David