Sunday, 31 July 2011

Yu wears my shirt 2

EDIT: Now with added scarf! Will do a texture jpeg soon.

Struggling with the scarf design a bit but I was thinking a dark red tartan patterned scarf which could be masked in photoshop and stuff.  Overall I think I've nailed the colours for him though! Cheers Mike for your suggestions, they seemed to work well!

Looking at Interfaces

So here's the first reference I wanted to look at. Obviously from Phoenix wright. To use an item you select it on the bottom screen and press present. Simple enough. You also get the description of it at the same time. Given we wont have the luxury of duel screens (though we could just dedicate the bottom half to items if we really wanted) I reckon this would be a little overkill which might make you wonder why I even bothered showing it. Moving on.
So in hotel dusk featuring THE MAN Kyle Hyde you have a separate screen for the items. When you want to use an item you select it and then you go back to the normal screen and your mouse cursor is that item and to use it you click on the screen (at least I THINK that's how it worked). Quite like that system, simple, it works.
So here I'm looking at the monkey island special edition as the original monkey island's system was pretty dense and a bit clunky by todays standards but it works. Thinking about it though the special edition really isn't all that different. You call up the menu and select either the use or look item, your cursor icon changes and then where ever you click you'll get a description of that thing or you'll use the item. I think again its a bit ott. But I wont hold it against monkey island special edition as it had to stay true to the original.

Just because I like to shoehorn discussion of this game into anywhere I can. At least thank me for not looking at the metal gear solid system but I figured that would be a pointless thing to look at given its a 3d game, and has nothing to do with what we're doing here. Anyway good old policenauts! So in this game you can click anywhere on the screen, if you click on something you can interact with a small menu (which here is in Japanese) will pop up with a list of ways you can interact with that object. Given its a game by Hideo Kojima pretty much everything you click on has a description and each description can be essays in length. To talk to people you just click on them, and even by clicking on different areas and selecting 'look' or 'use' you can get different results.

I was going to then look at Kojimas other point and click game snatcher until I realised its not actually a point or click as you never point or click. Its all menu based so when you select look a list of the items in the room appears. And I'm pretty sure we're not gonna go for anything like that so it seems a bit pointless to go into here.

Anyway, I'm a bit tired so not sure what conclusion to come to on what system works best, but I made this post to see what ya'll think.

Yu wears my shirt

First and fail attempt and colour testing.  Will change the sketch so that the scarf crosses over Yu's chest. Somehow not feeling this design lol. Also applied some cross hatching filters to the colour later. Quite a nice effect.  Aiming for the sketchy/messy look like in Hotel Dusk but it needs work lol.

Sketch & Storyboard dump

Beware, mini sketch and storyboard dump o_o;

Some more Yu sketches, haven't quite decided whether he should have a light colour jacket or a darker colour one.  Will do a colour test once I start animating the storyboards.  On the other hand, I enjoyed drawing Yu and Kemi together, that was fun lol. OH and I've decided 

Minus the random Kenny drawing, some storyboarding ideas.  The opening blogologue begins with Yu looking out the train window.  Although his face is still obscured from the players view ... planning on having small animation touches such as those moving hazy reflections you get when you ride a train.

I drew this a bit big, but the next scene shows Yu typing on his laptop and the sunset rays hitting the keys over the desk.  I visualised it to have a big bright/dark contrast with small animations like the on button/screen glowing.

The next scene transitions to one of those minimal art flash backs cos I'm lazy - though I'll change the teddy bear to be on it's side lying in a puddle of questionable red liquid.  Will also overlay some hospital sound fx like the chest pedals, life line signals and some other stuff.  The life line signal die over time.  Cheesy I know.

The scene transitions to the distraught mother being surrounded by Yu's team, again with the creepy minimal type flashback.  I planned to make them appear like weird hazy shadows surrounding the mother.

LOOK MA! I CAN DRAW HANDS  The scene ends with the mother turning slowly to Yu once he tries to apologise.  I had the idea that she would be at the window with sun setting again (wth is up with me and sunsets lol) so it can look really red and bloody.  Also the mother will be like a silhouette, making her eye more prominent through her dishevelled hair until it suddenly cuts as the laptop batteries die.

Also I can't seem to stop drawing Yu's hair longer than intended, please forgive me D:

Saturday, 30 July 2011

Introducing the wasabi engine

Woo! So here's the first prototype of the game engine. I'm pretty pleased with this actually. So as you may notice this is just a recreation of the opening scene from Jades last game. It's a fairly limited demo in that you can only pick up one item and then once you've done that that's about it. It may not look like much put I like how efficient this is. For example the button for the inventory screen I only created once, that's automatically added to every scene (except for of course the inventory scene were a bit of code prevents it from appearing). Also each scene is designated a number, so that when you press the go back button on the inventory screen it will go back to the last number created, so its easy to create lots of scenes and not having to change the code for the button. Changing the code for clickable areas is real quick as well. Unfortunately its not as quick or as streamlined as I was hoping to make it. I was using a different system for the click able areas before, as time went on I began to realise this was going to be time consuming to set up, but I figured at least once its set up that's it. But then I realised it would take a REALLY long time to set up and probably wasn't worth it as its kinda inflexible too and I was pretty sure some conflicts would arise later in development. So I learnt a valuable lesson that sometimes the simplest solution is often the best, so I basically used the same system as TKON for that (I realised why I didn't use that originally as flixel hates it, you'd think it would be really easy to implement but flixel was being a pain and just refused to let them work) But it works now, and the code can get a bit long winded at times as there are certain things you have to repeat but I think I've managed to cut it down as much as I possibly can. Good news is is that once you've set up the clickable areas for each scene its done, and you can change the actions of them and how they interact with ease.

Oh yeh I was working on two prototypes, one made using the flixel library and another made using   just as3. The as3 one has decided to stop working, for whatever reason. I'll try and get it working but I don't like it as much, the code gets very long winded. With the flixel version for the most part if you want to change what something does you only need to do this in one place. In the as3 version you could have to end up re-doing it in several places. Also the code is a bit all over the place in as3 so its harder to keep track of. Also I've called it the wasabi engine.

  • Can load external SWF files for the cut scenes, so you make them in a separate file, export them and load them into this so no need for it to be on the timeline. (It's a bit buggy at the mo but I've got time to fix those.
  • Multiple dialog when you click on something more then once. In the demo this is only seen when you click on the main characters reflection more then once. (I'm sure this basic technique can go on to be used in creating dialog trees
  • Scrolling dialog, nuff said. Again can be a bit glitchy but only if you do something carazzy with it.
  • Does all the stuff you'd expect it to do.
  • It works! .. sort of
Features to add
  • Interaction with items. So far you can click on the item to read a description but you want more with this. So I will add a look/use function.
  • Support for all the other stuff that needs to be added like the code for each puzzle but we'll have to do that as we go along.
  • Save feature.
  • Better graphics for the buttons and stuff and a proper interface
 Known Bugs
  • Sometimes the music from the opening cut scene will start playing again. Not sure why this is.

Friday, 29 July 2011

Title Font ideas


Day2 Script is complete!

HungyWhispers-script2.2 via mediafire!

I hope people are actually enjoying reading my ramblings as a script writer because it's actually really hard -_-;; Anyway, I hope this shows a little more about Yu's personality.  I tried to make it semi-realistic in how a guy like Yu would react in a situation like this.  Puzzle bits will need to be discussed with Mike as I haven't heard from him in a while and I know I'm emulating DS inspired interfaces because that's where most of the VN games are (PW and Hotel Dusk XD).  The only bits that I'll most likely change is Yu's ending blogologue - if anyone wants to help chip in for that please go ahead.  I visualise Yu's blogologues in a cinematic way so if anyone wants to help me storyboard it's a-ok with me.

Day2's script is again in a pdf format and a whopping 18 pages! :O

Now I'm going to crack on with the opening intro :3

ps almost forgot, please let me know of any grammatical mistakes - writing goes out the window especially when writing 1-7am!!! Any script/wording ideas or weird sentences that don't make sense please let me know.

Thursday, 28 July 2011

Update & Moar chara sketches

Posted on behalf of Michelle because Blogger is being a bit of a douche!

Also, some introductions for characters for the train scenes. Sorry if they've suddenly sprung up as I was working  on day2's script and their characters kinda just evolved from that in the process.

Bartender: Works in the 1st class food carriage at the bar. Friendly and approachable
Mother & sniffy kid: Mother is a bit spacey and the kid is a bit sniffy/has some illness in which he coughs every now and then.  Their backstory is that the rich husband is moving abroad and wants them to come hence they didn't have much choice to travel. Yu befriends them during day2's events in which you'll see how.
Frustrated Phone Guy: Business worker who's trying to salvage a company deal and trying to get back to his office as fast as he can.  Rude to Yu but softens after the incident
Old Man: At first glance he seems like a normal old guy drinking tea but it's slowly revealed that his son recently passed and that the tea was actually wine.  He goes crazy after a while and is very suspicious.

Day2 general plot:
- Yu isn't feeling good and gets a phone call from Kemi
- Kemi suggests to get fresh air and water in which Yu complies.  They also agree to meet up later that evening.
- Yu comments that the seating area of carriage 6 is practically empty apart from the above characters and wonders whether it's because it's not dinner time or something else.
- Yu then talks to the other characters
- Bartender: gets water
- Mother & Child (Mrs. Lee and Kenny): Kenny initiates the conversation by asking Yu to draw him an elephant. Following this conversation, Yu builds a good relationship with the mother and especially Kenny.  I've done it so that when Kenny asks you whether Yu can be his big brother too (after hearing about Kemi) players can choose Y/N XD
- Frustrated Phone Guy: Keeps telling Yu to buzz off as he's blocking the phone signal
- Old Man looks like he was meditating by holding his teacup but Yu finds that he was actually trying to calm his nerves. It turns out that the Old Man is incredibly superstitious and due to his son recent passing he's forced to travel back hom to sort out the affairs.  During conversation he keeps talking to 'Yao' and making creepy comments like "If you're wondering why this carriage is so empty compared to yesterday, it's because it's already FULL! HAHA!" stuff like that.
- After talking to everyone to the point of repeating, Yu prompts the players that he's feeling unwell again and to go back to his compartment
- There he reads a travel mag explaining about ghost month and warnings
- During reading a minor crash incident happens (earthquake inducing a small landslide in which several rocks knock into the train carriages)
- Mother knocks on Yu's door asking for a doctor - Kenny is injured (que trauma centre puzzle)
- Yu talks to the other passengers, old man is sleeping, phone guy calms down and bartender is trying to work out what happened but communication has sporadic signal due to being in a mountainous area.
- Yu gets the distressed call from Kemi
- Old man wakes up and goes a bit crazy
- Yu's guilt builds up again cos he can't do anything for Kemi or Kenny.
- After the train starts moving, Yu remembers that the nearest hospital next to their station is his hospital so he writes notes for his hospital to prepare for Kenny.  As the train pulls into the station, Yu runs off without looking back to find Kemi.
- Yu returns home to get phone batteries only to find that Kemi left a voice msg on his landline saying that she's fine.
- Yu decides to visit Kemi the next day and gives his respects to a nearby altar.

I shall post the script for day2 after I've proof read and finalised it; it currently stands at 18 pages XDDD  I'll also update the labels later to include the added characters so far.

Also I have to quote Michelle's text for my Yu chara design because it's just awesome "Yu is gna b one smexy chunk of a man" which decides things: Yu's face/hair design is complete XD

Wednesday, 27 July 2011

All the ducks are swimming in the water

and sad Yu is sad.

I seem to like 3 the best.  1 reminds me of Kuroyanagi from Yakitate Japan and 2 looks like Sherlock.  Added bonus for a sad Yu moment though.  So far I think I'm pretty much ok with 3's hairstyle so hopefully we can wrap up his character design soon!

Tagging Update - "Hungry Ghosts"

Hey everyone, just letting you know that I've updated the labels again this time to include "Hungry Ghosts" for notes/pictures about Ghost Month/Festival.  I was trying to scroll through earlier looking for the notes only to realise that they can have a proper tag now!

Monday, 25 July 2011

colour experiment of doom

Messing around in Photoshop trying to get the ball rolling with colours..

(was this the outfit design you liked jade? amendments are welcome! even if it means a total clothes makeover haha)

I made them kinda dark since its a dark game but perhaps i should have done the opposite since she's a 'light' character?

any colour suggestions throw them my way..

and maybe suggestions on other things that need designing.. i know theres yu and kemi but also the detective gumshoe character..? anyone else or anything else? (incl. backgrounds and props)

i really like drawing kemi hmm.. :/

More concept sketches

Taking into account feedback from the outfits Jade posted I tried giving outfit designing a go;

Any good? Or should I brainstorm some more?
Once the outfit is decided I'm going to mess around with the hair once more to the style Mike suggested and then try and do a rough colour design.. Hopefully i can do it before friday as thats i wont have the internet for 2 weeks after that..

also, my fail attempts at Yu's hair XD

boys are harder to design than girls...

IMPORTANTTTT!!!!!!!!!!!!!!! Please read!
for some reason i can log into my gmail account and post new entries but i cant comment on entries anymore...
im not sure why that is but sorry for now I can't reply..
and jade - i like the name team wasabi!!! i also got the script now, thanks :D
and mike - love the concept sketches, i like the design in the middle with the long hair ^^

until next time when hopefully this bug will be fixed..

Before I pass out...

Just thought I'd post up these quick character sketches I did for Yu. Personally I'm not sure which one I like best, I just tried to go for different ideas and hopefully one of them gets somewhere. I know there's not loads but I'll do some more and add those later. He doesn't really have that much expression in these images but I suppose that's not entirely a bad thing, his sister has gone missing and shes accused of murder so he's probably not gonna be that happy anyway. Also did a sketch off what his clothes might be like, not sure if it makes that much sense but its basically a jacket with a scarf , jeans and t-shirt.

Hungry Whispers Script1.1 & 1.2a

It seems that no one received the script into their email account so I'll post up a download link for it.  Or better yet, if you have DropBox it'll automatically be synced into it.

Just to clarify the naming conventions:
'1' = refers to the day, '2' = refers to the script version, 'a' = refers to which version of the version (lol) usually it's a minor update/edit. So...
"'hungrywhispers-script1.1" = Hungry Whispers Script Day 1, Version 1
"hungrywhispers-script1.2a" = Hungry Whispers Script Day 1, Version 2 with a slight change. This is the latest update for day 1 version 2.

Hope this helps everyone better understand the pacing and some of the mood notes I've implemented into parts of the script.  An example would be the audio direction column for specific points of the dialogue.

Please download and again decide whether you like version 1 or 2 better...cheers! (The files are in pdf btw)


Sunday, 24 July 2011

Studio name logo ideas?!

Holy moly it's just occurred to me that we'll need a team logo.  What should we call our 'company'?!

Studio Wasabi? Wasabi Productions? Team Wasabi will still stay stay but urgh XD I want a you have an idea for a logo? I think it'll be awesomely cool! So ... yeh this is also up for grabs.  Feel free to do some designs for that too...might as well make it as epic as we can...:D

While I was brushing my teeth I suddenly thought about the credits and it this project does get a good start/recognition it'll be really nice to already have our own indie game team or something like it.

Saturday, 23 July 2011

First look at Kemi - hair

For now take these as veeeerrrrrrryyyyyyyy rough initial sketches that took a couple of mins each but I've been trying to work on the MC face/hair designs starting with Kemi.

what is this i dont even...........

im having trouble, if there is a hair design here that you like please say and ill work a bit more with it, if not ill go and find some new hairstyles....

This is kind of what I'm imagining her to be like atm;

I keep wanting to give her a hat or sunglasses or some kind of accessory..!
right now to sketch Yuuuuuuuuuuuu

and if you guys have a different opinion of what she should look like as well maybe post a photo or something..

If you get time, I'd like you to look at these...

Thai horror film which is practically Project Zero in film format with a buff actor as the main guy (will post up some pics of him which I found which would suit Yu's wardrobe ideas).  Very creepy and there's this scene with cool lighting effects similarly used in the latest Youtube link that Rumzi posted before with the mannequins creeping up on Brad whenever the lights go off or when he turns his back.

Singaporean horror film about Ghost month. Very good film in showing how people would act around this time and the scares are subtle which is how I'd like the scares to be in HW if possible.  Sticking to true Asian horror! Also Rumzi, this is NOT what you're thinking.

Hong Kong horror film about a blind girl who gets an eye transplant and is able to see ghosts because of it.  Very good example of Asian (modern) ghosts as there is a big difference between them and Western ones.  I'd like to incorporate Asian ghosts to HW to keep it true towards Ghost Month in spirit.


Her 1000 words and Knite flash comics is what I had in mind for the cutscenes of HW cept the characters will have that Hotel Dusk squiggle effect and a much larger audio role.


Okay more inspiration stuff since Chinese Opera is featured quite heavily during Ghost Month as part of the performances so I thought it would be good to share.  This is a pop video which incorporates it so the opera singing is bearable for me and I'll try and find some traditional-traditional stuff later.

What do you guys think about incorporating voice acting into HW? I know that it'll be a hassle to find actors and yadda yadda yadda but it'll be an awesome touch to have especially for the cut scenes.

This now concludes my epic post. THIS END!

[Total word count = 1553, I've practically written an essay of updates *faints*]





(Total word count including this is now 1719 carrying on from the last post.)


"Assistance, bitte!" (Warning, long ass post)

EDIT: As Rumzi pointed out, it's "bitte" not "Peter"....I've just failed as a TF2 player.

Right.  I'm very, very happy with the sudden influx of posts and comments invading my inbox ^W^.  Firstly, I'd like to ask if everyone's received the script?  I've just noticed that there's a slight error in version 2 of the script.  In version 1, the player wouldn't find out the name of the character that they're playing, only until you talk to Kemi on the phone.  In version 2, Yu starts his blogolobue with "my name is Yu" so all the "???" bits should be corrected to Yu.

After reading them all, I have several notices to update you all on now~

Day 1 = Script DONE!
Day 2 = is when creepy shiz starts to happen (to answer Michelle's question).  It's the day of the festival and when stuff happens to Kemi.  The disappearing carriage will also happen here but I'm not sure whether Yu should notice it or not. Another idea in which to have is that since Yu starst seeing more creepy shiz, there could be the 'nice next door neighbour' that he met on the train and that he keeps bumping into at Kemi's only to find that she's (gender may change) is a ghost.  An incident should definitely happen in which Yu has to use his Nursing skills to help a child who has [insert incident which would make someone scream around the carriages asking if there's a doctor on board] and after he saves the kid he is thanked by this person.  It's also noted that since Yu would do a lot of hesitating, we can make it into a puzzle.  You know what, the child swallowed an atom bomb. Yeh that's it. Sorted.

After Kemi's disappearance, Yu also learns of Kemi's boss' murder but is unable to get any details from the police (he just knows about it) and goes to Kemi's place to find more clues. Insert 'Find Kemi's spare key' puzzle and you get to explore Kemi's place and try to hack into her computer puzzle.  Not a lot of information turns up apart from stuff about the corrupt politician and Kemi's address book.  Yu finds some names highlighted in which he searches them up online - they're Private detectives so he hires one to help him search for more clues.  Now we have a detective Gumshoe character! To help! Hooray!

Another bit in which I forgot was the idea that Kemi starts to spiritually send Yu hints through his phone. The idea was that when Yu goes to sleep he starts to dream - in the dream you actually play as Kemi's spirit but Yu and the player won't know this.  Essentially this is more like an interactive cutscene but an example would be getting the player to take a picture of a certain object/location.  When Yu wakes up, he doesn't remember the dream but is just WTF about finding the picture on his phone.  Which, turns out is a clue in that the player would need to work out in order to unlock the next location to explore along with some more info from Gumshow (example: the murder scene of Kemi's boss).  The idea of the maze puzzle would work here when Yu needs to try and sneak in, in order to find more clues.

I also forgot to mention (again) that Kemi gets found a few days after she disappears and ends up in the mental hospital.  It could be part of the same hospital that Yu works in, in another hospital branch.  Her mental instability gets worse and worse with each (scripted) visit so you can only converse with her face to face, then phone with a glass pane in the middle, then suddenly tv. Around this time, the PI starts to get even more nervous with finding out more info so he quits (now the player can only really rely on Kemi for info). Yu can get chased by an entity through the hospital corridors at one point here in the hospital (most likely near the end?).

Now I'm not sure how but the plot will start to focus on the thugs/politician.  The ending twist is that the reason the politician started the whole thing in motion was that the kid that Yu failed to save was his son, so Yu was the one who started the whole thing in motion, not the ebil politician.  Before the game focuses on how evil the politician was but was actually doing it to get revenge and not to TAKE OVER THE DAMN WORLDDDDD.

After finding that out (if we get time) I'm still not sure how to end it - maybe just end it there.  But I'd personally want a bit more closure.  As Michelle suggested, maybe someone should die now XD I dno :/

This is where I'll need your assistance!
I'll definitely need some help in brainstorming these areas:
-  Creepy experiences in which Yu should encounter cos now I'm slightly out of creative juice.
- Puzzle ideas.  Be creative in what to include such as maybe incorporating the use of webcam/mic into solving a puzzle (and an alternative for ppl who don't)?  Maybe Yu needs to blow out some candles...actually no, he'll need to blow on the joss sticks to be used on the offering altars. I'll explain this a bit more because this leads to...

Game Statistics: Since it's Ghost Month and Yu feels really guilty about the A&E incident you can interact with the offering altar outside his apartment.  Say if Yu interacts with it 10 times before a certain day, it would make the spirits happy and may change a certain cutscene.  This lead me to another idea for another puzzle in which Yu has to dive/swim somewhere (one of the taboos) in order to get a clue. The taboo is that it is believed that there are many spirits in the water which will try and drown you.  If you prayed at the altar enough times, Yu will be saved by the ghost of the Boy in which he didn't save in A&E, if not he'll see the Boy's face start to distort and scare Yu.  The player won't know that it's the Boy from A&E, they'll only find out later.  Either way, Yu will survive...or maybe make it a timed event lol.

Death: I'll write it here again but in case of the player dying there will be scripted events.  Nothing is more terrifying that being chased and running for your lives, plus it'll make a good contrast to incorporate some 'action' into the game.  I'll use an example for this.  If for instance, Yu gets chased by an entity during the mental hospital corridors, players have a 2 second limit to click on the door in the background to keep moving forward. [Note for Mike, for places to move, can we change the cursor to a little arrow when it hovers over spots to 'move' Yu?].  If they don't click on the door in time, Yu will be caught by the entity and it'll be game over, players will need to reload back to their saved states.  Right think that's it for that part.

Do you guys shave skype?  I'm thinking it'll be very useful to have voice conferences so that we can all chat/brainstorm ideas together and may be easier to brainstorm together that way. For dropbox, I can invite you guys to my dropbox account so that when I add stuff to it (say scripts) it will pretty much instantly load on your computer and vice versa.  DON'T create an account yet if you don't, let me invite you so that I can get an extra 200mb for my account which we can share XD.  The starting space you get is 2gb.

Ok I actually haven't written all that I wanted but the rest are inspirational ideas that I think would be good for you guys to have a look at.  ONWARDS TO EPIC POST 2.

I also apologise if this post seems rather rambly, it's taken me over two hours to write this already XD.

Friday, 22 July 2011

Programming is Fun

So pretty much for the last week or so I've been experimenting with flash and have decided to make a post to explain what I've done so far and to convince everyone I haven’t just been playing left 4 dead 2 all week. So I guess the way to start is to explain the different ways in which you can program in flash, I know most people will know these already but hold on I'm going somewhere with this.
So action script 3 removed the ability to attach code directly to objects which is initially kind of annoying. Instead you can only place code on the frames themselves which I already showed in my previous post about coding.
The other way to do things is to use packages, in which the code isn’t attached to any of the frames, but instead is linked to the FLA file and all the code that would be written on the frames is written in a separate package instead, which is in turn links to the package that the FLA is linked to. In this instance, nothing is on the stage of the FLA. I like this technique best as while it can be hard to set up as it means doing certain things in what may seem the  long way round, once it is set up things go a lot more smoothly. It means that you can cut down on the amount of coding that needs to be done.
Finally doing it this way means I can use the Flixel library. I'm not really sure how best to describe flixel but I suppose the easiest way is that it’s essentially just a bunch of action script 3 classes written specifically for making games. It can mean having to slightly relearn how to do certain things but it does a lot of the work for you and in the long run will make certain things a lot easier to do. For example if you wanted to implement a save function in just action script 3, it would take a while to implement(or to put that more specifically, I’m really not that skilled enough to implement a system like that from scratch), whereas Flixel has all the code for that already written. My own major gripe with using flixel is that it’s really isn’t designed for point and click style games. I've had to write my own classes for controlling the mouse as there’s no mouse controls built into the system, which again sounds like its more hard work, but now that that’s been set up doing other more complicated stuff shouldn't be too hard.  And also Graces Diary and A House in California were both created using flixel so it’s more than possible to do.

So let’s take a look at some of the stuff I've done so far. I'm not going to post the SWF up just yet as all the graphics are temp graphics and are only there to confirm to me that everything does in fact work. There’s a few minor tweaks needed to the system but so far, I got the entire basis done. I'm sorry if I babble and don’t make much sense, I find it difficult to explain some of this stuff but I'm sure it will at least give you an idea.

Firstly I want to take a look at the code for the one of the items which is simply called 'Test'.

package {
                import org.flixel.*;
                public class Test extends Draggable
                                public function Test (x:int,y:int)
                                                super(x, y);
                                                loadGraphic(GlobalVars.col2, false, false, 12, 12);
                                                description = new Array("Huh? Whats this?");

What I really like about this is when I first wrote it the code was really long. But I managed to get it to a point were it was only a few lines long. All the code that controls item behavior is contained within the Draggable class which each item extends. And all the item has to do is load the graphics, and have a description written for it. So let’s take a look at Draggable itself.

                import org.flixel.*;
                public class Draggable extends FlxSprite
                                public var originx:Number;
                                public var originy:Number;
                                public var description:Array;
                                public function Draggable (x:int,y:int)
                                                super(x, y);
                                                originx = this.x;
                                                originy = this.y;
                                override public function update():void
                                var dialog:Dialog = (FlxG.state as SceneState).dialog;
                                if(FlxG.mouse.x > this.x && FlxG.mouse.x < this.x+this.width &&  FlxG.mouse.y > this.y &&                                            FlxG.mouse.y < this.y+this.height
                                if (FlxG.mouse.pressed()  )
                                this.x = FlxG.mouse.x;
                                this.y = FlxG.mouse.y;           
                                else if (FlxG.mouse.justPressed())
                                if (FlxG.mouse.justReleased())
                                this.x = originx;
                                this.y = originy;
So at first what’s happening is that I created two new number variables called origin.x and origin.y. These are then made equal to the starting x and y position of the item. So that later in the code when the item starts to be dragged around and is then let go of it will return to its original position. As you will notice in the update function I had to write quite a bit of code for the mouse, which had this been in just in AS3 would have been no more than an event listener. So this is one area in which flixel falls down, but now that it’s written it never needs to be written again. If the mouse is pressed it updates the objects position to that of the mouse’s, and I've already explained what happens when you let go. If the mouse is just pressed it will display the description dialog of that item, which is contained within the item as you already saw. The dialog class I should explain at this point is not my own, I found it on the flixel forums when making my duck tales game. I've altered it slightly as it had the annoying tendency to forever scroll the text after you had done clicking but I got it working now. For this reason I’m not going to post the code here (at least not yet) as it’s mostly not my own, and I don’t understand it fully myself, I just know how to use it. It essentially creates scrolling text like Phoneix Wright games which when you click the mouse will speed up and continue to the next page of text.  I should point out the code for this draggable class is not finished and not perfect yet, there’s a few little errors with it but this will be solved soon (I hope). Also it’s within this class that I will write the code for looking/interacting/using an item.
I should point out at this stage that the items aren’t added to the stage by inputting a X or Y coordinate, or any coordinates for that matter. I created an array and each number in the array corresponds to a different item, which I will explain more in a little bit. Just to illustrate this is what  array for the item window looks like;


Each item corresponds to a number, and each number corresponds to a square of 12x12 pixels.
Alright so that’s the items and inventory, lets that a look at the code for one of the scenes. This is the image of the door that we see in TKON.

                import org.flixel.*;
                public class DoorScene extends SceneState
                public var door:FlxSprite;
                public var window:Window;
                public function DoorScene()
                override public function create():void
                tilemap = new FlxTilemap
                tilemap.loadMap(new GlobalVars.doorCOL, GlobalVars.col, 12, 12);
                door = new FlxSprite(40, 00,GlobalVars.doorBG);
                words = new Array("Whats this? It's a window!", "OH. MY. GOD. I LOVE WINDOWS!",  
                "Lets go take a closer look ");
                public function convert_map() : void
                for (var i:int = 0; i < tilemap.totalTiles; i++ )
                { var t:int = tilemap.getTileByIndex(i);
                if (t == 1)
                tilemap.setTileByIndex(i, 0);
                window = new Window (i % tilemap.widthInTiles * 12, Math.floor(i /               tilemap.widthInTiles) *          12);
                window.clickFunction = lol;
                public function lol ():void
                FlxG.switchState(new InventoryScene);

So as you can see this extends another class that I've written called scene state, which like the draggable class contains all the code for controlling what happens in the scenes. So the first thing this class does is that it loads and adds to the stage all the items, such as the background and a tile map. The tile map is basically an array of numbers. Each number represents a square block, of (in this case) 12x12 pixels. The numbers can then be converted (in the convert map function) into various thing, in this example its converted into a clickable area which when pressed will call upon the 'lol' function which will change the screen to the inventory. This is the same technique used in the inventory itself with the numbers on the array referencing a different item. I quite like this as it means I don’t need to input an X and Y position for every item, I just add it to the array and the convert map function will do the rest. I need to be honest here, that complicated looking code in the convert map function - i have no idea what any of that means. I only know what it does. As you can see in the example each number 1 in the array will insert the window image. The image itself is invisible and is only there so that it can call upon the function in the window class, which is when it’s clicked on, it will take you to the inventory screen. Now this is the thing I'm not sure about. I'm sure there’s a more effective way of doing this but so far this is the only way I can think of to do this. Thankfully I emailed the creator of Graces Diary and he has agreed to share with me the source code for that project. Once I understand how he handled the clickable areas I can improve what’s been done here. Again it seems like a lot of work to go to when using just AS3 all you need to do is create an overlay for the scene with event listener on the each of them and call the function when its clicked. The same can be done here actually, I've just chosen not to and for two reasons. One for some annoying reason flixel recognizes the invisible areas of those overlays, meaning that as long as you click anywhere within the symbol it will do whatever you asked that symbol to do. This of course can be solved by simply having it so that you only have each symbol the exact size that is needed. That’s fine but it means a lot of work, as you have to write a new class for every single symbol. The other reason is that this technique means that I don’t have to create an overlay at all, and I can just keep reusing the same symbols over and over again.  I don’t think I could of explained that worse if I tried, so here’s a visual example;
(It’s just occurred to me that I could of written it into the code to say ignore areas where the alpha channel equals zero, I’ll try that out later).

Well that’s all for now. I've written a lot more code then what’s displayed here but the rest isn’t amazingly interesting or just not finished. I just wanted to show what I had done so far.