<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel posts="50" page="1" pages="10">
    <title>LuAye2.0</title>
    <link>http://www.luaye.com</link>
    <description>Blog, images and projects: Feed</description>
    <image>
    	<url>luaye.gif</url>
    	<title>LuAye.com _ Blog, images and projects: Feed</title>
    	<link>http://www.luaye.com</link>
    	<width>80</width>
    	<height>35</height>
    </image>
    <pubDate>Mon, 12 Apr 2010 20:47:07 +0200</pubDate>
    
    <item>
       <title><![CDATA[Starting at Play Fish / EA]]></title>
       <category><![CDATA[News]]></category> 
       <link><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=62]]></link> 
       <description><![CDATA[I'll be starting my new job as Game Developer at Play Fish from next week Monday.]]></description>
       <body><![CDATA[This is probably the best opportunity I've had in my career. Then again joining Attic (previous job) was also a tremendous oporunity as that threw me into the industry straight out of uni. PlayFish was the first company I applied to out of a few others. They seem to be one of the very few who specialise in flash games development that has a long term user base. There is a lot out there who make games now and again (like my previous company) but I wanted to work on something that is played by millions and keeps the players coming back to play more for a long time. I want to make something people talk about in their daily lives, not something someone play for a short time and forget about it. I am very happy I will officially be "Game Developer" - I've always wanted to be one (in terms of title anyway, I am still generally flash developer / software engineer)Play Fish is well known for social casual games on Facebook. I first heard about it because Heather plays their game 'Pet Society' from time to time. It is apparantly not the number 1 creator of Facebook games tho. The number 1 creator made Farm Vill which is really popular at the moment. I don't personally find attration to that as the graphics just don't look good. In contrast, PlayFish does a lot more attractive graphics for their games. I actually find CountryStory much pleasing to play than FarmVill. Ok maybe I am biased now that I'll be going to PlayFish.  PlayFish was still independent when I first applied to them but they were brought in by EA (Electronic Arts) by the time I was invited for interview. Being part of EA is surely a good thing so that was a bonus. A lot of people think I'll be making console games when I say I'll be working for EA. I will actually start work on a new title for Facebook platform in flash. I am not supposed to talk about the details :OAs I am not an EU citizen, getting the permit to work was quite long winded. Took me over 4 months in total to finally get all sorted after they've accepted me. It was probably quite costy too, but EA pays for all that luckily.There are nice challenges waiting ahead of me. For one I've no idea how facebook platform works with flash. Two: I'll probably be expected to work much faster than I used to work at Attic. Three: they use different tools to what I used before. I think it'll be a fun challenge. I've met everyone in the team I'll be working with and they were very nice. The whole company is into gaming just like I am so I don't see why I won't get along. I'll find out for real in a week time. Wish me luck!P.S. Found a blog with pictures of the office: <a href="http://playfish.wordpress.com/2010/02/11/a-letter-to-our-fans/"> http://playfish.wordpress.com/2010/02/11/a-letter-to-our-fans/</a>]]></body>
       <comments><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=62#comments]]></comments> 
       <pubDate>Mon, 12 Apr 2010 20:47:07 +0200</pubDate>
    </item>

    <item>
       <title><![CDATA[Battles are us (prototype)]]></title>
       <category><![CDATA[Coding]]></category> 
       <link><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=61]]></link> 
       <description><![CDATA[Just stumbled upon an experimental project I worked on a few years ago.]]></description>
       <body><![CDATA[It is an unfinished (surprise surprise) top down strategic game.The main purpose was to experiment with <a href="http://osflash.org/red5">Red5</a>'s <a href="http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol">RTMPT</a> but it went a bit complicated. Here is the link to the game:<a href="http://luaye.com/battlesrus/">http://luaye.com/battlesrus/</a><font color="red">There is no computer players so you really need to either get someone else to play with you are you just make 2 windows and join your own game.MORE IMPORTANTLY: It is an UNFINISHED project!</font><b>How to play?</b>- You command your own coloured units- You can control them by selecting them and clicking on where you want them to move to.- Drag select (or shif select) to select multiple units.- Your units will automatically shoot at nearly enemy units.- Double click on your main building to make new units.- Currently there is no 'game over' condition, i.e. it will never end.- Just refresh the page to exit :)I stopped working on this game because I didn't feel like there is anything new in this game. I was almost remaking a game in flash that's already out there in non-flash platform. I needed to stop and re-think of a better concept to at least be different from others.I am in overall satisfied with the experiment. I managed to learn several things from this:- RTMPT mainly remote shared objects- Path finding (A*)- AI (such as units knowing their surrounding and shooting at enemies)- UI for multiple unit controls- "Fog of War" effect (where you can only see nearby enviroment of your own units) - Speed optimisation- A bit of java coding to manage Red5 side, (assigning user ids, lobby instances and clearing up finished games, etc)]]></body>
       <comments><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=61#comments]]></comments> 
       <pubDate>Wed, 27 Jan 2010 17:52:14 +0100</pubDate>
    </item>

    <item>
       <title><![CDATA[My first AIR app]]></title>
       <category><![CDATA[Coding]]></category> 
       <link><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=60]]></link> 
       <description><![CDATA[A quick port of my Console-remote to AIR...]]></description>
       <body><![CDATA[I was hoping to be able to use this AIR console-remote for all platforms (local swf/remote swf/flex/air, etc...), but it's not possible... Because, sandbox for AIR apps are 'application' while SWF sandbox can be 'local' or 'remote', etc...I don't think there is a way to link up the sandboxes and therefore I will not be able to use this air app to work on all platform... :(It looks great tho...<a href='http://luaye.com/blog/uploads/ConsoleRemote.zip'> If you dare... download</a><b>UPDATE:</b>I take back my negative statement. I managed to connect from flash (of any domain/sandbox) to AIR. The trick was to add _ (underscore) at the beginning of connection name, and flash treat it as a shared/all domain connection.Update download of this (v2.1) will be available soon in Console projects page:<a href='http://code.google.com/p/flash-console/'>http://code.google.com/p/flash-console/</a>]]></body>
       <comments><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=60#comments]]></comments> 
       <pubDate>Fri, 16 Oct 2009 13:44:02 +0200</pubDate>
    </item>

    <item>
       <title><![CDATA[Threaded processing in Flash AS3]]></title>
       <category><![CDATA[Coding]]></category> 
       <link><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=58]]></link> 
       <description><![CDATA[Wrote a class which handles faked multi threading (by spread threading) for Flash AS3.]]></description>
       <body><![CDATA[<b>What is it?</b>:Flash runs in a single thread. Which means if you execute an intensive script, flash would lag/un-respond until your script finishes. You will want to spread the process over a number of frames to avoid this lag.This class allows you to call a function over and over again while keeping the frameRate and interface response fairly stable and also avoid falling into script timeout.<b>Example use</b>:I used this for 'path finding' which can take between 10ms to 1000ms (depending on map size).I don't want user to lag out every time they choose a path. Instead I trade it off by taking 1-10 frames for path to be found.In an arcade style game, I needed to pre render the background + static objects into tiled bitmaps. Some long levels takes quite a long time to render so using Thread lets me spread the process and have a smoother 'building' screen animation (rather than a stucked/lagged screen).<b>When you shouldn't use</b>: - If you want the outcome of the process straight away, this will not always delivery - because it will spread your function calls over a number of frames if needed.<b>To be careful</b>: - This class DOES NOT stop the function from excuting half way through. It only spreads the time between each function call (when needed). - If your process is not only a 'loop' you could make a function that manage the sequence in which it should execute by looking at 'steps' to know which step of thread you are on. - You can call multiple Threads to execute at the same time - However each thread does not share 'givenTime' with others so you will need to manage it for better processing spread.<b>Example Code</b>:Example below is using Thread to increament an integer 'n' up to 500,000giving 20 ms per frame to excute (it let go a frame when 20ms is passed).Change <b>countUpTo</b> var if you are getting 1-2 frames/threadStep - your machine must be fast then!import com.luaye.utils.thread.Thread;var countUpTo:int = 500000;var traceEvery:int = 20000;new Thread(stepFun, {n:0}, false, 20);function stepFun(thread:Thread):void{   var vars:Object = thread.vars;   vars.n++;   if(vars.n%traceEvery == 0){      trace("n = ", vars.n, ", threadStep = ", thread.threadSteps);   }   if(vars.n >= countUpTo){      // need to call end() to stop executing.      thread.end();      trace("Ended process after "+thread.threadSteps+" frames/threadSteps");   }}<b>Source:</b> <a href="http://luaye.com/blog/uploads/AS3Thread.zip">Click here</a>Happy coding!]]></body>
       <comments><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=58#comments]]></comments> 
       <pubDate>Thu, 17 Sep 2009 23:27:16 +0200</pubDate>
    </item>

    <item>
       <title><![CDATA[I am engaged!]]></title>
       <category><![CDATA[Life]]></category> 
       <link><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=56]]></link> 
       <description><![CDATA[I am now proudly engaged to Heather Murray <3]]></description>
       <body><![CDATA[Luckily she accepted my proposal. How I did it is private memory, I suppose. sorry :PHeather is still to finish her final year this year, so wedding will have to wait a year or two.She is atheist so we will probably not going to marry in a church and I am not a fan of Myanmar wedding style :P<a href="asfunction:view,Engagement ring,blog/uploads/ring.jpg" target="_blank">[Ring]</a>]]></body>
       <comments><![CDATA[http://www.luaye.com/blog/index.php?action=read&id=56#comments]]></comments> 
       <pubDate>Wed, 16 Sep 2009 22:32:34 +0200</pubDate>
    </item>

  </channel>
</rss>