<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6582366231497134471</id><updated>2012-02-01T04:35:17.482-08:00</updated><category term='texture offset'/><category term='teamwork'/><category term='flash'/><category term='mini map'/><category term='display'/><category term='UVW'/><category term='material'/><category term='RPG'/><category term='bugs'/><category term='iTrain'/><category term='as3'/><category term='development'/><category term='domain name'/><category term='contains'/><category term='cheatsmanager'/><category term='parent'/><category term='competition'/><category term='textured solid'/><category term='WWWform'/><category term='resolution'/><category term='second visions'/><category term='enlarge'/><category term='how'/><category term='cubase'/><category term='texture in scene'/><category term='mousePosition'/><category term='removechild'/><category term='game development'/><category term='audio'/><category term='anomaly'/><category term='iphone'/><category term='css'/><category term='timer'/><category term='flash game'/><category term='extension'/><category term='JRPG'/><category term='drag'/><category term='function'/><category term='showing'/><category term='event listener'/><category term='texture2d'/><category term='MMO'/><category term='superOrganic168'/><category term='second sights'/><category term='performance'/><category term='developer'/><category term='class file'/><category term='actionscript'/><category term='review'/><category term='mathf'/><category term='stop'/><category term='web player'/><category term='displayer'/><category term='to'/><category term='WWW'/><category term='game idea'/><category term='timerevent'/><category term='maths'/><category term='ICON2'/><category term='tracking'/><category term='effect'/><category term='inventory'/><category term='data formatter'/><category term='game'/><category term='experiment'/><category term='cheat codes'/><category term='industry'/><category term='output'/><category term='android'/><category term='Himogames'/><category term='1 month game'/><category term='5'/><category term='html'/><category term='draw calls'/><category term='percentage sign'/><category term='eventlistener'/><category term='turn-based'/><category term='game mechanics'/><category term='character'/><category term='error'/><category term='unity 3d'/><category term='remove'/><category term='prototype'/><category term='batching'/><category term='unity'/><category term='this'/><category term='3ds max 2011'/><category term='humble bundle'/><category term='condition'/><category term='GPCv4'/><category term='box'/><category term='borderless'/><category term='import'/><category term='3ds max'/><category term='map'/><category term='ipad'/><category term='compiler. AS3'/><category term='github'/><category term='Mdec'/><category term='gadget'/><category term='Unreal Technology'/><category term='export'/><category term='Carl Callewaert'/><category term='internship'/><category term='Augmented Reality'/><category term='AR'/><category term='superRed'/><category term='programmer'/><category term='download'/><category term='Blender'/><category term='ios'/><category term='plugin'/><category term='game prototype challenge'/><category term='animation'/><category term='else'/><category term='concept'/><category term='script'/><category term='modelling'/><category term='animate'/><category term='scene'/><category term='Unreal Development Kit'/><category term='background'/><category term='packtextures'/><category term='casting'/><category term='statement'/><category term='code'/><category term='unity3d'/><category term='Facebook'/><category term='if'/><category term='repository'/><category term='lg'/><category term='stage'/><category term='screen'/><category term='Unity evangelist'/><category term='Qualcomm AR SDK'/><category term='battle system'/><category term='SPSZ'/><category term='ipcc'/><category term='indie'/><category term='version'/><category term='mapping'/><category term='how-to'/><category term='scrolling'/><category term='iphone trampoline'/><category term='Himoji'/><category term='C#'/><category term='a sunshine ray of hope'/><category term='blogger'/><category term='jakel168'/><category term='Combine children'/><category term='UDK'/><category term='mouse position'/><category term='insect locomotion'/><category term='steam'/><category term='failure'/><category term='Second Person Shooter Zato'/><title type='text'>jakel168's game development</title><subtitle type='html'>developing games for the fun of developing it... :D</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.jakel168.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default?start-index=101&amp;max-results=100'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>104</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6968774629274611559</id><published>2012-01-16T03:45:00.000-08:00</published><updated>2012-01-16T03:45:01.543-08:00</updated><title type='text'>2012 - Chapter 1</title><content type='html'>&lt;div style="text-align: justify;"&gt;Well, I did said that I'm gonna write one post per week, so here's one for the first official entry of 2012 (the resolution piece doesn't count).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've been hard at work recently, adding features for my thesis game project - SecondVisions. Before the project even starts, I have high hopes for it. But two semesters later I realized things does not turns out to be as good as&lt;i&gt;&amp;nbsp;&lt;/i&gt;I hope for. The game... well, was a bit of a failure, as the game's design got kinda mess up around October to November last year.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But I'm not giving up on it just yet, because if I do, I'll fail the course~XD So, right now I'm basically just adding more features into it, finishing the part which I originally promised (my lecturers) to work on, and just continue designing the game along the way.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Moreover, I've learned a lot of stuff between last year and this year when working on game-related projects, so I've got a lots of scripting tips and stuff to blog about next time when I'm done with SecondVision. It'll probably be around February or so. Stay tuned~:D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6968774629274611559?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6968774629274611559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6968774629274611559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6968774629274611559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6968774629274611559'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2012/01/2012-chapter-1.html' title='2012 - Chapter 1'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5578153032823687973</id><published>2012-01-05T16:53:00.000-08:00</published><updated>2012-02-01T04:35:17.495-08:00</updated><title type='text'>My 2012 Resolutions</title><content type='html'>&lt;span style="text-align: justify;"&gt;A list of stuff I wish to accomplish this year, and some of them may be derived from the&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.jakel168.com/2011/01/my-new-years-resolution-part-1.html" style="text-align: justify;"&gt;2011 resolution&lt;/a&gt;&lt;span style="text-align: justify;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Top 5:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. Publish 2 iOS good game on the appstore that will do well&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;By this I mean completing two iOS games with&amp;nbsp;&lt;b&gt;my own team of developers&lt;/b&gt;&amp;nbsp;and publish them u&lt;b&gt;nder my own Apple account&lt;/b&gt;. Working for someone else, company or client-side project does not count for this resolution.&amp;nbsp;I've just recently purchased an iOS developer account, cuz apparently using your friend's account can be quite troublesome, especially during urgent game-porting/testing times.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now that I've got my own account, it would be a waste to not publish anything on it. Currently I'm still waiting for reply from MSC regarding my game development funding. And once that thing is settled, I can finally get myself the sweet Unity Pro and iOS Pro licenses, and start making sellable products. Also, I've recently picked up GameSalad, probably gonna use it for a casual game project, when I don't wanna do so much programming.&lt;br /&gt;&lt;br /&gt;EDIT: After looking at &lt;a href="https://twitter.com/darkacrejack/status/164684425853026304"&gt;DarkAcreJack's great advice on game publishing resolution&lt;/a&gt;, I realize he was right, I need to make good games that will do well~ XD&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2. Continue mastering the languages&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Derived from the 2011 resolutions, the current main languages (programming and non-programming) I wish to fully master this year would be Csharp and Japanese. Csharp is the language I often use during game development. Though I don't consider myself a very good game programmer, I could create whatever game mechanics I want to, with some experiment and research.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As for Japanese language, I used to be really&amp;nbsp;obsessed&amp;nbsp;with it... probably because it's always a dream of mine to venture into the Japan's game/animation industry, and also all the anime and Japanese drama I love watching, the manga I love reading. But since the start of 2011, the thing I'm most obsessed with is game development. I spent most of my time on it, joining game jams, working on games for my assignments... completely left out the learning Japanese language part.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Not to say I completely left it out in 2011, I do played quite a number of non-localized Japanese games in my DS and PSP, such as: Persona 3 Portable, Devil Survivor, Monster Hunter Portable 3rd, Tomodachi Collection, etc. Most of those games which provides hours of gameplays and have tons of dialogues to read on. It helps me tackle some reading problem, and learn more new words too.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This year, I'm gonna continue learning it more seriously, read all the lessons books, and start practicing on the speaking part.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. Earn 100,000 USD&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Derived from the 2011 resolutions, I wanna earn 100,000... USD.&amp;nbsp;Although&amp;nbsp;I'm not really short on money or anything, I just wanna take it as a challenge for myself since I'm gonna be graduating soon and going to work in the industry.&lt;br /&gt;&lt;br /&gt;Funding does not count for this resolution, I want the 100,000USD to be purely profits from my hard works, such as salary and game sales revenues (minus out the funding). Although I'm not very confident about the game sales revenue part, as I'm still a new player in the industry, fresh out of the oven... I'm gonna try my best!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Go to Japan&lt;/b&gt;&lt;br /&gt;I'm crazy about this country for years, and was kinda worried that I'll never get to visit it when the tsunami happen. I really hope that I could go there at least once this year. I've already talked to some of my friends who are also into the idea... and now we just wait...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Learn to drive well&lt;/b&gt;&lt;br /&gt;It's been 4 years since I've got my driving license, and the number of times I've drove within this 4 years had not even reach more than 20 times. I had a slight trauma around 2-3 months after I got my driving license and had been neglecting from driving ever since.&lt;br /&gt;&lt;br /&gt;I hope this year I can overcome that trauma and drive normally. It's so important it had to be in the top 5, consider that I'm graduating soon and have to drive to work, can't always rely on trains. Or maybe I should get a bicycle?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Bottom:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;6. Take a vacation or two&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Similar to the 4th one... It's been 4 years I've studied in MMU, and we don't have much of holiday here. Even if there is, it's only gonna be for a week or two between semesters, which is definitely not enough.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I used to go on vacation every year before I enter university. But those times weren't as stressful as when I'm still studying. Nowadays, as I'm nearly finishing my studies, I grew more and more stressful everyday. Not just me, but also my classmates and friends who are also graduating soon. I can't think straight, started to forget certain things, dreaming about codes and bugs at night (which can quite a nightmare), more white&amp;nbsp;hairs&amp;nbsp;dominating my head (I'm only 21, dammit!)... etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I need a vacation when all these is over! I really do, we all do! Maybe do some backpacking, or just travel to Japan, Korea... somewhere beautiful; visit some of the wonders of the world... and maybe King Kong~ XD&lt;/div&gt;&lt;br /&gt;&lt;b&gt;7. Make a short film&lt;/b&gt;&lt;br /&gt;It's in one of my old 2008 resolution, but never got to do it till now for I'm lack of a video cam. I should've bought a Nikon D90 instead of a D60 last time... as I'm not much of a photographer.&lt;br /&gt;&lt;br /&gt;Though I did get to do a public awareness video 3 years ago, where I was in charged of writing the script (which was really bad).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;8&lt;/b&gt;&lt;b&gt;. Write a blog post a week&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've gotta say, blogging has always been a stress-relieving activity for me, but I don't do it very often. One reason could be that I don't want this to be like one of those simple social life blog about me... I want this to be about the "game development" part of my life. And there's too much to talk about, but too little time to write them all down.&lt;br /&gt;&lt;br /&gt;So this year, I'll try, no matter what, to write at least 52 blog posts (equivalent to 1 post per week for a year). Speaking of which, I just counted, and I've got 45 blogs from 2011, which was not bad! But I'll try to do a little more this year~ :D&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9.&amp;nbsp;&lt;/b&gt;&lt;b&gt;Start a comic series&lt;/b&gt;&lt;br /&gt;I used to be a pretty good comic strip artist back in high school, and that was one of the main reasons I went for an art degree. I haven't drawn anything since then, always wanna start a series but I never really got to do it.&lt;br /&gt;&lt;br /&gt;&lt;b style="font-weight: bold;"&gt;10. Make the Pokemon (fan-) game I always wanted to make&lt;/b&gt;&lt;br /&gt;I have an idea that I really wanted to do. It's not really a big or genius idea, but it's something that's in my mind for months since last year. It's kinda of a new approach to the original Pokemon games, I've dreamt about all the gameplay and stuff, and I really wanna see if this approach works.&lt;br /&gt;&lt;br /&gt;It's kinda like the indie motto: "make something you would like to play", and I really hope that I could make and play this game this year.&lt;br /&gt;&lt;br /&gt;&lt;b style="font-weight: bold;"&gt;11. Make a&amp;nbsp;gross-able&amp;nbsp;game&lt;/b&gt;&lt;br /&gt;I don't mean making a "gross" or disgusting game, but more like a game which is released as a freemium, and earning money through selling in-app item. It can be consider as part of the 1st resolution, but this may come as a web game too.&lt;br /&gt;&lt;br /&gt;&lt;b style="font-weight: bold;"&gt;12. Lose weight (10Kg) and get a life&lt;/b&gt;&lt;br /&gt;Well, it's pretty much self-explanatory.&lt;b style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b style="font-weight: bold;"&gt;13. Survive the apocalypse, and be a hero&lt;/b&gt;&lt;br /&gt;Wildest dream... XD&lt;/div&gt;&lt;b&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5578153032823687973?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5578153032823687973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5578153032823687973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5578153032823687973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5578153032823687973'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2012/01/my-2012-resolutions.html' title='My 2012 Resolutions'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3623418857017221295</id><published>2012-01-03T00:18:00.000-08:00</published><updated>2012-01-07T08:11:18.675-08:00</updated><title type='text'>A look back at my 2011 resolutions...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Before I get started on my new resolution this year, I'm taking a look back at the &lt;a href="http://www.jakel168.com/2011/01/my-new-years-resolution-part-1.html"&gt;resolution I made for 2011&lt;/a&gt;, see what I've accomplished:&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2011 Resolutions:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. Master all languages I know&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I mentioned that I'm gonna try my best to master all the languages I know: JavaScript (not Java, :P), C#, AS3, and Japanese. For one, I've been doing most of my game programming in Unity3D using C#, and worked on a couple of titles (one released, a few simple prototype-jam games, one prototype which is now pending for funding, and one for my university's assignment: SecondVisions). I consider myself an intermediate-level C# game programmer now. Of course, there's still a lot of stuff I don't know, probably because I haven't find the need to use them yet, but I will, soon.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For JavaScript (not Java), it's basically just the same as C#, they just have some difference in syntax, and how they handle enumerations... etc. I started out with JavaScript when I first started with Unity3D, and then switching to C# a year ago because of various reasons, so I do know how both side of the game works.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For AS3, I've completely given up on it, I've neither write any AS3 codes nor open a new Flash game project, in a while now. It was the first languages I learned when I first started doing game programming, before I met Unity3D. I'll always remember those great (unfinished) game development times I had with it 2 years ago.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For Japanese, I've been trying my best to find time studying it... I just can't, but I'm not giving up on it yet. The main reason I can't do it is mostly because of poor time management and no motivation. Well, it's not like I have better time management skill now, but I will try my best again this year. I've changed some language of the software I use to Japanese, and even played mostly Japanese games on my NDS and PSP. As for motivations, I've recently talked to the representatives of &lt;a href="http://dena.jp/intl/"&gt;DeNA&lt;/a&gt;&amp;nbsp;during the previous Malaysia's IGDA, about my wish to venture into the Japan game industry. They told me some stuff about how I could possibly get in, and offer some help and guidance for me too. So that's a start too~ ^w^&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2. Finish projects and submit them&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Like I mentioned above, I'm involved in one released game. It's called &lt;a href="http://itunes.apple.com/jp/app/octo-explorer-hd/id431042662?l=en&amp;amp;mt=8"&gt;OctoExplorer&lt;/a&gt; and it was from when I'm still doing my internship at &lt;a href="http://www.teratotech.com/"&gt;TeratoTech&lt;/a&gt;. I worked on most of the game mechanics side of the project (not the graphic, sound, nor the Facebook and Twitter&amp;nbsp;integration)... but I consider that "released game", a finished and submitted project... though I do not own it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Moreover, I've joined &lt;a href="http://gameprototypechallenge.com/"&gt;a few&amp;nbsp;jams&lt;/a&gt; around the first half of 2011, and released a 3 prototype games. And 3 months ago, I joined a pitch-a-game-for-funding event called &lt;a href="http://www.mscmalaysia.my/article/ICON/programmes"&gt;ICON2 (and ICONdap)&lt;/a&gt;, where I'll have to develop a game prototype within a month and pitch it up to the judges for funding to further develop the game into a sellable product. It was a really fun experience, and I've developed a playable prototype called "Little Green Hood". The judges seems to like it (and is now pending their approval for the funding), and I've also got somebody from a venture capital contacting me about future business venture-related stuff.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Last but not least, SecondVisions, a game I proposed for my final year project, and have written a few development posts about it... is not completed yet. I'm kinda like having an on and off development with it, because the design of the game got kinda messed up around October, I'm kinda lost in the "direction" of the game, losing interest and motivation to finish it, and I was trying to focus a whole month and a half into the ICON2 thing. But I'm currently close to graduating, and is trying me best to finish the game by February. I can't afford to fail this class~ &amp;gt;.&amp;amp;lt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. Learn Android/iOS apps development&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I tried to get a few books, started learning how to code Xcode or Cocos2D.&amp;nbsp;After reading a bunch of articles by some experienced developers, and talking to some of them from my country... while learning and getting an extra skill is good, sometimes it's also better to just master the skill that you have right now, while it still have its market value. It's more of the "Jack of all trades" thing: you learn a whole bunch of stuff and in the end not really good at any of them.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, I'm just gonna continue sticking to Unity3D and C#, mastering it, develop some games, publish them... until its lifespan is over~ :D&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4. Lose 10Kg&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I failed at this one too... I've only lost 2kg at most, but gained it back during a series of continuous wedding ceremony held by my relatives.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I tried joining &lt;a href="http://www.fitocracy.com/"&gt;Fitocracy&lt;/a&gt;, but then quit because I was really busy with my works and stuff... It's really hard to lose weight~ =_=&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;5. Earn 100,000&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, I quit doing freelance a few weeks before I started my internship because of all the stress it provided me, and haven't been doing any freelance stuff since then. The amount of allowance I got from my internship does not even reach the 5k mark. And I totally forgotten about this resolutions list by the time my internship started... can't really blame me~ =3= &amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;6. Get a life&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I started joining events in and outside campus, met a lot of&amp;nbsp;game developers&amp;nbsp;during IGDA and&amp;nbsp;ICON2&amp;nbsp;events, get a lot of friends... at least I'm socializing with people outside my campus. And there's not much female in IGDA events though, probably they aren't really into game development, but I do hope there'll be more this year~ :D&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Conclusion:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've accomplished half of what I promised myself to do in 2011, and it's not bad for someone like me. "50% of something is better than 100% of nothing", rite?&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2011 has been a great year for me, I met a lot of great people, got a lot of new friends, learn a greats deal of knowledge from them... it's a year where I truly began my journey as a game developer, and there's I know there's more stuff waiting for me to accomplished in the future.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, now that 2012 is already here, I'm gonna start making a new resolutions list too. This time, I'm gonna try a little bit harder, instead of accomplishing 50% of what I promised, I'm gonna try 80% (or more).&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;My next post will be my 2012 resolution list~ ^w^&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3623418857017221295?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3623418857017221295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3623418857017221295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3623418857017221295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3623418857017221295'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2012/01/look-back-at-my-2011-resolutions.html' title='A look back at my 2011 resolutions...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3079344187824885074</id><published>2011-11-22T06:31:00.001-08:00</published><updated>2011-11-22T07:04:25.503-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tracking'/><category scheme='http://www.blogger.com/atom/ns#' term='display'/><category scheme='http://www.blogger.com/atom/ns#' term='Blender'/><category scheme='http://www.blogger.com/atom/ns#' term='texture in scene'/><category scheme='http://www.blogger.com/atom/ns#' term='textured solid'/><category scheme='http://www.blogger.com/atom/ns#' term='showing'/><title type='text'>Blender Notes #1</title><content type='html'>&lt;div style="text-align: justify;"&gt;Just to note on some stuff I always forgot when using Blender...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. Making Camera tracks an object&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Adjusting the camera (both translation and rotation) can be a pain if doing it manually. In one of the Blender tutorial I followed, they showed me a way to make camera tracking on object easier.&amp;nbsp;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;First, add an "empty object" in scene by pressing Shift + A to bring up the "Add" menu and select "Empty".&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Then, press S and enlarge the empty object so that it's easier to identify in scene.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-cqpRxuBxUeg/Tsu00PSjP-I/AAAAAAAABtc/fMp5D4l_1fc/s1600/Screen+shot+2011-11-22+at+10.35.05+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://1.bp.blogspot.com/-cqpRxuBxUeg/Tsu00PSjP-I/AAAAAAAABtc/fMp5D4l_1fc/s400/Screen+shot+2011-11-22+at+10.35.05+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Next, make sure that there's a camera in the scene (else just press Shift + A again to add one from the "Add" menu). Right click and select the camera first, follow by the "empty object"... it has to be in this sequence, so that we can to tell Blender that we want the camera to "follow" or "track" the "empty object".&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;When both are selected, press Control + T to bring up the "Make Track" menu, and select "Track To Constraint".&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8Ii9HpsD17g/Tsu00t5kNhI/AAAAAAAABtg/ADgrS77T4L0/s1600/Screen+shot+2011-11-22+at+10.35.31+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/-8Ii9HpsD17g/Tsu00t5kNhI/AAAAAAAABtg/ADgrS77T4L0/s400/Screen+shot+2011-11-22+at+10.35.31+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now move the "empty object" around, and you should be having the camera following/tracking it. Press 0 to see the effect. And since the "empty object" is empty, it won't get rendered in scene...&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. Showing texture in scene&lt;/b&gt;&lt;br /&gt;Well, a lot of times when you think you have added a material and a texture on your object, but the mesh in scene didn't seems to have any texture on it, and is still white in color.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-unLMxY04z0g/Tsu44mr81pI/AAAAAAAABt0/-gyYmuxAYZg/s1600/Screen+shot+2011-11-22+at+10.52.47+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="315" src="http://4.bp.blogspot.com/-unLMxY04z0g/Tsu44mr81pI/AAAAAAAABt0/-gyYmuxAYZg/s400/Screen+shot+2011-11-22+at+10.52.47+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;The trick to getting this done is simple, all you have to do is to press N to bring up the right side panel, and look for the "Display" tab. Look for "Textured Solid" and check the box, and your texture will be up on the mesh in no time...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YzNZPb4em4k/Tsu45vW89YI/AAAAAAAABt8/kb7UShwJZYk/s1600/Screen+shot+2011-11-22+at+10.55.11+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="315" src="http://4.bp.blogspot.com/-YzNZPb4em4k/Tsu45vW89YI/AAAAAAAABt8/kb7UShwJZYk/s400/Screen+shot+2011-11-22+at+10.55.11+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3079344187824885074?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3079344187824885074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3079344187824885074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3079344187824885074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3079344187824885074'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/11/blender-notes-1.html' title='Blender Notes #1'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-cqpRxuBxUeg/Tsu00PSjP-I/AAAAAAAABtc/fMp5D4l_1fc/s72-c/Screen+shot+2011-11-22+at+10.35.05+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4493981180106625024</id><published>2011-10-27T17:12:00.000-07:00</published><updated>2011-10-27T17:16:32.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='Mdec'/><category scheme='http://www.blogger.com/atom/ns#' term='SPSZ'/><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='Unity evangelist'/><category scheme='http://www.blogger.com/atom/ns#' term='Second Person Shooter Zato'/><category scheme='http://www.blogger.com/atom/ns#' term='Carl Callewaert'/><category scheme='http://www.blogger.com/atom/ns#' term='iTrain'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='Himogames'/><category scheme='http://www.blogger.com/atom/ns#' term='Himoji'/><category scheme='http://www.blogger.com/atom/ns#' term='ICON2'/><title type='text'>Chapter 100</title><content type='html'>&lt;div style="text-align: justify;"&gt;I haven't been posting stuff for quite a while, and I can see from the blogger stats that the number of viewers are slowly declining. Not that I care about that but it's good to know that someone is reading my blog :D&amp;nbsp;So, what I've been up to recently?&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;SecondVisions&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, I'm currently still working on SecondVisions, and the reason I still haven't release any updates for it for such a long time was because right about 2 months ago, I felt that this game wasn't really going towards to direction I'm hoping for, and the level design looks kinda mess up in&amp;nbsp;overall, some of the (cool) features were added just because it was cool but doesn't really have any use, puzzle design for this game has been forever hard, etc. As soon as I finishes my previous semester, I spent the rest of my holiday brainstorming and redesigning the game, came out with a story, an ending, a simple puzzle for the mechanics, remove some of the useless features, done some sample level designing... and it's going pretty well so far.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm redoing some of the in-game assets, making them arrangeable within all levels, and not like some assets are only suitable for certain levels and stuff. Hope that these new directions could help me finish building my levels faster, and release some new updates for you those who are following the development soon.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Second Person Shooter Zato&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;Did I mentioned before that SecondVisions was actually a game inspired from the famous, &lt;a href="http://www.kongregate.com/games/himojii/second-person-shooter-zato"&gt;titular second person shooter game&lt;/a&gt;&amp;nbsp;by &lt;a href="http://himogames.com/"&gt;Himogames&lt;/a&gt;? Well, first of all, my character is blind (same as SPSZ), and have to rely on living things around him to view around.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="297" src="http://3.bp.blogspot.com/-wB8nHmvQhM0/TqnsZHYl5uI/AAAAAAAABr0/s8Qsj6b8zeE/s400/secondpersonshooterbig.jpg" width="400" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;I talked to the original creator of the game, &lt;a href="http://twitter.com/#!/himojii"&gt;Himoji-san&lt;/a&gt;, about his awesome game, and this current game which I'm developing. And he &lt;a href="http://twitter.com/#!/himojii/status/124491991206739968"&gt;seems pretty cool about it&lt;/a&gt; and would be interested to know more about my project.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;ICON2&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For most of you who didn't know what ICON2 is, it's a project pitching event held in Malaysia (annually I supposed), where you pitch your ideas, and then if they like it, you'll get funding to develop a mobile game within a months.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I just got back yesterday from the event, proposing a Zelda-like game to them, and I got in. Which means starting from next week, I'll be attending a one week intensive Unity training,&amp;nbsp;and then to develop the game after the training week.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The training coach was&amp;nbsp;an&amp;nbsp;&lt;a href="http://gamebrains.com/"&gt;industry experts, Bret Bibby, founders of GameBrains.com&lt;/a&gt;, whom people from the IGDA described&amp;nbsp;him to be the kind of person who "use Unity and doesn't use the Unity Editor". I was like... how it that possible? What's the point of using Unity3D then? But from what I heard, he sounded awesome, and I'm very looking forward to meet him soon, learn from him, make an amazing game, and win the prize!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Carl Callewaert - Unity Evangelist&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;On the same day of the ICON2 events, I was attending a Unity seminar held at Hotel Novotel, Kuala Lumpur. The speaker of the Unity session was Carl Callewaert, an Unity Evangelist. He gave a talk on some of the new Unity features in the latest version... and the upcoming features for 3.5, gave a talk on how to conduct the light mapping, occlusion culling, and some other advanced topics... which I kinda missed because I have to go for the ICON2 event for my pitching session. But I do learned a lot from him, and hope we could have more people from Unity to come down here to Malaysia and gives us talks on... well you know... Unity3D!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4493981180106625024?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4493981180106625024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4493981180106625024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4493981180106625024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4493981180106625024'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/10/chapter-100.html' title='Chapter 100'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-wB8nHmvQhM0/TqnsZHYl5uI/AAAAAAAABr0/s8Qsj6b8zeE/s72-c/secondpersonshooterbig.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3235856241326957383</id><published>2011-09-30T10:41:00.000-07:00</published><updated>2011-09-30T10:41:49.914-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='Qualcomm AR SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><category scheme='http://www.blogger.com/atom/ns#' term='AR'/><title type='text'>Exploring AR using Unity3D and Qualcomm AR SDK</title><content type='html'>&lt;div style="text-align: justify;"&gt;This week, I spent a large amount of time wondering what I should do to spend my first week of holiday before throwing myself into the sea of assignments, which I will do on the 2nd and 3rd week of holiday later on. I decided to explore AR.&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;I've done AR before, using Flash and AS3:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://www.facebook.com/v/1235166997842" /&gt;&lt;embed src="http://www.facebook.com/v/1235166997842" type="application/x-shockwave-flash"allowscriptaccess="always" allowfullscreen="true" width="400" height="224"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now I'm doing it again after 2 years, only this time I'm using the softwares which I'm most familiar with, Unity3D. As for the AR SDK, a lot of experts would suggest &lt;a href="http://poweredbystring.com/"&gt;String&lt;/a&gt;&amp;nbsp;(cuz it's more powerful, faster and stuff). But I'm more of a hobbyist developer and don't really plan on spending much money on developing commercial AR app/game just yet. Then I found &lt;a href="https://developer.qualcomm.com/develop/mobile-technologies/augmented-reality"&gt;Qualcomm&lt;/a&gt;, which is a royalty-free AR SDK for Android and iOS development.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="https://ar.qualcomm.at/qdevnet/sdk/ios"&gt;The Qualcomm AR SDK download and getting started site&lt;/a&gt; gave an very good tutorial on how you could make your first AR app using Xcode or Unity. Soon after following the tutorial, I started building more stuff into the Unity scene and writing codes to test out the capabilities of the SDK. At the same time, I'm also thinking about the kind of app or game I wanna build using it, which makes me wanna know more and more about the SDK.&lt;br /&gt;&lt;br /&gt;Here's some notes from those experiments I did in Unity (might be useful for certain beginners):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- when building a scene, it needs to have at least an &lt;b&gt;ARCamera&lt;/b&gt; and an&lt;b&gt; ImageTarget prefab&lt;/b&gt;.&lt;br /&gt;- anything which is &lt;b&gt;a child of the&lt;/b&gt; ImageTarget,&lt;b&gt;&amp;nbsp;&lt;/b&gt;will only show up/appear if the ImageTarget is tracked. Including those children which are moving around, as long as they are part of ImageTarget, they'll &lt;b&gt;dis-/appear together&lt;/b&gt; with the ImageTarget.&lt;br /&gt;- anything which is&lt;b&gt; not a child of&lt;/b&gt; the ImageTarget, will appear static in front of the ARCamera in an AR scene. That said, anything that's outside of ImageTarget will always appear in the scene, and &lt;b&gt;moving along with the camera&lt;/b&gt; as if the camera was its parent.&lt;br /&gt;- For instance, if you're spawning some monsters into your AR scene, you're gonna want to make them a child of the ImageTarget; else if you just spawn them in the scene, they'll move as the camera move.&lt;br /&gt;- you can call &lt;b&gt;OnTrackableStateChanged&lt;/b&gt; (also &lt;a href="https://ar.qualcomm.at/qdevnet/sdk/ios"&gt;listed in their getting started site&lt;/a&gt;) if you wanna detect whether or not the &lt;b&gt;ImageTarget is tracked&lt;/b&gt; (appear in the scene when camera is facing the marker)&lt;br /&gt;- if I'm not mistaken, you can only call OnTrackableStateChanged in an ImageTarget script (any script you dragged into ImageTarget)&lt;br /&gt;&lt;br /&gt;I think that's about all the notes I have for now, if I have more I'll add them in here.&lt;br /&gt;&lt;br /&gt;Anyway, I made an AR game using Unity3D and Qualcomm AR SDK, called YokaiShooter, where enemies called "Yokai" are gonna get spawn randomly into the scene and you're gonna have to shoot them down to prevent them from reaching the city.&lt;br /&gt;&lt;br /&gt;Gameplay video:&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/ezs9v-a54L8" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Screenshots:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-OnF_fQFm2B0/ToX-E9SGNRI/AAAAAAAABrI/qb31RiVDVjU/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-OnF_fQFm2B0/ToX-E9SGNRI/AAAAAAAABrI/qb31RiVDVjU/s400/1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-d12wAB6qECU/ToX-FwuELzI/AAAAAAAABrM/RElVJCccHHE/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://4.bp.blogspot.com/-d12wAB6qECU/ToX-FwuELzI/AAAAAAAABrM/RElVJCccHHE/s400/2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hwKLJblvujw/ToX-HXpKHcI/AAAAAAAABrQ/r_d7JlWooII/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-hwKLJblvujw/ToX-HXpKHcI/AAAAAAAABrQ/r_d7JlWooII/s400/3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o0d23qeUWMU/ToX-ImoWbbI/AAAAAAAABrU/X5t4srBdOr4/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://1.bp.blogspot.com/-o0d23qeUWMU/ToX-ImoWbbI/AAAAAAAABrU/X5t4srBdOr4/s400/4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9a3fwTLVLFg/ToX-JwD-eBI/AAAAAAAABrY/E8rdcRdMQCw/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://4.bp.blogspot.com/-9a3fwTLVLFg/ToX-JwD-eBI/AAAAAAAABrY/E8rdcRdMQCw/s400/5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Not coming to an AppStore near you :D&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3235856241326957383?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3235856241326957383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3235856241326957383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3235856241326957383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3235856241326957383'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/exploring-ar-using-unity3d-and-qualcomm.html' title='Exploring AR using Unity3D and Qualcomm AR SDK'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/ezs9v-a54L8/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1749697495105151109</id><published>2011-09-20T10:50:00.000-07:00</published><updated>2011-10-01T04:35:50.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><title type='text'>Second Visions - Basic Control Preview (Playable)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YDK07GKK7uo/Tn2_oMmPo3I/AAAAAAAABrE/sOBPSf6DajU/s1600/Splash.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-YDK07GKK7uo/Tn2_oMmPo3I/AAAAAAAABrE/sOBPSf6DajU/s400/Splash.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe height="470" src="http://www.gayasoft.ch/bloggergadget/UnityIFrameGadget.php?url=http://dl.dropbox.com/u/40305586/SecondVisions_Web.unity3d&amp;amp;width=580&amp;amp;height=435" width="620"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1749697495105151109?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1749697495105151109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1749697495105151109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1749697495105151109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1749697495105151109'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/second-visions-basic-control-preview.html' title='Second Visions - Basic Control Preview (Playable)'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-YDK07GKK7uo/Tn2_oMmPo3I/AAAAAAAABrE/sOBPSf6DajU/s72-c/Splash.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-596643162294317181</id><published>2011-09-19T11:57:00.000-07:00</published><updated>2011-09-19T12:05:09.530-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='gadget'/><category scheme='http://www.blogger.com/atom/ns#' term='web player'/><title type='text'>Unity3D: Web Player Blogger Gadget</title><content type='html'>Been meaning to try this for a really long time (found the link almost a year ago in unity forum):&amp;nbsp;&lt;a href="http://forum.unity3d.com/threads/45697-Unity-Blogger-Gadget-and-Unity-iFrame-Gadget"&gt;http://forum.unity3d.com/threads/45697-Unity-Blogger-Gadget-and-Unity-iFrame-Gadget&lt;/a&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe height="620" src="http://www.gayasoft.ch/bloggergadget/UnityIFrameGadget.php?url=http://dl.dropbox.com/u/40305586/deepth.unity3d&amp;amp;width=580&amp;amp;height=580" width="620"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-596643162294317181?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/596643162294317181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=596643162294317181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/596643162294317181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/596643162294317181'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/unity3d-web-player-blogger-gadget.html' title='Unity3D: Web Player Blogger Gadget'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1045528274157673653</id><published>2011-09-19T05:11:00.000-07:00</published><updated>2011-09-19T05:11:23.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='second sights'/><title type='text'>Second Visions - Dev Blog 4</title><content type='html'>&lt;div style="text-align: justify;"&gt;First of all, an announcement! I've just found out that there's already a game out there in the market which is also called &lt;a href="http://www.youtube.com/watch?v=FSfdluLfpj4&amp;amp;feature=youtu.be"&gt;"Second Sight", for the PS2 console&lt;/a&gt;.&amp;nbsp;To avoid confusion between that product and mine, I'm gonna have to change the name from "Second Sights" to "Second Visions", without changing the meaning of the name. Apparently I didn't do enough research for this game of mine, what a bummer!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So the name has changed, now let's move on to the new updates! I've already started working on the coding part, and the basic control&amp;nbsp;of the game&amp;nbsp;has been done, and here's a video for it:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/DM1ppIMKDSY" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;In there, is a preview build of Second Visions, to let the players understand a thing or two about the controls of the game (and probably the difference between this and PS2's "Second Sights").&lt;br /&gt;&lt;br /&gt;That's all for today's post, thanks for reading!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1045528274157673653?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1045528274157673653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1045528274157673653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1045528274157673653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1045528274157673653'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/second-visions-dev-blog-4.html' title='Second Visions - Dev Blog 4'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/DM1ppIMKDSY/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-510632257037958326</id><published>2011-09-13T17:42:00.000-07:00</published><updated>2011-09-24T04:24:32.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='Blender'/><title type='text'>Second Visions - Dev Blog 3</title><content type='html'>Just finished up some animations for the main character of Second Visions. In the new FBX, it now has these animations:&lt;br /&gt;- idle&lt;br /&gt;- walk&lt;br /&gt;- interact&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;- interact collect&lt;br /&gt;- interact receive&lt;br /&gt;- idle hold&lt;br /&gt;- walk hold&lt;br /&gt;- recline&lt;br /&gt;- recline down&lt;br /&gt;&lt;br /&gt;and here's a video of it:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe class="twitvid-player" frameborder="0" height="360" src="http://www.twitvid.com/embed.php?guid=KTATY&amp;amp;autoplay=0" title="Twitvid video player" type="text/html" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Will start working on the scripting part after I get some sleeps... :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-510632257037958326?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/510632257037958326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=510632257037958326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/510632257037958326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/510632257037958326'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/second-sights-dev-blog-3.html' title='Second Visions - Dev Blog 3'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2467243608750584577</id><published>2011-09-08T03:31:00.000-07:00</published><updated>2011-09-08T03:31:34.456-07:00</updated><title type='text'>An Obvious Failure</title><content type='html'>&lt;div style="text-align: justify;"&gt;Last month, I sent an entry for a local game making competition called the &lt;a href="http://www.mscmalaysia.my/topic/IPCC+2011"&gt;IPCC (Intellectual Property Creator Challenge)&lt;/a&gt;&amp;nbsp;which was held every year for Malaysians to create creative projects, then submit it for pitching it up to get a 50 grands (RM) funding to produce a commercial ready game later on. And everyone was given 3 months (since the announcement) to develop their projects.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="121" src="http://1.bp.blogspot.com/-WbNVoe_gywY/TmiZUfl_sqI/AAAAAAAABqI/Hhy5z4W0gxg/s400/banner_image.jpg" width="400" /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, I had always dream of getting into one of this competition, get the funding and start making games for a living, and maybe drop out of college to found my company too. Back in 2010, they also had a similar competition, but at that time, I'm still not much of a good game developer just yet. I don't mean I am that "good" now, I just don't have the skill to create a finish game. The engine which I was using that time was Flash Professional CS4, and I'm still unaware of the existence of great Flash game library/engine such as &lt;a href="http://flashpunk.net/"&gt;FlashPunk&lt;/a&gt; or &lt;a href="http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page"&gt;FlashDevelop&lt;/a&gt;, which could literally lower the amount of my scripting time.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I had all these great ideas about the game I'm gonna make for the 2010 version of IPCC, written a full GDD for it, and even go as far as recruiting someone to join my team.&amp;nbsp;And as always, I failed to make anything for it. Mostly because I don't have the will to do it; I have a tons of assignments back then to block me from opening Flash up; my majoring department had just started introducing us to Unity (right around when Unity became free) and I'll have to start learning to use it for my project.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But now things have change. I've became a better and faster coder and developer. Right around when IPCC 2011 was announced, I was still at the last month of my internship programme, so I have like 2 months to develop a game for it. Never mind the design stage of my FYP (final year project), which started as soon as I finished my internship programme, my FYP schedule was like super loose, and I should have plenty of time to develop something.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I only started developing something around 3 to 4 days before the deadline of IPCC 2011, and manage to finish up the basic game mechanics. Even though there weren't much graphics in it, I submitted it anyway. Not to mentioned the projects proposal in which the participants needed to submit along with the entry, which I finish within 2 hours because I thought the deadline was gonna come in 3 more hours, but turns out they've got the time wrong.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The moment I'm submitting it, I knew I'm never gonna get anything due to 3 reasons:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. the prototype entry was developed within 3 days&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. the projects proposal was written within 2 hours, without giving much thoughts into it, and I missed out quite a few vital elements, such as the: production timeline (which I have no idea on where to start), budget (my first thought of it was zero, and finally realized I was supposed to divide the given 50 grands productively), team implementation (my team only consist of me, and a few others who weren't directly involved in the projects; I only use their name so that my team have enough people)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. I didn't follow the guideline given... it says to design/develop a casual game, but I suggest something bigger~&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Thus, this post was to remind the future Jake again that he should never ever again:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. develop a game in less than a month&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. write a project proposal first before building the game&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. if the guideline says develop a "casual game", then god-dammit develop a CASUAL GAME!!!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That is all, thanks for reading~&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Regards&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Past Jake&lt;a href="http://www.mscmalaysia.my/topic/IPCC+2011"&gt;http://www.mscmalaysia.my/topic/IPCC+2011&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2467243608750584577?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2467243608750584577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2467243608750584577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2467243608750584577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2467243608750584577'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/obvious-failure.html' title='An Obvious Failure'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-WbNVoe_gywY/TmiZUfl_sqI/AAAAAAAABqI/Hhy5z4W0gxg/s72-c/banner_image.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4338855122641836867</id><published>2011-09-05T07:15:00.000-07:00</published><updated>2011-09-19T04:56:15.735-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='character'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='Blender'/><title type='text'>Second Visions - Dev Blog 2</title><content type='html'>&lt;div style="text-align: justify;"&gt;A lot have changed since the last post of the "Second Visions" column. For one, in order to make the process easier, I've started learning Blender 3D and using it to develop the 3D assets of 2nd Visions, due to the reason that one, I wanted to use my MBP for the entire development of the game; and two, Blender offers a much more easier environment for 3D assets building.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Thus for the past few days during the holiday, I've been learning to adapt to the Blender's interface, learn all of its shortcuts and stuff, while following this book: &lt;a href="http://www.amazon.com/Character-Development-Blender-Jonathan-Williamson/dp/1435456254/ref=sr_1_1?ie=UTF8&amp;amp;qid=1315231058&amp;amp;sr=8-1"&gt;Character Development in Blender 2.5&lt;/a&gt;. And I quite like it though, especially its UV map unwrapping part, which I can very easily unwrap an entire human model to a beautiful UV map in 15 minutes; while in 3ds Max, it'll took me about 3 to 7 days to unwrap and stitch up the UVs to an okay-looking UV map.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've only been using Blender for about 7 to 8 days now (not to forget I also have one or two tricks from when I was using 3ds Max), and here's a 3D character model which I made in Blender for Second Visions:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--2lwhZmfJ0s/TmTXRzCRTcI/AAAAAAAABns/J1QQnPyWzyI/s1600/prisonerTexed00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/--2lwhZmfJ0s/TmTXRzCRTcI/AAAAAAAABns/J1QQnPyWzyI/s400/prisonerTexed00.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Zu69nvtpsLI/TmTXSeNLqBI/AAAAAAAABnw/o2c3SSDfgnM/s1600/prisonerTexed01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-Zu69nvtpsLI/TmTXSeNLqBI/AAAAAAAABnw/o2c3SSDfgnM/s400/prisonerTexed01.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YRBt_8ThY-Y/TmTXTJjqVwI/AAAAAAAABn0/5kl2lqnnWkk/s1600/prisonerTexed03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-YRBt_8ThY-Y/TmTXTJjqVwI/AAAAAAAABn0/5kl2lqnnWkk/s400/prisonerTexed03.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-twO4HcFLyGM/TmTXUMLWXTI/AAAAAAAABn4/Egrxx-6u3ec/s1600/prisonerTexed04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-twO4HcFLyGM/TmTXUMLWXTI/AAAAAAAABn4/Egrxx-6u3ec/s400/prisonerTexed04.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-QEilIkGS0R8/TmTXVZ4mABI/AAAAAAAABn8/wQ9ciGMg6pk/s1600/prisonerTexed05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-QEilIkGS0R8/TmTXVZ4mABI/AAAAAAAABn8/wQ9ciGMg6pk/s400/prisonerTexed05.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The main character was supposed to be a fugitive-like character who was captured to be a lab rat for an illegal chemical experiment. So I think I've achieve my goal here...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VoE-qZ3AarI/TmTYQxCqcMI/AAAAAAAABoA/hZn5qb90HaU/s1600/prisonerUV_2048.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-VoE-qZ3AarI/TmTYQxCqcMI/AAAAAAAABoA/hZn5qb90HaU/s400/prisonerUV_2048.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;And here's the UV map which I&amp;nbsp;boastfully brag that I finished in 15 minutes XD...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;That's all I have for now, and next, I'm gonna rig and animate it... so stay tuned~&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4338855122641836867?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4338855122641836867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4338855122641836867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4338855122641836867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4338855122641836867'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/second-sights-dev-blog-2.html' title='Second Visions - Dev Blog 2'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/--2lwhZmfJ0s/TmTXRzCRTcI/AAAAAAAABns/J1QQnPyWzyI/s72-c/prisonerTexed00.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4150066171005327312</id><published>2011-09-01T07:54:00.000-07:00</published><updated>2011-09-01T23:17:10.129-07:00</updated><title type='text'>One September Post</title><content type='html'>&lt;div style="text-align: justify;"&gt;Finally got some time to write something here. I haven't been developing games lately, and by developing, I mean doing the coding part... as I'm now working on the &lt;a href="http://www.jakel168.com/2011/08/second-sights-dev-blog-1.html"&gt;3d modelling and animation for one of my next game: Second Sights&lt;/a&gt;... in Blender3D. So no real gamedev post for a while this time around... will probably start next week or so, so stay tuned! :D&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;By the way, I just turned 21 two weeks ago, I'm now finally a man (lol). During my cake candle-blowing session, I wished for an unusual wish -- to retire before I'm 25. Which means, I still have 4 years to go then... and seriously, I still haven't created a sellable game yet, or try testing out the Apple's app-developer thing I signed up a while back. Also, it means I've got a lot to do from now on then~ I've list down a list of things I wanna to do before I'm 22, and started conducting some of them (including signing up for a piano lesson)... so that's a start for me.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4150066171005327312?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4150066171005327312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4150066171005327312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4150066171005327312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4150066171005327312'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/09/september-post-source-codes-for-turn.html' title='One September Post'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2564917939865419676</id><published>2011-08-23T03:39:00.000-07:00</published><updated>2011-09-19T04:56:58.963-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3ds max'/><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><title type='text'>Second Visions - Dev Blog 1</title><content type='html'>Looks like the development blog for Second Visions isn't going to be a daily thing, but more like weekly. I just started working on it Sunday night, and now I've kinda completed the game's level 1 environment models.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-bHUH7e2cBHw/TlOCWZef7II/AAAAAAAABnc/ntEFklYtLaY/s1600/ss00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-bHUH7e2cBHw/TlOCWZef7II/AAAAAAAABnc/ntEFklYtLaY/s400/ss00.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4ZazRNYqR6g/TlOCWxXfTMI/AAAAAAAABng/3WjG2k8xjdQ/s1600/ss01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-4ZazRNYqR6g/TlOCWxXfTMI/AAAAAAAABng/3WjG2k8xjdQ/s400/ss01.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I have until this Thursday to finish texturing them, so I'll have to work harder.&lt;br /&gt;&lt;br /&gt;And according to this gantt chart, I have about 5 weeks to complete the prototype...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SsqkK6d6bKA/TlODS2VQBLI/AAAAAAAABnk/1RNQ1EH1GHc/s1600/ganttChart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-SsqkK6d6bKA/TlODS2VQBLI/AAAAAAAABnk/1RNQ1EH1GHc/s400/ganttChart.png" width="341" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So... good luck to me~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2564917939865419676?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2564917939865419676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2564917939865419676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2564917939865419676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2564917939865419676'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/08/second-sights-dev-blog-1.html' title='Second Visions - Dev Blog 1'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-bHUH7e2cBHw/TlOCWZef7II/AAAAAAAABnc/ntEFklYtLaY/s72-c/ss00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6071145947599286530</id><published>2011-08-18T19:24:00.000-07:00</published><updated>2011-09-24T04:24:56.469-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='second visions'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><title type='text'>Second Sights - Announcement</title><content type='html'>&lt;div style="text-align: justify;"&gt;The design stage for &lt;b&gt;"Second Sights"&lt;/b&gt; just ended yesterday, and according to my schedule I have about 5 weeks to develop a prototype. Actually I don't really need to be in such a rush, I have about 20 weeks (5 months) to develop the Beta, but I wanted to push myself more this time.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So "&lt;b&gt;Second Sights&lt;/b&gt;" is a game about a blind guy who has the ability to "borrow/steal" the biological perception of living things around him. And it's gonna be a second person shooter, stealth-action game, and a little bit of simulation involve. If it's possible, I'll try to do a daily post on my progress, might skip a few days though.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6071145947599286530?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6071145947599286530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6071145947599286530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6071145947599286530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6071145947599286530'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/08/second-sights-announcement.html' title='Second Sights - Announcement'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5335824393993779463</id><published>2011-08-10T08:57:00.000-07:00</published><updated>2011-09-01T23:25:49.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='JRPG'/><category scheme='http://www.blogger.com/atom/ns#' term='battle system'/><category scheme='http://www.blogger.com/atom/ns#' term='turn-based'/><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><category scheme='http://www.blogger.com/atom/ns#' term='RPG'/><title type='text'>UnityExperiment 101: Turn-Based RPG Battle System</title><content type='html'>&lt;div style="text-align: justify;"&gt;JRPG or turn-based RPG was my favorite game genre, particularly for games like the Persona, Final Fantasy, and the Tales-of series. I hope that one day I'll be able to make a turn-based RPG games as awesome as those (maybe not as good as their graphics :D).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-R2IvIV03UCw/TkKoiym5HiI/AAAAAAAABmA/PxFIns90wco/s1600/Persona+3+Battle+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="224" src="http://2.bp.blogspot.com/-R2IvIV03UCw/TkKoiym5HiI/AAAAAAAABmA/PxFIns90wco/s320/Persona+3+Battle+2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I made a turn-based RPG game about two years ago, when I first started using Unity. It's called &lt;b&gt;EcoTat: The Bengal Tigress&lt;/b&gt;, you can&amp;nbsp;&lt;a href="http://www.jakel168.com/p/blog-page.html"&gt;find it in my games archive&lt;/a&gt;. The battle system was less logic based and more animation based, as I have less time to develop it while learning how to use its scripting system.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;This time around, I take a little time, and invest in building a new turn-based RPG system. Actually it was for a competition which ended yesterday, thus this battle system will looks like a rushed project.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZsaHMOyj2yM/TkKqCz0-G-I/AAAAAAAABmE/6EfltLiKdaA/s1600/Screen+shot+2011-08-10+at+11.55.05+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="312" src="http://3.bp.blogspot.com/-ZsaHMOyj2yM/TkKqCz0-G-I/AAAAAAAABmE/6EfltLiKdaA/s400/Screen+shot+2011-08-10+at+11.55.05+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;You can download and play them here:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;PC Vers:&lt;/b&gt;&amp;nbsp;&lt;a href="https://rapidshare.com/files/2648847294/WarriorRPG_PC.zip"&gt;https://rapidshare.com/files/2648847294/WarriorRPG_PC.zip&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;MAC Vers:&amp;nbsp;&lt;/b&gt;&lt;a href="https://rapidshare.com/files/1050614101/WarriorRPG_MAC.zip"&gt;https://rapidshare.com/files/1050614101/WarriorRPG_MAC.zip&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tell me what you think~&lt;br /&gt;&lt;br /&gt;[UPDATE]&lt;br /&gt;I see that this post had been getting some attention, so I thought I should share the source code for the game above here (click to download):&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="https://rapidshare.com/files/1756499467/WarriorRPG_sources.zip"&gt;Turn-Based RPG System Source&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Have fun~!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5335824393993779463?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5335824393993779463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5335824393993779463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5335824393993779463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5335824393993779463'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/08/unityexperiment-101-turn-based-rpg.html' title='UnityExperiment 101: Turn-Based RPG Battle System'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-R2IvIV03UCw/TkKoiym5HiI/AAAAAAAABmA/PxFIns90wco/s72-c/Persona+3+Battle+2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1345394834671896190</id><published>2011-08-07T08:41:00.000-07:00</published><updated>2011-08-07T08:42:23.521-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='steam'/><category scheme='http://www.blogger.com/atom/ns#' term='domain name'/><category scheme='http://www.blogger.com/atom/ns#' term='ipcc'/><category scheme='http://www.blogger.com/atom/ns#' term='humble bundle'/><category scheme='http://www.blogger.com/atom/ns#' term='anomaly'/><category scheme='http://www.blogger.com/atom/ns#' term='indie'/><title type='text'>newDomainName == awesome;</title><content type='html'>It took exactly 72 hours (3 days) for my new domain name: &lt;a href="http://jakel168.com/"&gt;jakel168.com&lt;/a&gt;&amp;nbsp;to work. I felt both piss off (at Google, for taking so long) and exciting at the same time. However... it was worth the wait, my blog has got its own domain now, and don't I seriously know what else should I do right now... Should I open up a champagne and celebrate it, or continue my game development life as always.&amp;nbsp;Well... I choose the latter.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;I haven't been making any games recently, as much as designing them. Currently designing a game called &lt;b&gt;Second Sights&lt;/b&gt; for my degree's final year project, and also another secret one for a competition which name I shall not disclosed till I submitted it... and hopefully won it, or got into a finalist or something.&lt;br /&gt;&lt;br /&gt;I had been playing quite a lot of indie games, mostly the &lt;a href="http://www.humblebundle.com/"&gt;Humble Bundle 2 and 3&lt;/a&gt;, and &lt;a href="http://store.steampowered.com/app/91200"&gt;Anomaly: Warzone Earth&lt;/a&gt; from Steam... which was an exceptional backward-tower-defense game.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://cdn.steampowered.com/v/gfx/apps/91200/header_292x136.jpg?t=1311202858" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://cdn.steampowered.com/v/gfx/apps/91200/header_292x136.jpg?t=1311202858" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;It has got a 67% discount rite now (about USD3.33 after the cut), I suggest you go get it before the discount ends.&lt;br /&gt;&lt;br /&gt;Actually I shouldn't even be talking rite now, I should be continue working on the secret project, as the submission was tomorrow, before midnight. So, see ya...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1345394834671896190?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1345394834671896190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1345394834671896190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1345394834671896190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1345394834671896190'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/08/newdomainname-awesome.html' title='newDomainName == awesome;'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8439034883105418880</id><published>2011-08-04T11:54:00.000-07:00</published><updated>2011-08-04T11:56:45.275-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='second sights'/><title type='text'>Story writing tips for games</title><content type='html'>&lt;div style="text-align: justify;"&gt;Story telling is very important in games. A lot of award winning games these days, such as the Mass Effect, Bioshock and Fallout franchises, Heavy Rain, Alan Wake tells great stories. And of course, to tell a great story, one must also design a great story for it too. &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;You can’t just depends entirely on the “awesome gameplay idea” you thought you had for your game and ditch out the story elements. Which was a huge mistake that I just realized a while ago while designing &lt;b&gt;Second Sights&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-37e45FiLZOs/TjrrWzwzktI/AAAAAAAABl0/8kdcm75XcSg/s1600/mass-effect-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://3.bp.blogspot.com/-37e45FiLZOs/TjrrWzwzktI/AAAAAAAABl0/8kdcm75XcSg/s400/mass-effect-2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;One big problem with the current design of &lt;b&gt;Second Sights&lt;/b&gt; is that, it has no story. The only part which I’ll ever consider to be a story is the prologue cutscene, which kinda design to tell the story of the origins of the main character through a series of comic panels and BGM. As soon as the prologue cutscene finished being play, the game will start and the main character’s sole mission is to escape the facility where he’s being held at… and that’s all.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I’ve done some research on the topic of writing a (good enough) story for your, and here’s an article by John Sutherland, entitled: “What Every Game Developer Needs to Know about Story”. Link from Gamasutra:&amp;nbsp;&lt;a href="http://bit.ly/tZK2a"&gt;http://bit.ly/tZK2a&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And here’s a little tip on a the basic structure of a game story that the author thinks everyone should keep an eye on:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;First, there’s a protagonist, a&amp;nbsp;&lt;b&gt;hero&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;His or her world is thrown out of order by an&amp;nbsp;&lt;b&gt;inciting incident.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;A&amp;nbsp;&lt;b&gt;gap&lt;/b&gt;&amp;nbsp;opens up between the hero and an orderly life.&lt;/li&gt;&lt;li&gt;The hero tries the normal, conservative action to overcome the gap. It fails. The world pushes back too hard.&lt;/li&gt;&lt;li&gt;The hero then has to take a&amp;nbsp;&lt;b&gt;risk&lt;/b&gt;&amp;nbsp;to overcome the obstacles that are pushing back.&lt;/li&gt;&lt;li&gt;Then there is a&lt;b&gt;&amp;nbsp;reversal&lt;/b&gt;. Something new happens, or the hero learns something she didn’t know before, and the world is out of whack again. A second gap has opened up.&lt;/li&gt;&lt;li&gt;The hero has to take a greater risk to overcome the second gap.&lt;/li&gt;&lt;li&gt;After overcoming the second gap, there is another reversal, opening a third gap.&lt;/li&gt;&lt;li&gt;The hero has to take the greatest risk of all to overcome this gap and get to that&amp;nbsp;&lt;b&gt;object of desire&lt;/b&gt;, which is usually an orderly life.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;So the new story of &lt;b&gt;Second Sights&lt;/b&gt; will be redesigned based upon this… which I thought was actually quite good, because that’s exactly how most game stories are like.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8439034883105418880?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8439034883105418880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8439034883105418880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8439034883105418880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8439034883105418880'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/08/story-writing-tips-for-games.html' title='Story writing tips for games'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-37e45FiLZOs/TjrrWzwzktI/AAAAAAAABl0/8kdcm75XcSg/s72-c/mass-effect-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-235894257638801394</id><published>2011-07-13T19:12:00.000-07:00</published><updated>2011-07-13T19:13:09.473-07:00</updated><title type='text'>Game design, game design, game design...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Haven't update this blog for like ages (around 1 month I guess). Well, I've been working on a new game for my final year project, and it's gonna called &lt;a href="http://superorganicgames.tumblr.com/"&gt;"Second Sights"&lt;/a&gt; (it's lame, will change to a new one later on). It's currently at the design and research stage, been for about 1 month and a half now, and should be going into development in about 2 weeks.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;One of the reason it took such a long time to design was because for our final year project (FYP), we have research on something, anything from an environmental issue, to how different species mate with each other... and then apply our research into our game design. I should've expected that since I'm in a course called "Virtual Reality"!!! There's bound to be some research involve in the VR field. What frustates me the most is that, if this is a VR subject, why isn't there an elective subject for our course which teaches about design research, VR research... but instead, you gave us some corporate identity crap (it's actually a subject for the Advertising course), which have no relation at all with our field. Although corporate identity is kinda important too... I mean, we could very well design some good, standard GUI for our projects, but suck it, I didn't learn anything from it anyway, the lecturer kinda suck, I wanna learn some VR stuff!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, I updated my blog, mission accomplished! I should post some new images of what I've been working on in my next post... else I'll lose the point of starting this blog... And I missed the whole "Achievement Log" again... for like a few months~ XD&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-235894257638801394?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/235894257638801394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=235894257638801394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/235894257638801394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/235894257638801394'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/07/game-design-game-design-game-design.html' title='Game design, game design, game design...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7253693911552221486</id><published>2011-06-20T21:19:00.000-07:00</published><updated>2011-07-13T19:13:44.836-07:00</updated><title type='text'>“escape from Ghost House No.7”, a GPCv6 game</title><content type='html'>The &lt;b&gt;&lt;a href="http://gameprototypechallenge.com/post/6489913469/gpcv6-themes"&gt;GPCv6 event &lt;/a&gt;&lt;/b&gt;started last Monday, and anyone chooses to participate has to make a game within 7 days based on the theme: &lt;b&gt;Electricity&lt;/b&gt; and &lt;b&gt;Closure&lt;/b&gt;.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This time, I’m planning to make a &lt;b&gt;&lt;a href="http://notgames.org/"&gt;“notgame”&lt;/a&gt;&lt;/b&gt;, and on a topic more about conservation and preservation of energy-electricity-related stuff (due to the influence from my majoring’s final year project).&lt;br /&gt;&lt;br /&gt;So this game is about you, went for a visit to Ghost House No.7, and stuck somewhere inside the building. Your torch is dying and you need to recharge the battery…  And your main goal is to escape the building…&lt;br /&gt;&lt;br /&gt;The level design was pretty straight forward, as I’m sorta running out of time here. &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Click the image below to play the (not)game :)&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.kongregate.com/games/JakeL168/escape-from-ghost-house-no-7" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://i866.photobucket.com/albums/ab222/JakeL168/GH7titlePage.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0ymeIdteP_0/TgAbiOZBhMI/AAAAAAAABi8/CbVtBseSyDs/s1600/s2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-0ymeIdteP_0/TgAbiOZBhMI/AAAAAAAABi8/CbVtBseSyDs/s1600/s2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-61AfoAJMinU/TgAbkaC_qyI/AAAAAAAABjA/dlI7YB-JcTw/s1600/s3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-61AfoAJMinU/TgAbkaC_qyI/AAAAAAAABjA/dlI7YB-JcTw/s1600/s3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JeyyHTjZVYc/TgAbl4j9UKI/AAAAAAAABjE/IL7pz2S8OV8/s1600/s4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-JeyyHTjZVYc/TgAbl4j9UKI/AAAAAAAABjE/IL7pz2S8OV8/s1600/s4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vEiUUooURV4/TgAbnJPiBVI/AAAAAAAABjI/eJDHE8IUOts/s1600/s5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-vEiUUooURV4/TgAbnJPiBVI/AAAAAAAABjI/eJDHE8IUOts/s1600/s5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Rzv_fzhDx6s/TgAboWwp6dI/AAAAAAAABjM/YXXw4-fFFxc/s1600/s6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Rzv_fzhDx6s/TgAboWwp6dI/AAAAAAAABjM/YXXw4-fFFxc/s1600/s6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7253693911552221486?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7253693911552221486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7253693911552221486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7253693911552221486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7253693911552221486'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/06/escape-from-ghost-house-no7-gpcv6-game.html' title='“escape from Ghost House No.7”, a GPCv6 game'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-0ymeIdteP_0/TgAbiOZBhMI/AAAAAAAABi8/CbVtBseSyDs/s72-c/s2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6465248343080825832</id><published>2011-06-11T12:10:00.000-07:00</published><updated>2011-06-11T12:15:52.219-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cheatsmanager'/><category scheme='http://www.blogger.com/atom/ns#' term='cheat codes'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='ios'/><category scheme='http://www.blogger.com/atom/ns#' term='unity 3d'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Unity3d + C# + iOS/Android: In-game cheating system</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Abstract (if you wanna skip this part, head below for "Description")&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Debugging and testing your game in the iOS can be kinda annoyingly hard sometimes when you wanna:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. change some attributes of your player in the scene, make sure the controls flow well - &lt;/b&gt;using cheat codes to change some values or booleans, just like changing it in the inspector when you were working on it in the Unity editor&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2. see if you can pass through the levels without crashing - &lt;/b&gt;I faced this problem lots of time, mostly because of graphical memory issues on the iPad or lower generations iPhone and iPod Touch&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. change some settings in your scene - &lt;/b&gt;spawn lesser enemies (to see if the game won't lags that much with lesser enemies, or how much it can spawn before it gets lag), reducing time.scale (to check collider errors on your player's and enemy's gameObject), etc… a lot of stuff you can do, I'm just stating some of my usage of it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4. switch to a backup scene - &lt;/b&gt;for backing up, in case some unknown bugs screw up your original scene and you wanna to switch it to an extra "hidden" backup scene… Good for when developing a client's game.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;5. show off to your friends about your super high (cheated) highscores - &lt;/b&gt;originally when I first introduced the system, I try on getting the highest scores (with cheats) and show it off to the rest of the team... it was really fun XD&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I know there's something called the &lt;a href="http://unity3d.com/support/resources/unity-extensions/unity-remote"&gt;&lt;b&gt;UnityRemote 3&lt;/b&gt;&lt;/a&gt; where you can play the game remotely using your iOS devices while syncing with your Mac. But for some reason, mine gets pretty laggy, and the graphic will also get (extremely) pixelated-like, very blurry when building 2d games.&amp;nbsp;I'm not sure about the rest of you, but for mine, it happens a lot.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So I got an idea of creating a "cheating system", where I could do some testing stuff while having the game running on my iOS device, with or without syncing it to the Mac.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Description&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The so-called "cheating system" is actually a pretty easy thing to build. The idea is to create a bunch of invisible buttons (with number values in them) in the game scene, press those buttons (key in the codes) and it'll activate the cheats and carry out a function that does what you want.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Xbm3bYm4tH0/TfOaXfAxwiI/AAAAAAAABiA/x8Pm54s1JEI/s1600/Screen+shot+2011-06-12+at+12.13.37+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-Xbm3bYm4tH0/TfOaXfAxwiI/AAAAAAAABiA/x8Pm54s1JEI/s320/Screen+shot+2011-06-12+at+12.13.37+AM.png" width="307" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;six buttons positioned on the screen in a number pad-like form&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;I've set up an example scene for testing out the in-game cheating system, or I as I called it the "CheatsManager" in the example file, you can download it here:&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="https://sites.google.com/site/jakel168games/CheatsManager.unitypackage?attredirects=0&amp;amp;d=1"&gt;CheatsManager.unitypackage&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;1. After you downloaded the package, open up a new unity project or use an existing one. &lt;b&gt;Double click on the downloaded package&lt;/b&gt; and you should be able to see a list of stuff that are about to be imported:&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YYRI8Nrhg8A/TfOdnnJMkWI/AAAAAAAABiE/ASw2ZVWxrgw/s1600/Screen+shot+2011-06-12+at+12.51.19+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://2.bp.blogspot.com/-YYRI8Nrhg8A/TfOdnnJMkWI/AAAAAAAABiE/ASw2ZVWxrgw/s400/Screen+shot+2011-06-12+at+12.51.19+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;cube1 (material),&amp;nbsp;cube2 (material),&amp;nbsp;CheatsManager.cs (script),&amp;nbsp;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;TestScript.cs (script),&amp;nbsp;TestScene (unity scene file)&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Select &lt;b&gt;import&lt;/b&gt; and open up the TestScene. You should be able to &lt;b&gt;spot two cubes&lt;/b&gt; lying in the middle of the screen, one red and one blue.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RrDnCNo7uAs/TfOwjdEM8XI/AAAAAAAABiI/47klHVHK3bI/s1600/2cubes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-RrDnCNo7uAs/TfOwjdEM8XI/AAAAAAAABiI/47klHVHK3bI/s320/2cubes.png" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Each of those &lt;b&gt;cubes are attached&lt;/b&gt; with a &lt;b&gt;self-illumin materia&lt;/b&gt;l and a &lt;b&gt;TestScript.cs script&lt;/b&gt;, while the &lt;b&gt;MainCamera is attached&lt;/b&gt; with a &lt;b&gt;CheatsManager script&lt;/b&gt;. I'll go into what each of them does a little bit later.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-HrEhSVPAdKo/TfOyfFHSNtI/AAAAAAAABiM/Fc3DGLXkt4w/s1600/scripts.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://4.bp.blogspot.com/-HrEhSVPAdKo/TfOyfFHSNtI/AAAAAAAABiM/Fc3DGLXkt4w/s400/scripts.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Before you click &lt;b&gt;Play&lt;/b&gt;, check the &lt;b&gt;Build Setting&lt;/b&gt; and make sure that your &lt;b&gt;target platform is for iOS&lt;/b&gt; &lt;b&gt;devices&lt;/b&gt;, and &lt;b&gt;click "Switch Platform"&amp;nbsp;&lt;/b&gt;located&amp;nbsp;beside the &lt;b&gt;"Player Settings"&amp;nbsp;&lt;/b&gt;(in case you haven't), to &lt;b&gt;switch the platform to iOS&lt;/b&gt;. Same thing, if you're building for Android on a PC. Alternatively, you can &lt;b&gt;simply change the resolution&lt;/b&gt; of the PC and Mac build to &lt;b&gt;width: 320, height: 480&lt;/b&gt;, but I find switching to smartphone devices way easier as you can &lt;b&gt;switch between portrait and landscape&lt;/b&gt; later on.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wUz6RaqcVKU/TfOyx7Rb0-I/AAAAAAAABiQ/HS6L8yWyZK4/s1600/buildSetting.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="386" src="http://1.bp.blogspot.com/-wUz6RaqcVKU/TfOyx7Rb0-I/AAAAAAAABiQ/HS6L8yWyZK4/s400/buildSetting.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Once all of the above are done, go to the &lt;b&gt;Game view&lt;/b&gt; and &lt;b&gt;change the aspect &lt;/b&gt;to &lt;b&gt;"iPhone Tall (320 x 480)"&lt;/b&gt;, and then click &lt;b&gt;Play&lt;/b&gt;!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-8H_inHd6GH8/TfOzRWphUfI/AAAAAAAABiU/9wpBtsaWOT8/s1600/iPhoneTall.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" src="http://1.bp.blogspot.com/-8H_inHd6GH8/TfOzRWphUfI/AAAAAAAABiU/9wpBtsaWOT8/s320/iPhoneTall.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Once in the &lt;b&gt;Play mode&lt;/b&gt;, &lt;b&gt;six GUI.Buttons&lt;/b&gt; will be &lt;b&gt;spawn on the screen&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Xbm3bYm4tH0/TfOaXfAxwiI/AAAAAAAABiA/x8Pm54s1JEI/s1600/Screen+shot+2011-06-12+at+12.13.37+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-Xbm3bYm4tH0/TfOaXfAxwiI/AAAAAAAABiA/x8Pm54s1JEI/s320/Screen+shot+2011-06-12+at+12.13.37+AM.png" width="307" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7. For this test scene, I've already set up some cheat codes, use your &lt;b&gt;mouse&lt;/b&gt; and &lt;b&gt;click on the numbers&lt;/b&gt; for either of this two&lt;b&gt; cheat codes&lt;/b&gt;: &lt;b&gt;"123450"&lt;/b&gt; or &lt;b&gt;"012012"&lt;/b&gt;... one at a time.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;8. If you &lt;b&gt;succeeded in clicking "123450"&lt;/b&gt;, the &lt;b&gt;red cube&lt;/b&gt; above will &lt;b&gt;enlarge&lt;/b&gt;, click the &lt;b&gt;same codes again&lt;/b&gt; and it'll &lt;b&gt;shrink back to its original size&lt;/b&gt;; while if you &lt;b&gt;clicked on "012012"&lt;/b&gt;, the &lt;b&gt;blue cube&lt;/b&gt; below will &lt;b&gt;&lt;a href="http://unity3d.com/support/documentation/ScriptReference/Color.Lerp.html"&gt;Color.Lerp&lt;/a&gt; to another color&lt;/b&gt;, click the &lt;b&gt;same codes again&lt;/b&gt; will change it &lt;b&gt;back to its original color&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e2eebzEui2g/TfO1ctdQxqI/AAAAAAAABiY/ddgN53hKwig/s1600/cheatCodes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-e2eebzEui2g/TfO1ctdQxqI/AAAAAAAABiY/ddgN53hKwig/s400/cheatCodes.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;9. Now let me explain the "magic" behind this. Click on the &lt;b&gt;Main Camera&lt;/b&gt;, and you should be able to find a &lt;b&gt;CheatsManager script&lt;/b&gt; attached to it, in the &lt;b&gt;inspector&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vHcf65m59qw/TfO2AoSPMqI/AAAAAAAABic/G2d7G0Ktrio/s1600/cameraScriptVars.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="279" src="http://1.bp.blogspot.com/-vHcf65m59qw/TfO2AoSPMqI/AAAAAAAABic/G2d7G0Ktrio/s320/cameraScriptVars.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here are a number of &lt;b&gt;variables &lt;/b&gt;the script contains and what they does:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Cheat Codes Array (CheatCode class array)&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;contains four variables within it:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;= Names, &lt;/b&gt;the name of the cheat code (optional)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;= Codes, &lt;/b&gt;the cheat codes&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;= Target GO, &lt;/b&gt;the target's attributes which you wanna change. Not setting anything here will make it call the function from the gameObject it's attached to (Main Camera), assuming the gameObject also has a method of the same name&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;= Function Name, &lt;/b&gt;the name of the function that the targetGO contains in its script.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Limit Cheat Codes Length (bool)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;checking this to true, will &lt;b&gt;limits the length of cheat codes&lt;/b&gt; to the amount of &lt;b&gt;cheatCodesLength&lt;/b&gt; variable (below).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Cheat Codes Length (int)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;the &lt;b&gt;maximum length of cheat codes&lt;/b&gt; (the subsequent cheat codes you had in the Cheat Codes Array's &lt;b&gt;Codes variable&lt;/b&gt; must also be &lt;b&gt;at the size of this variable&lt;/b&gt;).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Start Cheat No (int)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;the &lt;b&gt;starting cheat button number, default at 0&lt;/b&gt;. Decides what number will the cheat buttons &lt;b&gt;start with&lt;/b&gt;. If leaves it &lt;b&gt;at default&lt;/b&gt;, the &lt;b&gt;button sequence will be "012345"&lt;/b&gt;&amp;nbsp;(depends on the &lt;b&gt;number of buttons&lt;/b&gt;); setting it &lt;b&gt;to "1"&lt;/b&gt; will &lt;b&gt;change the sequence to "123456"&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Cheat Button Column (int)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;the &lt;b&gt;number of columns&lt;/b&gt; cheat buttons have.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Cheat Button Row (int)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;the &lt;/span&gt;number of rows&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; cheat buttons have.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;By &lt;/span&gt;multiplying the amount &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;of column and row, you'll get the &lt;/span&gt;number of buttons&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; which will be spawn in the scene when game starts.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Show Button (bool)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;checking this to true, will &lt;b&gt;shows the GUI.Buttons&lt;/b&gt; on the screen in &lt;b&gt;Play mode&lt;/b&gt;; while at false, it won't, but still press-able. It's only &lt;b&gt;replaced&lt;/b&gt; with a &lt;b&gt;blank GUIStyle&lt;/b&gt; that &lt;b&gt;makes the buttons invisible&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;- Type Cheats Time (float)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;how long&lt;/b&gt; you can&lt;b&gt; type the cheat codes before it resets&lt;/b&gt;, defaulted at 2, means when you &lt;b&gt;stop typing &lt;/b&gt;the codes, it'll take&lt;b&gt; 2 seconds to reset everything&lt;/b&gt; so that you can type again.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Sample Exercise&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Assuming you wanna to&amp;nbsp;&lt;b&gt;change the size of the blue cube&lt;/b&gt;, and blue cube&amp;nbsp;&lt;b&gt;has a script inside&lt;/b&gt;&amp;nbsp;it which contains a&amp;nbsp;&lt;b&gt;function called "ChangeSomething" which does all that&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;i. All you have to do is to &lt;b&gt;click on the blue cube&lt;/b&gt;, &lt;b&gt;look for&lt;/b&gt; a variable in its TestScript.cs called the &lt;b&gt;"changeType"&lt;/b&gt;, change the value &lt;b&gt;from "color" to "size"&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JNIokuzdDQM/TfO48HdQl2I/AAAAAAAABig/WrhSytKuI4U/s1600/cube2_colorToSizeFull.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="309" src="http://4.bp.blogspot.com/-JNIokuzdDQM/TfO48HdQl2I/AAAAAAAABig/WrhSytKuI4U/s320/cube2_colorToSizeFull.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ii. Then click on the &lt;b&gt;Main Camera&lt;/b&gt; again, and &lt;b&gt;change the size of the CheatCodesArray&lt;/b&gt; to &lt;b&gt;3&lt;/b&gt;. Name it to "Change Cube2's Size" (optional), then &lt;b&gt;randomly write a cheat codes&lt;/b&gt; at the &lt;b&gt;length of 6&lt;/b&gt; (I'm using "123123").&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;iii.&lt;b&gt; Drag the blue cube gameObject&lt;/b&gt;&amp;nbsp;from the&amp;nbsp;&lt;b&gt;Hierarchy&lt;/b&gt;&amp;nbsp;to the&amp;nbsp;&lt;b&gt;Target GO variable&lt;/b&gt;, then&amp;nbsp;&lt;b&gt;change the function name&amp;nbsp;&lt;/b&gt;to the&lt;b&gt;&amp;nbsp;name of the&amp;nbsp;function you want to call&lt;/b&gt;, which in this case, is "ChangeSomething"... insert that in.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bFwp-9U5Ckw/TfO5OKCromI/AAAAAAAABik/cY3pT2pjwS8/s1600/setNameCodeTargetFunction.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-bFwp-9U5Ckw/TfO5OKCromI/AAAAAAAABik/cY3pT2pjwS8/s320/setNameCodeTargetFunction.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;iv. When the game is in&amp;nbsp;&lt;b&gt;Play mode&lt;/b&gt;, and the&amp;nbsp;&lt;b&gt;desired cheat codes is pressed in&lt;/b&gt;, it'll&amp;nbsp;&lt;b&gt;call the function&lt;/b&gt;&amp;nbsp;that&amp;nbsp;&lt;b&gt;change the size of the blue cube&lt;/b&gt;&amp;nbsp;from&amp;nbsp;&lt;b&gt;within the CheatsManager script&lt;/b&gt;, using&amp;nbsp;&lt;b&gt;&lt;a href="http://unity3d.com/support/documentation/ScriptReference/GameObject.SendMessage.html"&gt;SendMessage()&lt;/a&gt;&lt;/b&gt;. And then the blue cube&amp;nbsp;&lt;b&gt;will start changing size&lt;/b&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dvVasmcztlU/TfO8EtRP3-I/AAAAAAAABio/QRohE3Sjxs8/s1600/lastcheats.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://3.bp.blogspot.com/-dvVasmcztlU/TfO8EtRP3-I/AAAAAAAABio/QRohE3Sjxs8/s400/lastcheats.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;If it works, then congrats, you've just made a successful cheats! But if it doesn't, please go through the sample exercise again.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;Feel free to test around with the variables value in the inspector if you like, but don't mess around with the CheatsManager scripts unless if you know what you're doing.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;Again, if you wanna to create an &lt;b&gt;entirely new gameObject&lt;/b&gt; with an &lt;b&gt;entirely new script&lt;/b&gt;, you just have to &lt;b&gt;create a new space&lt;/b&gt; in the &lt;b&gt;CheatCodesArray&lt;/b&gt;, &lt;b&gt;set new cheat codes&lt;/b&gt;,&amp;nbsp;&lt;b&gt;drag in the gameObject to Target GO&lt;/b&gt; and then &lt;b&gt;set the function name&lt;/b&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;Also, it'll work just the same after you built it into an iOS device, but remember to check off the &lt;b&gt;Show Button variable&lt;/b&gt; in the Main Camera's CheatsManager script if you &lt;b&gt;don't want those GUI.Buttons to appear&lt;/b&gt; and hide your game or darken it a little...&amp;nbsp;And it'll also change button size and positions once you change the device orientation from portrait to landscape. I haven't really check out this part yet (got some problem with my iPod at the moment), but if you have problem with inputing cheat codes in landscape orientation, send me a report/message at &lt;a href="mailto:leezhifei168@rocketmail.com"&gt;leezhifei168@rocketmail.com&lt;/a&gt; :D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6465248343080825832?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6465248343080825832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6465248343080825832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6465248343080825832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6465248343080825832'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/06/unity3d-c-iosandroid-in-game-cheating.html' title='Unity3d + C# + iOS/Android: In-game cheating system'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Xbm3bYm4tH0/TfOaXfAxwiI/AAAAAAAABiA/x8Pm54s1JEI/s72-c/Screen+shot+2011-06-12+at+12.13.37+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4617929507569801208</id><published>2011-06-07T11:11:00.000-07:00</published><updated>2011-06-07T11:26:49.118-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='internship'/><category scheme='http://www.blogger.com/atom/ns#' term='teamwork'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='ios'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>An internship and an experience plus</title><content type='html'>&lt;div style="text-align: justify;"&gt;For the past few months (since around the end of February), I've been working in and experiencing the game industry, in Terato Tech. Throughout the span of 14 weeks of my internship programme, I've learned a lot from the people there.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And here's a list of things I picked up and learned from there (in point forms, I hate&amp;nbsp;writing&amp;nbsp;essays):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. Experiencing the real world&amp;nbsp;-&lt;/b&gt; the "real world" is &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;a term where undergrads like us refer to as "the actual game industry". I'm from an art degree, and originally wasn't really suppose to be involved in "the game industry" but rather "the art industry", even though my degree did do stuff about game development for my entire second year there, I did it anyway, because it's what I wanna do in the future. And&amp;nbsp;the "real world" is... a really hard place to work at, unless if you love coding and developing games all day like me.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, I've grown to hate it a little bit... the coding part, because everyday was a programming and bug-fixing hell.&amp;nbsp;I get headache from time to time, but we&amp;nbsp;do get to rest every once in a while. I even fell asleep in the office, then lied to my boss that I'm sick or having a stomach-ache... but the whole headache part was definitely true.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now I've been cooling myself off with a no-coding phase for the past few days after my internship because of the trauma I faced from the real world... And I still can't believe when my supervisor told me that he loves to work under stress... and he continues coding after he got back home until midnight.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It's experience I guess.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2. Working with the clients - &lt;/b&gt;one of the most pain in the ass thing I experienced from the real world. I'm not sure whether working with the clients who knows a lot about game would be easier, but the one we had was a bunch of (really) casual game players who... play games, and that's all. Probably didn't play too much games, but enough to differentiate between a game and an apps (I guess).&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Around the third weeks of the program (somewhere around that... I don't keep track), we were assigned to a new project... with a client, a big one. But due to some P&amp;amp;C regulations, I can't reveal them here, just that they are very big, and not a game development or publishing firm.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, here's how every day in a week of my internship life goes after week 5 - 6 (after we have built an alpha version of the game and was presenting it to the clients for user testing):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Monday - &lt;/b&gt;the supervisors take the latest version of the game (of all builds: iPhone, iPad, Android) and show it off to the clients. We have some time to rest here, it's either I watch a bunch of YouTube clips, or fix previous bugs and add in new features that the clients want.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Tuesday - &lt;/b&gt;Receive logs/bug reports from the client. &amp;lt;-- This was the part I hated the most (so did my other team members/colleagues), because we sometimes get really outrageous request from them... adding features that makes us doubt whether they've play games before.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Wednesday to Friday - &lt;/b&gt;bug fixing, and latest version to be finish by Friday, else we'll have to do it during the weekends for Monday's presentation.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It was around the second last month of the programme that I finally, decided to give in, let them do what they want while I was just following the clients orders. Because that's what working with a client is all about, they are the game designers, the one who wanted to make the game in the first place. But not to say we on the employee side don't have to do a thing, we do give some suggestion of our own while at the same time doing the (crappy) stuff they want. Also have to thanks my supervisor for his advices on these working-with-clients issues that I had.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. 2D Game development on mobile devices (iOS + Android) - &lt;/b&gt;before these, we have never work on any games for the mobile devices, but for PC games, we do a lot. And most of the time, we don't really care about optimizing the games that we made, because the PC we used for our presentations were strong enough to handle it. Which is why this experience was very crucial to us. Because the mobile game industry is going to be the future of casual gaming, and the stuff we made... inside Unity (the main engine we used), should be optimized as much in order for it to run smoothly in these mobile devices.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;At the same time, we (the interns) also never have any experience in 2d game development. So for the first four weeks of our project, after we managed to build an Alpha vers., the game took like 20+ seconds to run... it was a failure. After a few weeks of experimentation with the SpriteManager, we managed to lower it down to 8 seconds at maximum. It was fun process, I wrote a lot of frameworks to further optimizing the rest of the games, making it smoother... which leads me to the next point:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4. The experience of being the lead game programmer - &lt;/b&gt;I suppose almost everyone who started developing games in college or high school would want to become the lead game programmer on a project team one day. It was also one of my wildest dream, as soon as I started developing games and get a little bit good at it, I've been dreaming about being the lead game programmer of a game project. Though I wasn't getting the title in the company, I think I was getting close to being the role. There were three of us working on the game mechanics, and I was in charge of making sure my partners are doing his/her works right, using the framework and tweaking the game correctly, etc.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;5. Working in a team - &lt;/b&gt;one of the skill I lack of the most... is to work within a team, as I've always been developing games solo. I do have an experience once in my campus, where I have to collaborate with a classmate of mine on a networking game. However I do not know how to utilise the skill she had... nor do I find any.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Throughout these 14 weeks, I have a chance to work in a real team, where it's full of pros from different fields. We have an art director, a game designer (the supervisors, besides the clients), a brilliant iOS developer (from Japan), sprite artists who's as good as those you saw on deviantArt (the good ones), sound designers (also the supervisor with one of the interns), and game programmers (me and another intern), on the team, which was like... a dream come true for me, and working in a game development team is an awesome experience!&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;6. The game development process - &lt;/b&gt;Lastly, one of the precious stuff I've learned from my internship programme was the game development process. Back before the internship program starts, I never properly follow the game development process when doing my game-related assignments. Mostly it's just: game concept, then art, then straight away Beta production. No prototyping, game testing, researching, proper game designing (we just design it along the way)...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;During this internship programme, I get to experience all that: building the prototype, designing the game, then release an Alpha version, get user acceptance testing, receive log/bugs reports from clients, build new versions every week while slowly adding in new features... I'm really gonna miss all these. In fact, I'm gonna use what I've experienced from this for my final year project (FYP) in my third and the last year of my degree. I think I can make a better game this time, as long as I don't forget what I've learned... XD&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In the end, despite all the game development-hardships I faced over there, I was kinda reluctant to leave so soon. Felt like I should've stay longer, work on a different project, get tougher... in terms of stress-handling. But I still have my chance in the future, as long as the world doesn't end so soon. And thanks a lot to my colleagues for their advices, helps and teachings, I really appreciates all that. In return, I'll try my best to make a kick-ass game for my FYP :D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4617929507569801208?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4617929507569801208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4617929507569801208' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4617929507569801208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4617929507569801208'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/06/internship-and-experience-plus.html' title='An internship and an experience plus'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-696557901151683049</id><published>2011-05-21T07:28:00.000-07:00</published><updated>2011-05-21T07:37:02.027-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scrolling'/><category scheme='http://www.blogger.com/atom/ns#' term='percentage sign'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='background'/><category scheme='http://www.blogger.com/atom/ns#' term='texture offset'/><category scheme='http://www.blogger.com/atom/ns#' term='material'/><title type='text'>Unity3d + C#: 2D game background scrolling and percentage sign...</title><content type='html'>&lt;div style="text-align: justify;"&gt;In 2d game development, they are lot of times where you would want the background texture (tile-able) of your game to scroll while your character is "running" (where in fact he wasn't), to make it looks like he's really running across the scene.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-PTGmquD1E5s/TddqmqElhZI/AAAAAAAABh0/g5qoA37tCZk/s1600/canabalt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="http://1.bp.blogspot.com/-PTGmquD1E5s/TddqmqElhZI/AAAAAAAABh0/g5qoA37tCZk/s320/canabalt.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;(screenshot from &lt;a href="http://adamatomic.com/canabalt/"&gt;Canabalt&lt;/a&gt;)&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, Unity provided some basic tips on making the textures on a plane to scroll in accordance to time. Here are the two main methods they used:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. &lt;a href="http://unity3d.com/support/documentation/ScriptReference/Material-mainTextureOffset.html"&gt;Material.mainTextureOffset&lt;/a&gt; -&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;public float scrollSpeed = 0.5F;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;void Update() {&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;float offset = Time.time * scrollSpeed;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;renderer.material.mainTextureOffset = new Vector2(offset, 0); &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. &lt;a href="http://unity3d.com/support/documentation/ScriptReference/Material.SetTextureOffset.html"&gt;Material.SetTextureOffset&lt;/a&gt; - &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;public float scrollSpeed = 0.5F;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;void Update() {&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;float offset = Time.time * scrollSpeed;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;renderer.material.SetTextureOffset("_MainTex", new Vector2(offset, 0));&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;What they are doing here is that, they take the offset value (Vector2) of the texture in the material of your background (usually a plane in the scene), and then set or add values in one of its axis (which is the above case, it's the X-axis), and the texture will scroll as if it were moving... &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It's a good method for not only moving the background of your 2d game, but also commonly used for making a force field effect (like in Unity's own 3rd person controller tutorial), special magic-attack effect (like those in MMO), etc... a lot can be done with this two texture-scrolling method.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;However, if you're making a game where the background of your game will continuously scroll for as long as your character run (let's say that particular level is about 5 minutes long), you might wanna do some adjustment with the script.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here's what happen, in the game which I'm currently developing, I too have a character flying up in the scene, and the background is continuously scrolling down (to make it looks like it was flying up)... and will only stop until the level is complete. But as time goes by (about 10 minutes or more of continuous gameplay), the background texture of my game become more and more pixelated... or blocky...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Looking back at the script (above) which Unity provide:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;float offset = Time.time * scrollSpeed;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;renderer.material.SetTextureOffset("_MainTex", new Vector2(offset, 0));&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you try printing the 'offset' variable (using print() or Debug.Log()), you'll notice that once the game starts, the offset will continuously increase, and get above the value of 1... which is why the blurry/pixelated problem occurs here. The UV value of the offset should always stay as close as one. If anything more, the texture will 'hypothetically' multiplying, stretching or whatever you call it... making it more and more pixelated.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/-l2dh3GBlcdg/TdfK0CtDVYI/AAAAAAAABh8/4QsiSvorv_4/s1600/scroll.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="http://4.bp.blogspot.com/-l2dh3GBlcdg/TdfK0CtDVYI/AAAAAAAABh8/4QsiSvorv_4/s640/scroll.jpg" width="620" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The way to solve this is to always set the value of 'offset' to a range between 0 to 1. To do this, all you have to do is to divide the value of 'offset' by the &lt;a href="http://en.wikipedia.org/wiki/Percent_sign"&gt;percentage sign&lt;/a&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;float offset = Time.time * scrollSpeed;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;offset = offset % 1; // divide using the percentage sign...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;renderer.material.SetTextureOffset("_MainTex", new Vector2(offset, 0));&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Not sure if I'm explaining this correctly, but the sign was kinda like keeping your value at a percentage of the max value of your choice, which in this case is 1.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The percentage sign was also commonly used at formatting the time (minutes, seconds, etc):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;public int format = 60;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;private float timer = 0.0f;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;private int sec;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;private int min;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;void Update()&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; timer += Time.deltaTime;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; sec = (int)(timer % format);&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; min = (int)(timer / format);&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; print(min + ": " + sec); // this is a sample time formatting script...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-696557901151683049?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/696557901151683049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=696557901151683049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/696557901151683049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/696557901151683049'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/05/unity3d-c-2d-game-background-scrolling.html' title='Unity3d + C#: 2D game background scrolling and percentage sign...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-PTGmquD1E5s/TddqmqElhZI/AAAAAAAABh0/g5qoA37tCZk/s72-c/canabalt.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4668817509946126390</id><published>2011-05-15T11:05:00.000-07:00</published><updated>2011-05-21T07:37:33.877-07:00</updated><title type='text'>Unity3d + C#: Using List and ArrayList array</title><content type='html'>Usually when creating an inventory, you would need to first create an array variable to store the content of the inventory. Using UnityScript (or JavaScript) you can do that by declaring an Array variable directly:&lt;br /&gt;&lt;pre&gt;var inventoryArray : Array = new Array();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;However to do the same thing in C#:&lt;br /&gt;&lt;pre&gt;public Array inventoryArray = new Array();&lt;/pre&gt;&lt;br /&gt;That wouldn't work, instead it return you with an error saying:&lt;br /&gt;&lt;pre&gt;error CS0246: The type or namespace name `Array' could not be found. Are you missing a using directive or an assembly reference?&lt;/pre&gt;&lt;br /&gt;And the error was pretty much self explanatory, that the "Array" doesn't exist in C#, instead it has ArrayList and List. But for the rest of the example, I'm gonna be using List (though it works the same as ArrayList), because I was having a hard time memorizing what type of information am I storing inside an ArrayList when I'm declaring a large number of them (3 to 5 can be messy enough for me) in a script; on the other hand, I felt more secure with List as I can check back on what type of List I'm using and what info I should and shouldn't add into it... more on that later...&lt;br /&gt;&lt;br /&gt;To use the List array, you have to first use the namespace System.Collection.Generic, by adding it up above the script:&lt;br /&gt;&lt;pre&gt;using UnityEngine;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Collections.Generic; // &amp;lt;-- add this line&lt;/pre&gt;&lt;br /&gt;Then declare a variable for it (public List&lt;the-type-you-want-the-array-to-be&gt; variableName):&lt;/the-type-you-want-the-array-to-be&gt;&lt;br /&gt;&lt;pre&gt;public List&amp;lt;int&amp;gt; inventory;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;To actually start using it, as always you have to first declare the size or capacity of the array, because if you don't, Unity will either hang or crash after you click "Play", for some unknown freaking reason...&lt;br /&gt;&lt;br /&gt;In the Start function:&lt;br /&gt;&lt;pre&gt;inventory.Capacity = 9; // let's make it able to store 9 object inside...&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;To add something content into it:  &lt;br /&gt;&lt;pre&gt;inventory.Add(2); // since this is a "int" array, you can only store another integer into it... anything else would return an error...&lt;br /&gt;&lt;br /&gt;inventory.Add("this works!"); // for if your List array is a "string" array...&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;And then to clear up everything, I mean, delete all infos, turn the array size back to zero:  &lt;br /&gt;&lt;pre&gt;inventory.Clear();&lt;/pre&gt;&lt;br /&gt;That was the part of the List method I love the most, because usually when I was using a normal array (int[], for int array; string[], for string array; bool[] for boolean array), there's such function as Clearing up and Adding stuff into the array... But I could be wrong, because I haven't use most of its features yet... which I'll, in the future.&lt;br /&gt;&lt;br /&gt;More on what it could do:&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx"&gt;http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4668817509946126390?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4668817509946126390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4668817509946126390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4668817509946126390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4668817509946126390'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/05/unity3d-c-using-list-and-arraylist.html' title='Unity3d + C#: Using List and ArrayList array'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2684021490334249439</id><published>2011-05-03T10:26:00.000-07:00</published><updated>2011-05-21T07:38:56.588-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='1 month game'/><category scheme='http://www.blogger.com/atom/ns#' term='superRed'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='failure'/><title type='text'>Achievement Log 03-05-2011</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;b&gt;1. Decided on developing a game and finishing it in a month's time - &lt;/b&gt;One of the hardest decision I've made, was to make a game within a month... or simply: make a complete game. Well, anyway I joined the &lt;a href="http://www.1monthgame.com/"&gt;1 Month Game initiative&lt;/a&gt;, created a post for &lt;a href="http://www.1monthgame.com/blog/?p=139"&gt;my upcoming game which I called "SuperRed"&lt;/a&gt;, a stealth, &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;adventure game similar to Hitman and MGS, just not as violent as theirs. It'll be designed and developed by me using Unity3D, with tracks compose by, if possible my old composer for my previous mini-games. Well, good luck to me then~&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;2. Failing on my Facebook integration in Unity Android attempt -&lt;/b&gt;&amp;nbsp;I never had any experience with Android development (except a printing "Hello World" project I did a while back), don't even have to mention Facebook integration, so I plan to use the WWW and WWWForm thingy (as described in my previous log) to do it. After about 4 days of working on it, without using the AndroidUI or AndroidJNI or Java, I failed to do it. But failure is not always bad, like Thomas Edison once said: "I have not failed. I've just found 10,000 ways that won't work", I found a wrong way to work on this integration attempt.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;And here's what I did that failed (I'm not gonna go into detail about the codes and stuff, just a summary of what I did):&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. I first started by &lt;a href="http://developers.facebook.com/docs/guides/canvas/"&gt;sending an authentication message with infos about the Facebook apps address and its apps ID&lt;/a&gt; using the WWWForm, then load the result using WWW.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;e.g.:&amp;nbsp;https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&amp;amp;redirect_uri=YOUR_CANVAS_PAGE&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;2. As soon as the WWW was loaded, it returns me a bunch of HTML stuff in its WWW.text.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;3. What I did next was to extract the website's address which was stored inside the HTML source, and then load it up again to get Facebook login page's HTML source.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;4. Then use the Facebook login pages's HTML source and extract its address again while adding some extra component, like placing in the email address and password inside the required field and then login into the Facebook, and thus being able to access the apps.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;5. Which was where everything went wrong, I could pass the email address into the Facebook login page's "email" field (by adding: &amp;amp;email=my_mail@gmail.com), but I couldn't pass in the one for "password"&amp;nbsp;(by adding: &amp;amp;pass=my_password),... and I just stop from there, not knowing what I should do next...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;But seriously if you think about it, the failed method which I was using was kinda wrong in every way. It was the only solution I could come out with at that time, due to the fact that I'm not an Android developer or a Java (not JavaScript!) programmer...&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Anyway if you are having a hard time understanding what I meant, try to imagine that you're trying get someone on the Facebook to access your apps, but they need to allow the apps to have access into your profile and posts on your news feed (that you've beat someone's highscore, earned a new item, harvested a special plant etc), that's when the Facebook authentication came in.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;However since we're doing it on Android (using Unity), it's very obvious that your friend has not login into Facebook yet, and you're trying to pass in his email and password (typed on a GUI.textfield) as soon as he hits a submit button (which you generated using OnGUI and GUI.Button)... Well, passing in the password part was the part that I fail at... not sure why...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Maybe I should just go and learn Java and Android development after all...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2684021490334249439?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2684021490334249439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2684021490334249439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2684021490334249439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2684021490334249439'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/05/achievement-log-03-05-2011.html' title='Achievement Log 03-05-2011'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-979105039206570612</id><published>2011-04-28T04:51:00.000-07:00</published><updated>2011-05-21T07:39:11.827-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WWW'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='github'/><category scheme='http://www.blogger.com/atom/ns#' term='repository'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='WWWform'/><title type='text'>Achievement Log 28-04-2011</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Don't really do an achievement log everyday like I expect, but I'll try doing it frequently.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;1. Set up a GitHub -&amp;nbsp;&lt;/b&gt;Setting up a&amp;nbsp;&lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;&amp;nbsp;has always been a hardest thing for me to accomplish when I'm using my old Window laptop (maybe I'm just suck). Now that I started using Mac, it only took less than 20 minutes for me to learn and set up the whole thing.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;They've got all&amp;nbsp;&lt;a href="http://help.github.com/mac-set-up-git/"&gt;the procedure set up fine&lt;/a&gt;, I just have to follow their steps, and... I created and updated&amp;nbsp;&lt;a href="https://github.com/JakeL168/AddMaths"&gt;my first repository: AddMaths&lt;/a&gt;!&amp;nbsp;Will make another repository particularly for this blog when I've got the time, for uploading the scripts (tutorials) that I've written here.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;2. Attempted on integrating Facebook in Android builds - &lt;/b&gt;The thing I spent the most time on this few weeks, was to integrate (or implement, or whatever they call it) Facebook into Android using Unity. Our team has tried our best looking for tips on it but they kept leading us to &lt;a href="http://unity3d.com/support/documentation/ScriptReference/WWWForm.html"&gt;the WWW and WWWForm thingy&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Non of us are experienced with Android other than knowing how to build it in Unity, but the client wants it... what to do...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Anyway, I didn't succeed on integrating it today, but I learned a way that I shouldn't do. Will trying other methods in the future.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-979105039206570612?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/979105039206570612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=979105039206570612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/979105039206570612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/979105039206570612'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/04/achievement-log-28-04-2011.html' title='Achievement Log 28-04-2011'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3101540649714291986</id><published>2011-04-24T02:29:00.000-07:00</published><updated>2011-05-21T07:39:28.855-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='WWW'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='WWWform'/><title type='text'>Achievement Log 22-4-2011</title><content type='html'>&lt;div style="text-align: justify;"&gt;Seems like ever since I started working, I don't really have time to write more focus topic on every post so I'm gonna make it fast by writing them in this log-post... will elaborate them more later on when I have the time...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. Implement WWW and WWWForm on Android app builds - &lt;/b&gt;when building an Android application &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;for a client, our team was required to make the Android application to be able to: post scores to Facebook, Twitter, and submit scores to the server. The Facebook and Twitter was the hardest as non of us have any experience with Android development before, so we decided to go with the submit-scores-to-server thing because according to the community, they were &lt;a href="http://unity3d.com/support/documentation/ScriptReference/WWW.html"&gt;all done using WWW&lt;/a&gt;. With the help of our teammate, Keen, and the Unity community, we were able to implement it successfully and send the info we need to the company's server.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here's a few links that was useful in making it possible:&lt;br /&gt;&lt;a href="http://www.unifycommunity.com/wiki/index.php?title=Server_Side_Highscores"&gt;http://www.unifycommunity.com/wiki/index.php?title=Server_Side_Highscores&lt;/a&gt;&lt;br /&gt;&lt;a href="http://answers.unity3d.com/questions/3560"&gt;http://answers.unity3d.com/questions/3560&lt;/a&gt;&lt;br /&gt;&lt;a href="http://answers.unity3d.com/questions/37950/postscore-server-side-highscores-tutorial"&gt;http://answers.unity3d.com/questions/37950/postscore-server-side-highscores-tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Read a book on game design - &lt;/b&gt;Something I never got to do these days was to read a book on game design. It was kinda hard for me to do it these days now that I started working (since 2 months ago, for an internship program), everyday has been a living hell for me. Then after internship, I'm going for FYP (Final Year Project) in my campus, so I will have to design a game before that time comes. Not to say I don't have any game design skill, but after making a few sucky games for one year and a half, I think I did learn one or two things about game design from them.&lt;br /&gt;&lt;br /&gt;The book I'm currently reading is "Creating Games: Mechanics, Content, And Technology" by Morgan McGuire and Odest Chadwicke Jenkins... it sounds like a hard book to read cuz it's a book for game developers from all sorts of fields: design, program, direct, sound, etc, and not just solely for game designer. If it's just for game designer, then "The Art of Game Design" Jesse Schell would be perfect, but too bad I only have the PDF version and no iPad to read it... and reading it on hand (actual book of in iPad) is a way better feel than reading it off a PC screen...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3101540649714291986?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3101540649714291986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3101540649714291986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3101540649714291986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3101540649714291986'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/04/achievement-log-22-4-2011.html' title='Achievement Log 22-4-2011'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2879911673127166309</id><published>2011-04-20T15:47:00.000-07:00</published><updated>2011-05-21T07:39:40.868-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone trampoline'/><category scheme='http://www.blogger.com/atom/ns#' term='data formatter'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='ios'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='flash game'/><category scheme='http://www.blogger.com/atom/ns#' term='ipad'/><title type='text'>Achievement Log 20-04-2011</title><content type='html'>&lt;div style="text-align: justify;"&gt;First post for a new category of my Achievement Log. What it does is to record down all the stuff I've accomplished in that particular day (or week) in this game development hell... XD&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. (Slightly) Found a solution for the iPhone-Trampoline problem for iOS game dev - &lt;/b&gt;This happens &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;sometimes when I wasn't noticing: whenever I wanna create a new version of the game project I'm working on, I just quit Unity, copy and paste the latest game version folder and rename it to a new version then open it again when I started Unity. And right when I was gonna build it, the problem occur, and I'll get a failed build in a folder store in my project, named "Temp", and giving me an error about "unable to find a file called iPhone-Trampoline/some-name-over-here inside the 'Temp' folder"... and the same problem occurs over and over again when I attempts to build it...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, I tends to "solve" the problem by quitting Unity, Delete the "Temp" folder, and open Unity again, and the problem's solved! Kinda weird, but I solved it anyway...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2.&amp;nbsp;(Slightly) Found a solution for the Data Formatter problem for iOS game dev - &lt;/b&gt;The known "Data Formatter" problem usually occurs when I'm building the game, testing and debugging it&amp;nbsp;in Xcode. Later found out that the problem occurs due to some memory issue with the iOS device. So apparently I have some really large sized textures and audio in my Unity scene, and also some useless ones...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Solved it by reducing their file size to 1024 (that's the lowest I can get, anything lower than that is gonna get really blurry), compressed all the audio files (by changing its Audio Format from "Native (WAV)" to "Compressed" while adjusting a proper compression (KBPS) for it&amp;nbsp;in the audio setting), delete some unwanted scenes, making the library size way smaller that before... and it runs very on the iPhone now, no crashing when loading new scenes.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That's about all that I have for this post, can't think of more (though there's a lot more... like 100+ of them), been having some pretty bad headaches for two days straight now... The game industry is hard~!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2879911673127166309?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2879911673127166309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2879911673127166309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2879911673127166309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2879911673127166309'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/04/achievement-log-20-04-2011.html' title='Achievement Log 20-04-2011'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7871126621249046299</id><published>2011-04-05T06:44:00.000-07:00</published><updated>2011-05-21T07:40:03.428-07:00</updated><title type='text'>Unity3D: 2D game development...</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;2D game development&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;2D games has always been my weakest point in game development, I remember in 2009 when I first started using AS3, I was a total mess, I write codes that could make people laugh to death (yeah, it's that serious!). Have you ever seen a function within a function (2 dimensional function)? Something like this:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;function ShootBullet()&lt;br /&gt;{&lt;br /&gt;  function CollideEnemy()&lt;br /&gt;  {&lt;br /&gt;    function Explode()&lt;br /&gt;    {&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;It was a really&amp;nbsp;embarrassing stuff to reveal to people that I once had a moment like that, especially when during that time I was a very over-proud-of-myself and told people about how good I am in scripting AS3, and when they ask me to show my codes, I was like... connection problem, I forgot about it, and make them forget it slowly. Asides from bad scripting, I can hardly code a workable game, except for some clicking and touching game that earn you points, like those lame old "tap, tap" iPhone game... Those method they use are a bit too hard for a design student like me to understand, and I slowly developed a phobia against 2D game development...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway,&amp;nbsp;I've been doing 3D game development for almost a year now, in Unity3D, which was a great piece of game making machine. I've also tried XNA, UDK, but non of them grab my heart long enough like Unity3D did. Now, for my internship program, I was tasked to developed a 2D game for the iPhone, iPad, and Android phone, with mechanics a bit similar to Doodle Jump without the jumping part. So, for the past few weeks I've been busy working on the game, in an area (or dimension) which I'm still kinda "fresh" at.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Animating 2D Sprites&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've never touched sprites all my life, not even in AS3... I mean... not like... a whole bunch of sprites in a piece of sprite sheets and then assign them one by one in correspond to a certain time, to make looks like it was animating. As far as I know, animating 2D sprites was &lt;a href="http://www.unifycommunity.com/wiki/index.php?title=SpriteManager"&gt;a lot easier with SpriteManger&lt;/a&gt;, but that wasn't my primary choice for the project. I chose to load up a couple of 2D individual sprites and then animates them using a timer function, which, compare to SpriteManager, was a lot easier. But the downside with this method is that, it takes a LOOONG time to load up all of the textures. Imagine if I export it to iPhone, it would be a disaster length of time to load up those 400+ 2D individual sprites the artist prepared.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now what I meant by "2D individual sprite" (it's not a correct term, I just invented it) is this:&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-AH51xh71A3E/TZsCc3XE_dI/AAAAAAAABgw/3snJLb_2PUo/s1600/Crab_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://3.bp.blogspot.com/-AH51xh71A3E/TZsCc3XE_dI/AAAAAAAABgw/3snJLb_2PUo/s200/Crab_1.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;I have about 8 of this crabby image (which animates when you play them in Flash), instead of a piece of sprite sheet with 8 of them inside.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;From what I hear earlier, creating a Texture[] container and then drag and drop these textures into the container will results in increasing the loading time of the game.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mtg0yx6gQIM/TZsFVNmNbhI/AAAAAAAABg0/qIvgl_75eMY/s1600/UnityTex.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://3.bp.blogspot.com/-mtg0yx6gQIM/TZsFVNmNbhI/AAAAAAAABg0/qIvgl_75eMY/s400/UnityTex.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;So what I did next to solve the long-loading problem was to load the images right after the game finish loaded and started, using Resources.Load():&lt;/div&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;public Texture[] crabby; //the Texture array for storing the loaded textures&lt;br /&gt;public int texNo = 8; //number of textures to be loaded&lt;br /&gt;&lt;br /&gt;void Start() {&lt;br /&gt;  crabby = new Texture[texNo]; &lt;br /&gt;  &lt;br /&gt;  for (int i = 0; i&amp;lt;texNo; i++)&lt;br /&gt;  {&lt;br /&gt;    //in order for the textures to load successfully,&amp;nbsp;&lt;br /&gt;    //all the textures must be placed in a folder named "Resources"...&lt;br /&gt;    crabby[i] = (Texture)Resources.Load("crabby_" + i, typeof(Texture));&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;And that was before I realize that I could &lt;a href="http://unity3d.com/support/documentation/ScriptReference/Material.SetTextureScale.html"&gt;flip the texture of an image using Material.SetTextureScale()&lt;/a&gt;, I flipped all of the textures manually using Photoshop, and then load all of them using the method I use above and store them in two 3 dimensional arrays (the 3 dimension: level, enemy type, and textures).&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Just when I thought I finally found a solution to my long-loading problem, I realize that it was a waste of effort, because the game was only a bit less laggy than before by a bit. The problem occurs when I had to load the textures of 19 different enemy's 8 individual sprites, which has both left and right space, and adds up to a total of: 19 x 8 x 2 = 304 textures.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It was a stupid move, I know, but during that time, the project was about close to deadline, and there's no time for me to go and learn something new, asides from trying other solution I could think of (other than SpriteManager, which was thought to be extremely hard to learn at that time).&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So the huge laggy issue finally appear and I finally took a step into the world of SpriteManager. And to be honest, it wasn't really that hard to learn at all. The original developer even have a &lt;a href="http://www.anbsoft.com/middleware/sm2/"&gt;newer version of it called SpriteManager2&lt;/a&gt;, which was said to be way more better and easy to use than the original one. Too bad I can't afford it at the moment, so I'm just gonna stick to the first. And if I have the time, I might even post one or two tutorials about it... and today is only the second day I'm trying out the SpriteManager though... :D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7871126621249046299?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7871126621249046299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7871126621249046299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7871126621249046299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7871126621249046299'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/04/unity3d-2d-game-development.html' title='Unity3D: 2D game development...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-AH51xh71A3E/TZsCc3XE_dI/AAAAAAAABgw/3snJLb_2PUo/s72-c/Crab_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8465585820293012638</id><published>2011-03-23T06:04:00.000-07:00</published><updated>2011-05-21T07:40:20.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='game prototype challenge'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='superOrganic168'/><category scheme='http://www.blogger.com/atom/ns#' term='GPCv4'/><category scheme='http://www.blogger.com/atom/ns#' term='a sunshine ray of hope'/><title type='text'>Postmortem - "a sunshine ray of hope"</title><content type='html'>&lt;div style="text-align: justify;"&gt;This is a postmortem for the game I developed for the &lt;a href="http://gameprototypechallenge.com/post/3856159295/gpcv4-themes"&gt;4th GamePrototypeChallenge (#GPCv4)&lt;/a&gt;, entitled &lt;a href="http://www.kongregate.com/games/JakeL168/a-sunshine-ray-of-hope"&gt;"a sunshine ray of hope"&lt;/a&gt;&amp;nbsp;(click the title to play the game).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-meR6muVU67M/TYfbMljGTsI/AAAAAAAABgk/7TT1JyvIqX8/s1600/aSunshineRayOfHope.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: justify;"&gt;&lt;img border="0" height="295" src="https://lh4.googleusercontent.com/-meR6muVU67M/TYfbMljGTsI/AAAAAAAABgk/7TT1JyvIqX8/s400/aSunshineRayOfHope.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The themes for the challenge was "burden" and "sunshine". And for the next two days after the announcement date, I've been brainstorming on the ideas for the game which I would make based on those two themes given, and I finally came up with one.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Story&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The story for the game is a bit rough, but it sounded something like this: "One day the sun is dead. And for a pretty long time, people had been living in the darkness, with no hope... and dream. Then we have a hero here, who got hold of a something... a (sun) stone, which he believe could help 'save' the sun. In the meantime, there's also a myth that the power of the sun stone needs to be harvested by 'the harvester', a device which, if harvested a sun stone, can send the power to the sun... regain its power, making it functional once more. 'The Harvester' was believes to be hidden in the dark forest. And so our hero take on a journey to look for 'the Harvester' within the dangerous dark forest...".&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Genre and Target Audience&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;The game is a puzzle-platformer, and&amp;nbsp;targeted to the audience at 12 years old and above (12+), and puzzle-platformer lovers.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Game Mechanics and Features&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The idea is to have a character, who has in his possession, a sun stone, which could cast a ray and move specific objects or "blocks" in game. There're be two kinds of "blocks" in the game, in which one is covered with dead plants, and another one which isn't. When the ray is casted to the dead plants block, the dead plant turns green, as if the sun ray from the stone has given it the power (sunlight) it needed to survive. And as the player moves his aim (and the direction of the ray moves too), the plants will follow the light, and thus moving the block it's covering; while for the block which is not covered with anything, it'll just stay stationery in its original position, until something (blocks with plants) come knocks it down. I did a &lt;a href="http://jakel168.blogspot.com/2011/03/gpcv4-day-1-2-game-mechanics-studio.html"&gt;blog post about the game mechanic here.&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Besides that, there'll also be other element planned for the game which helps makes it a more interesting puzzle-platformer, such as the giant ball (common in most puzzle-platformer), large block-pendulum, trap, boulder, door (which need to be unlocked by solving puzzles), etc.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And lastly, "the Harvester" will be placed at the last level, where by the player will need to cast sun rays at it for it to "harvest", before sending it for the sun, and thus ending the game.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Development Team&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;The team, &lt;a href="http://twitter.com/#!/superorganic168"&gt;SuperOrganic168&lt;/a&gt;, currently consists of me (Lee Zhi Fei, the game designer, programmer, artist) and composer Richard Daskas. There's only three games developed under the studio name thus far, and another 3 game I developed on my own 2010 will also be added, making it 6 games in total. I'm currently still a full time student on his internship program (at this time of writing), and a part time indie game developer; while Richard is a masters composition student at Penn State.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Development Tools&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The softwares I'm using for this project are:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Unity3d, the game engine&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- 3ds Max, the 3d modelling tool&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Photoshop, for texture making and UV map editing&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;What went right&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. &lt;b&gt;Finished game mechanic&lt;/b&gt; - The game mechanic was originally thought to be impossible to complete within such a short time, I had about 6 hours per day to think and work on how I could do it, and probably another 1 to 2 hours at works. The basic mechanics (casting ray and move blocks) was completed within 9 hours, and another 4 hours on tweaking it to fit the direction I want. It's still a little buggy at the time of the submission, but the game is playable, and the bugs is not so noticeable. And the Unity's MouseOrbit script really helps a lot for these types prototyping situation.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. &lt;b&gt;Good tracks for the game&amp;nbsp;&lt;/b&gt;- As soon as the game mechanic was finished, the first thing I did was contacting my composer, Richard for some music tracks for the game. Told him about story, and how the environment is gonna be like, and a few days later, he came out with two tracks, and we just discuss about how we could improve it to suit the game through e-mails. The point is that, thinking about the music first was for me, a great step for a game development project. You've got to think about the environment and the feeling you want to give to your player first before you start building the environment. I remember previously, in my second year at MMU, when I was working on a project, the music part usually comes last, and it's a pain in the ass to decide later on what kind of music suits the environment.&lt;br /&gt;&lt;br /&gt;3. &lt;b&gt;Successfully learn and use line renderer&lt;/b&gt; - I've never use the line renderer thing in Unity3d, only sometimes heard about it on other developers' blog. A few days before the challenge started, a classmate of mine mentioned about line renderer, and it got my think about how they did the Tron back-line thing that kill its player if crossed in Unity3d (they made a Tron game in Unity3d too!). So the information was sorta came at the right time I needed it. Because originally, I intended to use particle system to create the sun ray, but I have no idea how to limit the particle so that it'll only shoot particles until the hit.point, and to think about a formula to do that effect would take quite some time for me. Luckily, line renderer wasn't that hard to learn and use. I manage to come up with a solution to shoot the sun ray as a line renderer game object, and make it stop increasing in length as soon as it hit something. It was worth taking the risk of trying something I've never did before.&lt;br /&gt;&lt;br /&gt;4. &lt;b&gt;Successfully learn and use 3DText&lt;/b&gt; - Another thing that I haven't really tried on. In one of my previous project, I did some test with it, but failed with unsatisfying results, mostly because of the font issues. For some reason, the 3DText in Unity3d goes all distorted when I'm trying to use imported font, instead of the original default Arial. Thanks to the fact that a lot of people are also facing the same issue and UnityAnswer was there to provide the solutions, I was able to find a solution (using new materials, and change shaders, etc), and got the 3DText look exactly like how I wanted it to be in the game.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;What went wrong&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1.&lt;b&gt; Bad character control &lt;/b&gt;- In order to make more time for me to work on the puzzle and level design of the game, I re-use back some of the old character movement script I wrote some time ago, and it turn out to be a disaster. Not that the script aren't working, but it's just wasn't fits for the game's nature... or any other puzzle-platformer game. It was originally wrote for a RPG game I made previously. The suitable one should be one that moves according to the corresponding camera angle.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. &lt;b&gt;No restart level&lt;/b&gt; - The problem is extremely easy to solve, but due to time constraint, the idea to restart a level wasn't in the plan, or I didn't even think&amp;nbsp;that&amp;nbsp;it was needed when I was building the levels. Anyway, as soon as the game was completed, I found out that some of the levels at the higher level was kinda hard, and the player can only respawn if they fall off cliff, but the non-movable-block won't respawn if they fall off cliff and thus the player can't complete the game and will have to start all over from the tutorial scene and proceed all the way to the level they lost at. A very troublesome problem, especially when some of these hard levels takes a long time to complete, and stops the player from reaching the last level (the 6th level), where the harvester is at. A restart level solution is currently in the work.&lt;br /&gt;&lt;br /&gt;3. &lt;b&gt;Not so narrative&lt;/b&gt;&amp;nbsp;- Also a feature for the game, was to make it a little bit narrative, like telling a story the player about what's going on in there, and what happened as he proceeded through the levels. The only "narrative" part of the game I think would be the tutorial scene, where we have a couple of floating text which tells the player what to do. The only part that I failed to finish was to place the story into the game.&lt;br /&gt;&lt;br /&gt;4. &lt;b&gt;Game assets not complete&lt;/b&gt;&amp;nbsp;- There's actually quite a lot of stuff (3d models) I intended to put in there for the game, but I never got to finish them on time. One of which was quite important, the main character, was also intended to be an actual "character" (with animations and stuff)... instead of the current white box guy. Besides that, I also planned to make the game a little more dark-forest-like, by adding some trees and use terrain in there, but never got to do it because it's decreasing the performance and increasing draw calls.&lt;br /&gt;&lt;br /&gt;5.&amp;nbsp;&lt;b&gt;Not all levels done&amp;nbsp;&lt;/b&gt;- I had quite a few levels designed to be in the game, but ended up not doing any of them. Some of the levels in there are combinations of the levels I intend to put in. A few levels I designed even have new elements for the game, but I only manages to do two, and placed them at the second last level, which, if you managed to get past the first 4 levels, you'll get to see it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8465585820293012638?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8465585820293012638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8465585820293012638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8465585820293012638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8465585820293012638'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/03/postmortem-sunshine-ray-of-hope.html' title='Postmortem - &quot;a sunshine ray of hope&quot;'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-meR6muVU67M/TYfbMljGTsI/AAAAAAAABgk/7TT1JyvIqX8/s72-c/aSunshineRayOfHope.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4068643304549733096</id><published>2011-03-17T08:02:00.000-07:00</published><updated>2011-03-17T08:02:53.245-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='superOrganic168'/><category scheme='http://www.blogger.com/atom/ns#' term='game mechanics'/><category scheme='http://www.blogger.com/atom/ns#' term='GPCv4'/><title type='text'>GPCv4 Day 1 &amp; 2 - Game Mechanics + Studio Logo/Splash Screen...</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;GPCv4&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Was having dinner while writing this post... So, right now I'm working on a game for the latest &lt;a href="http://gameprototypechallenge.com/"&gt;GamePrototypeChallenge.com&lt;/a&gt;&amp;nbsp;challenge, and the theme of the month is "Burden" and "Sunshine".&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I don't really have any idea for the first 2 days, other than I wanted to make&amp;nbsp;&lt;a href="http://jakel168.blogspot.com/2011/02/new-game-new-challenge.html"&gt;another puzzle game&lt;/a&gt;... This time, I'm planning to make a REAL puzzle game, unlike my previous entry which was originally meant to be a platformer, but ended up being an optical-illusion-puzzle-platformer genre instead.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I did a lot of brain storming, came up with quite a few ideas, and then ended up with the current one which I find would be easier for me to work on in this 7 days of game development. The story is like this:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"One day the sun suddenly stop working, and the whole world went dark... for a pretty long time. And then decades later, our hero appears, with a stone which he thinks can help save the sun... and he must go to the center of the dark forest through a series of challenges with the help of the stone... in order to reach a machine over there which can harvest the power of the stone and save the sun...". And the stone in this context is something like Sun stone... except that it's not for &lt;a href="http://bulbapedia.bulbagarden.net/wiki/Evolutionary_stone#List_of_stones"&gt;evolving a Pokemon&lt;/a&gt;. The player can use the stone to create a ray of (sun) light and move objects with it, and solve puzzles (if there's really any puzzles at the end)... XD&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, I spent the next 12 to 15 hours coding the game mechanics in Unity3d, and here's what I came up with:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="640" height="532" class="BLOG_video_class" id="BLOG_video-251b89ad769d5871" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v21.nonxt2.googlevideo.com/videoplayback?id%3D251b89ad769d5871%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330316195%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D4BCBC7793423827A35ABBEBBD236B78A7AAC4EB7.137963C22B49CBD1210AB3C3633BFA49F0BC3CDD%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D251b89ad769d5871%26offsetms%3D5000%26itag%3Dw160%26sigh%3DPAEL849FiG5cThvCjjcr9rUwF60&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="640" height="532" bgcolor="#FFFFFF"flashvars="flvurl=http://v21.nonxt2.googlevideo.com/videoplayback?id%3D251b89ad769d5871%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330316195%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D4BCBC7793423827A35ABBEBBD236B78A7AAC4EB7.137963C22B49CBD1210AB3C3633BFA49F0BC3CDD%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D251b89ad769d5871%26offsetms%3D5000%26itag%3Dw160%26sigh%3DPAEL849FiG5cThvCjjcr9rUwF60&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Music by &lt;a href="http://georgeandjonathan.com/"&gt;George&amp;amp;Jonathan&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The video shows some of the stuff the player (you) are capable of in the game. When you aim and shoot, a ray will be casted by the Sun stone you're holding, and you'll be able to mystically move the blocks. The scripts is still a little buggy, though no errors, but it's considered complete for now. I'll be working on the level design next...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;SuperOrganic168&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A while ago, I kinda gave my own room-studio a name, and it's called &lt;a href="http://twitter.com/#!/superorganic168"&gt;"SuperOrganic168"&lt;/a&gt;, don't ask me how I got the name (it's a pretty long story), and &lt;a href="http://www.kongregate.com/games/JakeL168/deepth"&gt;"deepth" was the first game I released under the studio name&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I spent some dinner time today doing a logo-splash screen thing (without the logo yet, still working on it)... Here are the without-logo version (will upload with-logo vers. if I manage to finish the logo by the time the challenge is over, or I'll just put it in game):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-IQsR01co9_8/TYIgwJdJZHI/AAAAAAAABgU/5g7gsWnoFE8/s1600/SO168.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-IQsR01co9_8/TYIgwJdJZHI/AAAAAAAABgU/5g7gsWnoFE8/s400/SO168.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-_V6wKr1VqL8/TYIgwwzBdwI/AAAAAAAABgY/ikvWrnW6r4k/s1600/SO168_fullKatakana.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh3.googleusercontent.com/-_V6wKr1VqL8/TYIgwwzBdwI/AAAAAAAABgY/ikvWrnW6r4k/s400/SO168_fullKatakana.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The one with the word "meat" was actually for adding some sense of humour into it (and it sounds the same as the Katakana too), and I kinda thinks that the splash screen looks good already without a proper logo... haha As for the orange theme, orange is my favorite colour...:D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4068643304549733096?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4068643304549733096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4068643304549733096' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4068643304549733096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4068643304549733096'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/03/gpcv4-day-1-2-game-mechanics-studio.html' title='GPCv4 Day 1 &amp; 2 - Game Mechanics + Studio Logo/Splash Screen...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-IQsR01co9_8/TYIgwJdJZHI/AAAAAAAABgU/5g7gsWnoFE8/s72-c/SO168.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1471138428373555262</id><published>2011-03-07T00:00:00.001-08:00</published><updated>2012-01-12T21:34:12.309-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='texture2d'/><category scheme='http://www.blogger.com/atom/ns#' term='packtextures'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><category scheme='http://www.blogger.com/atom/ns#' term='batching'/><category scheme='http://www.blogger.com/atom/ns#' term='draw calls'/><category scheme='http://www.blogger.com/atom/ns#' term='Combine children'/><title type='text'>Unity3d + C#: Reducing draw calls and gaining some performances with CombineChildren.cs and Texture2D.PackTexture</title><content type='html'>&lt;div style="text-align: justify;"&gt;I realize a lot of Unity tutorial out there focus more on the gameplay issue and less in the graphical issue, probably due to the fact that they want to guide/teach you into creating a better game with more kickass functions... Well, in this post, I'm doing a note on ways to reduce draw calls in order for better performance in lower-end PCs.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Usually a game with high draw calls means it has a ton of meshes in its scene with different textures, materials and shaders, and the PC will have to loads them up and render one after another causing it to gets laggy, unless you have a high-end PC like mine... You can read a more detail explanation in &lt;a href="http://answers.unity3d.com/questions/7247/whats-the-best-way-to-reduce-draw-calls"&gt;this article&amp;nbsp;at Unity Answers by RobotDuck&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, a way to reduce this is, as the article explained, by creating a large texture atlas, which is made up of all the textures of the meshes in your scene, and then assign the texture atlas back to the meshes, and then position them to their corresponding textures on the atlas according to their designated UV coordinates. I'm kinda bad at explaining stuff... so I'll just show you this:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-EeXkytWlUtc/TXR9ZSK_cHI/AAAAAAAABfY/jv26d5FEEgM/s1600/test_texture_atlas.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="https://lh5.googleusercontent.com/-EeXkytWlUtc/TXR9ZSK_cHI/AAAAAAAABfY/jv26d5FEEgM/s400/test_texture_atlas.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;This is an example of a texture atlas (taken from the link above), where by you have all the textures of the 3d objects in your scene and then assign the texture to them according to their corresponding UV coordinates...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;So let's say you had already created all the textures for your game project and was too lazy to create the texture atlas for time's sake, cuz it can get pretty messy assuming you have like 100 different textures and you would like to have say... 6 different shaders for all of them. Instead of opening up your Photoshop to make those 6 texture atlases (for different shaders), you can pack those textures up into atlas straight way using scripts...&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;I found one well-written script, &lt;a href="http://forum.unity3d.com/threads/6699-Texture2D.PackTextures"&gt;written by "phantom" from the Unity forum&lt;/a&gt;&amp;nbsp;which uses the Unity built in functions called Texture2D.PackTexture() to create a texture atlas. I've sorta tested it out, tweaked it a little, and exported it as a unity package... you can download it from here (for Unity vers. 3.x): &lt;a href="https://sites.google.com/site/jakel168games/TexturePacker.unitypackage?attredirects=0&amp;amp;d=1"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;TexturePacker.unitypackage&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;And now let me guide you through on how you can use the script...&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Import all the assets into your project folder. Some of the script inside the package, especially CombineChildren and MeshCombineUtility originated from Unity's own Standard Assets.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-wZkq_zrRAsk/TXSF2pLLo8I/AAAAAAAABfc/Zx0QTPfQmxc/s1600/atlas_import.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="https://lh6.googleusercontent.com/-wZkq_zrRAsk/TXSF2pLLo8I/AAAAAAAABfc/Zx0QTPfQmxc/s400/atlas_import.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Go to the Assets/Scenes folder and open up the "TexAtlasTest" scene, and you'll see 4 cubes inside the scene. Don't touch anything yet, but go to the Game window, and select stats...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-Pf-a1a3o4Bw/TXSG83bi3lI/AAAAAAAABfg/Ol5A1GS8IAw/s1600/atlas_openscene.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="https://lh6.googleusercontent.com/-Pf-a1a3o4Bw/TXSG83bi3lI/AAAAAAAABfg/Ol5A1GS8IAw/s400/atlas_openscene.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-HbLPvI_q2II/TXSG9S-NSrI/AAAAAAAABfk/ojenvqA6LFQ/s1600/atlas_stats.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="https://lh3.googleusercontent.com/-HbLPvI_q2II/TXSG9S-NSrI/AAAAAAAABfk/ojenvqA6LFQ/s400/atlas_stats.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;The stats window should show a Draw Calls of 4, which make sense, consider we have 4 cubes in the scene with different textures and materials, but uses the same shaders, thus there's a chance here we could combine their textures together and use the same material and texture atlas for all the meshes in the scene.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Next, in the Hierarchy, you should see a gameObject named "Objs" which contains all the blocks in the scene. When you select it, there&amp;nbsp;should&amp;nbsp;be two scripts attached to it: CombineChildren.cs and TexturePacker.cs&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-5MXhqr9V0PI/TXSJL4ofPaI/AAAAAAAABfo/OrHJTq25zQM/s1600/atlas_scripts.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="208" src="https://lh3.googleusercontent.com/-5MXhqr9V0PI/TXSJL4ofPaI/AAAAAAAABfo/OrHJTq25zQM/s400/atlas_scripts.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;What this CombineChildren.cs script does is, it combine all the meshes of the children of the gameObject (which was using the script) into one big mesh. And then TexturePacker.cs will combine all the textures of the children to create one huge texture atlas, which would then be auto-UV to all the meshes inside the scene.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;There's two parameters over at the inspector which you could toy around with:&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;"Shader Type": the name (in string) of the shader you want to use, and&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;"Texture Size": the size of the texture atlas you want to create... it's 1024 x 1024 by default...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;As for the "Packed Texture" variable, just leave it alone... It's actually for storing the texture atlas created when you click "play"... so it'll remain empty for now, and then a new texture will appear during play mode...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Those were the two important scripts to make the draw calls reduction possible... Now if you could just click "Play", and look at stats again:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-6XXEomNGCEI/TXSMeG9MHbI/AAAAAAAABfs/PRXTHp9fZZw/s1600/atlas_finalDrawcall.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="288" src="https://lh5.googleusercontent.com/-6XXEomNGCEI/TXSMeG9MHbI/AAAAAAAABfs/PRXTHp9fZZw/s400/atlas_finalDrawcall.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Now we have for the scene, ONE draw calls. (Yeah! :D)&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;More explanation about the script used is inside the TexturePacker.cs script itself (those comments in green-colored font)...&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;b&gt;NOTE:&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;* Important thing to be noted about the scripts when using them is that... these scripts will only turn their children into one huge meshes and one huge texture atlas... Thus, always make sure that you have an empty game object that stores all the meshes which uses the same shaders that you wanna combine into, before using them.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;* In the process of packing texture using PackTextures() functions, you may face a problem of getting an error like: "Texture atlas needs textures to have Readable flag set." Don't worry, it's not a bug or anything, you can solve it by going to your texture's folder, click on the textures you're doing the packing on, and in the inspector, look for "texture type" and select "Advanced". Doing so will bring out a number of new parameters. Look for the one called "Read/Write Enabled", check it (for all textures used), and the problem's solved.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;What's happening here is that if the "Read/Write Enabled" is not enabled,&amp;nbsp;&lt;a href="http://forum.unity3d.com/threads/80792-What-does-quot-Texture-atlas-needs-textures-to-have-Readable-flag-set.-quot-means"&gt;the texture is never stored in ram, but only vram, as such you cannot use it for packing as the cpu can't access it&lt;/a&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;b&gt;Reference (some cool articles you could also check out):&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://answers.unity3d.com/questions/2117/what-is-a-reasonable-number-of-draw-calls-relative-to-one-hardware-configuration"&gt;http://answers.unity3d.com/questions/2117/what-is-a-reasonable-number-of-draw-calls-relative-to-one-hardware-configuration&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://answers.unity3d.com/questions/7247/whats-the-best-way-to-reduce-draw-calls"&gt;http://answers.unity3d.com/questions/7247/whats-the-best-way-to-reduce-draw-calls&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://forum.unity3d.com/threads/6699-Texture2D.PackTextures"&gt;http://forum.unity3d.com/threads/6699-Texture2D.PackTextures&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://unity3d.com/support/documentation/ScriptReference/Texture2D.PackTextures.html"&gt;http://unity3d.com/support/documentation/ScriptReference/Texture2D.PackTextures.html&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://unity3d.com/support/documentation/Manual/iphone-DrawCall-Batching.html"&gt;http://unity3d.com/support/documentation/Manual/iphone-DrawCall-Batching.html&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1471138428373555262?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1471138428373555262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1471138428373555262' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1471138428373555262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1471138428373555262'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/03/unity3d-c-reducing-draw-calls-and.html' title='Unity3d + C#: Reducing draw calls and gaining some performances with CombineChildren.cs and Texture2D.PackTexture'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-EeXkytWlUtc/TXR9ZSK_cHI/AAAAAAAABfY/jv26d5FEEgM/s72-c/test_texture_atlas.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2311824900465221053</id><published>2011-03-06T11:05:00.000-08:00</published><updated>2011-03-06T11:09:20.523-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='game development'/><title type='text'>Download any Unity3d version...</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;I'm trying to clean up some bookmarks of mine on Chrome, so I thought I post something up on those things which I bookmarked on (one by one) which might be important for me in the future... :D&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, anyway, for this post, it's about how to download any Unity3d version from the main site, the link is as follow:&amp;nbsp;&lt;a href="http://download.unity3d.com/download_unity/UnitySetup-N.N.N.exe"&gt;http://download.unity3d.com/download_unity/UnitySetup-N.N.N.exe&lt;/a&gt;, where by "N.N.N" is equal to the version of Unity3d which you wanted to download... such as "3.1.0", "3.0.0", "2.6.1", etc.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Useful for when you want to open up your old Unity projects but you don't want to ruin/destroy it by upgrading it to the latest version, cuz mine tends to do like that. Like my previous Alice in Wonderland parody game, it's not functioning properly (character move slower, some scripts not working, laggy issue, lighting problem, etc) after I upgraded it to version 3.0... but good thing I saved a copy of it...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Thanks whoever it is that inform me about the address... forgot who he is, some random Unity3d developer on Twitter...&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lh3.googleusercontent.com/-8qCL5HOnr3w/TXPbbU_yryI/AAAAAAAABfU/QTotkemlXUg/s1600/overview-broad.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="https://lh3.googleusercontent.com/-8qCL5HOnr3w/TXPbbU_yryI/AAAAAAAABfU/QTotkemlXUg/s320/overview-broad.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Started to feel like my blog post was a bit dull... I'll add more images in my future post... regardless of how unrelated it is to the context...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2311824900465221053?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2311824900465221053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2311824900465221053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2311824900465221053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2311824900465221053'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/03/download-any-unity3d-version.html' title='Download any Unity3d version...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-8qCL5HOnr3w/TXPbbU_yryI/AAAAAAAABfU/QTotkemlXUg/s72-c/overview-broad.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-525721125660612999</id><published>2011-03-05T11:50:00.000-08:00</published><updated>2011-03-07T03:54:58.728-08:00</updated><title type='text'>A Mark Zuckerberg method?</title><content type='html'>&lt;div style="text-align: justify;"&gt;So I'm currently working freelance for a third party game development company (who wants to be first party) on an MMO game prototype... which was also a more local version of a ripoff of the Japanese game AiSpace. And I started having ideas to create an MMO of my own, somehow a little similar to what my client wants me to do, but better, and with more unique contents...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It wasn't until a few days ago when I saw a news somewhere about the Winklevoss twins wanting to get in another lawsuit-battle with Mark ("Zuckerberg" was too hard to type, I'll just go with "Mark") of Facebook (which I'm not gonna go into the details) and the news reminded me of the Facebook story in The Social Network... where Mark sorta "steal" the&amp;nbsp;Winklevoss twins' "idea".&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And it gets me wondering, would I be a thief (or a more appropriate title such as: "idea stealing scumbag") for doing the same thing like what Mark did. I'm not saying that the fault's on Mark, I mean he does work very hard on Facebook, and seriously the&amp;nbsp;Winklevoss twins has no right to just come in and claim money on something they did not contribute in, what a bunch of ass... Anyway, my situation now is kinda like what's inside The Social Network: &amp;nbsp;there's these guys (3rd party dev, no idea on how to code), who wants me to help them write an MMO game, and I kinda plan to slip out and develop another MMO of my own, get successful (just&amp;nbsp;exaggerating&amp;nbsp;XD), and then get sued for a "multi-million dollar idea". &amp;lt;-- (I laughed so hard at the last line)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, I'm probably just thinking too much. I'll continue working on their MMO, finish it, and start working on one of my own... And I might not even get to as great as Mark though... I mean, c'mon, there's like a million online games out there (some are great), and how could a beginner like me compete with them... lol... I guess we'll find out... probably next year~ :D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-525721125660612999?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/525721125660612999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=525721125660612999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/525721125660612999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/525721125660612999'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/03/mark-zuckerberg-method.html' title='A Mark Zuckerberg method?'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2032256544916250236</id><published>2011-03-03T08:32:00.000-08:00</published><updated>2011-03-23T04:04:55.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internship'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='MMO'/><category scheme='http://www.blogger.com/atom/ns#' term='prototype'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Work, work, work, and 5 games in total...</title><content type='html'>&lt;div style="text-align: justify;"&gt;As of February 21st 2011, I started working at &lt;a href="http://www.teratotech.com/"&gt;TeratoTech&lt;/a&gt; as an intern for a game programmer position for 3 months; and FYP (Final Year Project) right after that. So currently I've been not-so-formally "assigned" to an Unity3d development section of the company, well apparently there's only like 5 Unity3d developers over here, in which 3 of them includes me and my two other pals who also came here to intern; and two projects for us to handle, in which I'm again, not-so-formally "assigned" to as the lead programmer of those projects... XD&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Then, to make my life more exciting, I'm planning two join two more challenges this month (March):&amp;nbsp;&lt;a href="http://experimentalgameplay.com/"&gt;EGP&lt;/a&gt; and &lt;a href="http://gameprototypechallenge.com/"&gt;GPC&lt;/a&gt;. Not sure if I'm gonna join all of them, but I'm definitely joining one of them, and if both had the same theme at the same time, then I guess I could submit it for both the challenge. haha&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lastly, for the fifth game which I'll be working on (as described above, I'm ady having about 3-4 game projects running in March), will be an online MMO prototype. Not the World of Warcraft type (that's crazy!), but more like Second Life, without the world creation part. It's actually a ripoff of a Japan online game called &lt;a href="http://aisp.jp/"&gt;AiSpace&lt;/a&gt;&amp;nbsp;(according to my client). I'm only gonna be working on the scripting part, while the rest (graphics and audio) will be handle by the client's company. Btw, I'm given 6 months to develop this MMO's prototype, not a month, so I still have some time left for other projects too... :)&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, in conclusion, though most the games I mentioned that I'd made above will probably take up my entire March period, I still have plans to make my first "big thing" as an indie game developer. I already have the basic concept and some minor advance concept for the "big thing", and I'll develop it as soon as I'm free from all these. And I kinda promise my client that I'd work with them on another two iPad games after the MMO thing, but they're gonna have to get another guy, cuz this guy (me) has a dream (game) he wanna to achieve (make)~&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2032256544916250236?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2032256544916250236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2032256544916250236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2032256544916250236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2032256544916250236'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/03/work-work-work-and-5-games-in-total.html' title='Work, work, work, and 5 games in total...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8983147469551035139</id><published>2011-02-21T04:05:00.000-08:00</published><updated>2011-02-21T04:05:08.613-08:00</updated><title type='text'>New game, new challenge...</title><content type='html'>These few days were fun, first I've finished my final exam (while fearing that I fail some of them), then my internship started. It was kinda fun working. The environment gave me a feeling to work, and thus I had enough time to finish my latest game: "deepth", play it here: &lt;a href="http://www.kongregate.com/games/JakeL168/deepth"&gt;deepth&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It was a game prototype challenge held by &lt;a href="http://gameprototypechallenge.com/"&gt;GamePrototypeChallenge.com&lt;/a&gt;, to create a game based on two of these themes: "loneliness" and "dimensions"... Sounds pretty hard for me cuz I've never join/enter a challenge before, I thought, this might as well be my first, since I sorta blew up my previous promise; to join the &lt;a href="http://experimentalgameplay.com/blog/2011/02/ascii-in-february/"&gt;experimental gameplay project 's February challenge&lt;/a&gt;... Well, anyway, I got to finally finished it today, which was a good thing, cuz I've a pile of works to do later on.&lt;br /&gt;&lt;br /&gt;At Terato Tech, me and my team members were asked to develop a tower defense game for the iOS, and maybe, if possible, PC... We had a great time discussing about it at the office, sounds to us like it's gonna be a great game... XD&lt;br /&gt;&lt;br /&gt;Meanwhile, at Hana Creative, I was asked to develop an online game prototype, which I plan to start tomorrow, cuz now I'm pretty exhausted, and lost... not sure how I should start... zzz&lt;br /&gt;&lt;br /&gt;Well, anyway, if anyone's reading this, enjoy my &lt;a href="http://www.kongregate.com/games/JakeL168/deepth"&gt;new game&lt;/a&gt;, and I'm off... nightie~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8983147469551035139?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8983147469551035139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8983147469551035139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8983147469551035139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8983147469551035139'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/02/new-game-new-challenge.html' title='New game, new challenge...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8705876954403502158</id><published>2011-02-13T13:22:00.000-08:00</published><updated>2011-02-13T13:23:50.086-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='concept'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='inventory'/><title type='text'>Unity3d + C#: My early inventory concepts... Part 1</title><content type='html'>&lt;div style="text-align: justify;"&gt;A few month ago I gave myself a little challenge to develop an inventory script right after I finished up with my project at that time... Took me three days to finish, and haven't have the time to comment on it yet. And for some reason, I'm really bad at commenting script, and I'm bad at memorizing stuff too, always forget about how I wrote and&amp;nbsp;structuring&amp;nbsp;my script in the first place... haha&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now I'm taking some time off to document/comment on the early inventory concept that I've scripted. Before going into the script, let's visualize what I'm about to do. So right now, I need to create an array of empty spaces at a specific size of... say 4 by 4, for storing items... like how a normal inventory is like.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ONwKTc4lVtg/TVfv08ROLgI/AAAAAAAABeU/M0TO3SuExRc/s1600/Inventory00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-ONwKTc4lVtg/TVfv08ROLgI/AAAAAAAABeU/M0TO3SuExRc/s320/Inventory00.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For this, I'll need two arrays, one is for storing the items, and the other one is for storing the positions (Rect) of the cubes for when I show them on screen using GUI.Box, which is sorta optional, but I wanna make things simpler by finishing all the calculation stuff before using them...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;When I first started thinking about the structure of the script, I've been wanted to make it customizable, in terms of the size of the inventory.... So I first started by creating the four main variables:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;private Rect[,] inventCont;&lt;br /&gt;private int[,] inventCont;&lt;br /&gt;public int arrayCapacityColumn = 4;&lt;br /&gt;public int arrayCapacityRow = 4;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The first one is a Rect variable (used to store GUI positioning and size information), 2 dimensional; while the second one is an integer variable, also 2 dimensional. And as you can see I used the [,] for each of the variables created, as a call for creating a multidimensional array. To know more about multidimensional arrays and the array class, you can visit here:&amp;nbsp;&lt;a href="http://bit.ly/gKk4vS"&gt;http://bit.ly/gKk4vS&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;For the third and forth variables, as the name suggested, is the variables for declaring the size of the array. When put it together in the Start() function:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;void Start() {&lt;br /&gt;  inventCont = new Rect[arrayCapacityColumn, arrayCapacityRow];&lt;br /&gt;  inventItems = new int[arrayCapacityColumn, arrayCapacityRow];&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Next, I'm going to place something inside the arrays I just created.&amp;nbsp;Before I continue, I'm going to declare 3 more variables for the size and space of the item slots in the inventory:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;public float slotWidth = 75;&lt;br /&gt;public float slotHeight = 75;&lt;br /&gt;public float slotSpaces = 20;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Then back to the Start function, I write these:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;for (int c = 0; c &amp;lt; arrayCapacityColumn; c++) {&lt;br /&gt;  for (int r = 0; r &amp;lt; arrayCapacityRow; r++) {&lt;br /&gt;      inventCont[c,r] = new Rect(slotSpaces + ((slotWidth + slotSpaces) * c), slotSpaces + ((slotHeight + slotSpaces) * r), slotWidth, slotHeight);&lt;br /&gt;      inventItems[c,r] = 0;&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;For the inventCont, which was a Rect array, I'm inserted a number of &amp;nbsp;16 (4 x 4) Rect variables with information about the placements and positions of the boxes in there.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hEkwtpcNZKU/TVg4EYkH9HI/AAAAAAAABec/-RvLWB4okZ0/s1600/Inventory01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-hEkwtpcNZKU/TVg4EYkH9HI/AAAAAAAABec/-RvLWB4okZ0/s640/Inventory01.jpg" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And another 16 of integer number "0" in the inventItems array. The number "0" in this context means empty, making it an empty item slot. I can change the value to other numbers while keeping track of what each number is about.&lt;br /&gt;&lt;br /&gt;After that, in the OnGUI() function, I'll create buttons to represent the empty button slots while adding GUI boxes with some specialize icon to represent those items inside the inventory. To do that, I'll need a new GUIStyle variable, a GUIStyle array.&lt;br /&gt;&lt;br /&gt;Back to the top, I insert the following line:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;public GUIStyle[] inventItemIcons;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;What I basically want to do with this is to place in a few PNG or PSD files of my item's icon and then use them when referencing what I had in my inventory...&lt;br /&gt;&lt;br /&gt;Back to the OnGUI function:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;void OnGUI {&lt;br /&gt;  for (int c = 0; c &amp;lt; arrayCapacityColumn; c++) {&lt;br /&gt;    for (int r = 0; r &amp;lt; arrayCapacityRow; r++) {&lt;br /&gt;       if (GUI.Button(inventCont[c,r], "")) {&lt;br /&gt;       }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  for (int c = 0; c &amp;lt; arrayCapacityColumn; c++) {&lt;br /&gt;    for (int r = 0; r &amp;lt; arrayCapacityRow; r++) {&lt;br /&gt;      if (inventItems[c,r] &amp;gt; 0) {&lt;br /&gt;        GUI.Box(inventCont[c,r], "", inventItemIcons[inventItems[c,r]]);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Before testing out the script, I'm gonna place some items randomly in the array. To do that, I go to the Start function and insert these lines inside:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;inventItems[2,1] = 1;&lt;br /&gt;inventItems[1,0] = 2;&lt;br /&gt;inventItems[3, 2] = 2;&lt;br /&gt;inventItems[3, 0] = 1;&lt;br /&gt;inventItems[0, 3] = 2;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Part 1's final result (after inserting the item icons into the GUIStyle array):&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-rtjzBguKL3o/TVhDIyJkM-I/AAAAAAAABeg/oHjaIdeAkM8/s1600/Inventory03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-rtjzBguKL3o/TVhDIyJkM-I/AAAAAAAABeg/oHjaIdeAkM8/s1600/Inventory03.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--UJ3fnsAT50/TVhDKmAfKhI/AAAAAAAABek/BS1fkKYU-ZE/s1600/Inventory02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/--UJ3fnsAT50/TVhDKmAfKhI/AAAAAAAABek/BS1fkKYU-ZE/s400/Inventory02.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;to be continued...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8705876954403502158?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8705876954403502158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8705876954403502158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8705876954403502158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8705876954403502158'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/02/unity3d-c-my-early-inventory-concepts.html' title='Unity3d + C#: My early inventory concepts... Part 1'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ONwKTc4lVtg/TVfv08ROLgI/AAAAAAAABeU/M0TO3SuExRc/s72-c/Inventory00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6633800596943606324</id><published>2011-02-13T10:16:00.000-08:00</published><updated>2011-02-13T10:32:40.838-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='maths'/><category scheme='http://www.blogger.com/atom/ns#' term='extension'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='mathf'/><title type='text'>AddMaths time!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I'm starting a little side scripting project here which I called "project AddMaths". It's not a game, but a bunch of scripting experiments which I did during my free time. And I added what I've learned (if it's helpful with my future projects) into a new extension file which I named as "AddMaths.cs". By doing this, I could use and reuse these "experimental" functions in my projects, without having to rewrite them all over again in a new project... which was kinda tedious and troublesome. Most of these aren't even that awesome yet, and Unity probably have some even better functions than mine, that I have yet to figure out... XD...&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;To check it out, go to the toolbar above and click "AddMaths", or go &lt;a href="http://jakel168.blogspot.com/p/addmaths.html"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Use it at your own risk... I mean, it's not gonna harm you or anything, but if you don't like it, just delete it and we're cool... right?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6633800596943606324?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6633800596943606324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6633800596943606324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6633800596943606324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6633800596943606324'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/02/addmaths-time.html' title='AddMaths time!'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3446166850775838848</id><published>2011-01-26T14:23:00.000-08:00</published><updated>2011-01-26T14:23:53.049-08:00</updated><title type='text'>VRD3P3 - Intro Scene</title><content type='html'>With the help of the kickass &lt;a href="http://itween.pixelplacement.com/index.php"&gt;iTween&lt;/a&gt;, I created this intro scene for my game...&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" class="youtube-player" frameborder="0" height="390" src="http://www.youtube.com/embed/6vy4nXbtAf0" title="YouTube video player" type="text/html" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;The quality was good before I uploaded it... don't know why it become like this... even the lighting looks sort of mess up. Anyway, enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3446166850775838848?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3446166850775838848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3446166850775838848' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3446166850775838848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3446166850775838848'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/01/vrd3p3-intro-scene.html' title='VRD3P3 - Intro Scene'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/6vy4nXbtAf0/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3492689593563179039</id><published>2011-01-20T02:22:00.000-08:00</published><updated>2011-01-20T02:22:11.291-08:00</updated><title type='text'>VRD3P3 - Environment Final</title><content type='html'>I think this should be enough, considering that I've spent 2 weeks working on the game's environment, tweaking and adjusting the lighting and stuff...&lt;br /&gt;&lt;br /&gt;I've built a demo version on the game which contains only the environment, cuz I haven't start working on the gameplay yet. You can &lt;a href="http://bit.ly/hxvX8O"&gt;download it here&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;I was planning to upload it to some unity game hosting site like GameJolt or IndiePub, but the game is just too freaking big in size, about 70mb... takes too long to load.&lt;br /&gt;&lt;br /&gt;Anyway, here're the in-game screenshots:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgK-S74jYI/AAAAAAAABcM/0lnNNOjPbxA/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgK-S74jYI/AAAAAAAABcM/0lnNNOjPbxA/s400/1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgK_os34CI/AAAAAAAABcQ/Bd4AmWJnWkI/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgK_os34CI/AAAAAAAABcQ/Bd4AmWJnWkI/s400/2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TTgLBIcoDII/AAAAAAAABcU/UhwOoQj5Sd8/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TTgLBIcoDII/AAAAAAAABcU/UhwOoQj5Sd8/s400/3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TTgLCHuoG5I/AAAAAAAABcY/mAQqeYeg_80/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TTgLCHuoG5I/AAAAAAAABcY/mAQqeYeg_80/s400/4.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TTgLDaEfdwI/AAAAAAAABcc/_JpGFAi2P_Q/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TTgLDaEfdwI/AAAAAAAABcc/_JpGFAi2P_Q/s400/5.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLEr16rjI/AAAAAAAABcg/28acv_tl2V8/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLEr16rjI/AAAAAAAABcg/28acv_tl2V8/s400/6.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TTgLFnqMCkI/AAAAAAAABck/xq5fZqs9930/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TTgLFnqMCkI/AAAAAAAABck/xq5fZqs9930/s400/7.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgLGSI20BI/AAAAAAAABco/2C6HuKBXWZQ/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgLGSI20BI/AAAAAAAABco/2C6HuKBXWZQ/s400/8.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLHnN-YOI/AAAAAAAABcs/WrE3aHnCDmg/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLHnN-YOI/AAAAAAAABcs/WrE3aHnCDmg/s400/9.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgLIdjCmEI/AAAAAAAABcw/nEnSFzYIokE/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgLIdjCmEI/AAAAAAAABcw/nEnSFzYIokE/s400/10.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLJrfCo8I/AAAAAAAABc0/mb6vmlInjdM/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLJrfCo8I/AAAAAAAABc0/mb6vmlInjdM/s400/11.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgLKmbU8AI/AAAAAAAABc4/60hIm-wpNLM/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgLKmbU8AI/AAAAAAAABc4/60hIm-wpNLM/s400/12.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TTgLLjwM4NI/AAAAAAAABc8/b2b2WX9i3vs/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TTgLLjwM4NI/AAAAAAAABc8/b2b2WX9i3vs/s400/13.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLMc5DVFI/AAAAAAAABdA/LE86NKCXGaw/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLMc5DVFI/AAAAAAAABdA/LE86NKCXGaw/s400/14.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TTgLNkNvl4I/AAAAAAAABdE/moBXB4Bsf-U/s1600/15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TTgLNkNvl4I/AAAAAAAABdE/moBXB4Bsf-U/s400/15.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLO5cf57I/AAAAAAAABdI/sPkKYuqJJMw/s1600/16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TTgLO5cf57I/AAAAAAAABdI/sPkKYuqJJMw/s400/16.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3492689593563179039?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3492689593563179039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3492689593563179039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3492689593563179039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3492689593563179039'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/01/vrd3p3-environment-final.html' title='VRD3P3 - Environment Final'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rv6mkrMcC1Q/TTgK-S74jYI/AAAAAAAABcM/0lnNNOjPbxA/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3837493297590359994</id><published>2011-01-11T21:19:00.000-08:00</published><updated>2011-01-11T21:19:42.144-08:00</updated><title type='text'>VRD3P3 - Scene 1, texturized</title><content type='html'>Here're are some pics of the first scene of my game which I'd just finished texturing... My skill in Photoshop is not that good, so texturing this scene took about 5-6 hours, and I'm damn exhausted now~&amp;gt;^&amp;lt;~&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here they are, print screen from inside Unity:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04b0W-A1I/AAAAAAAABbo/Zepo8h9XZdA/s1600/Scene1Snaps01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04b0W-A1I/AAAAAAAABbo/Zepo8h9XZdA/s400/Scene1Snaps01.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TS04d5ATdJI/AAAAAAAABbs/ZYPRerrGD9g/s1600/Scene1Snaps02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TS04d5ATdJI/AAAAAAAABbs/ZYPRerrGD9g/s400/Scene1Snaps02.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04fVJaaEI/AAAAAAAABbw/EjiWf2qm6us/s1600/Scene1Snaps03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04fVJaaEI/AAAAAAAABbw/EjiWf2qm6us/s400/Scene1Snaps03.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04g3dp7GI/AAAAAAAABb0/PGHY5ZWg2Sg/s1600/Scene1Snaps04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04g3dp7GI/AAAAAAAABb0/PGHY5ZWg2Sg/s400/Scene1Snaps04.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TS04imbHRJI/AAAAAAAABb4/MCSB91T-lEM/s1600/Scene1Snaps05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TS04imbHRJI/AAAAAAAABb4/MCSB91T-lEM/s400/Scene1Snaps05.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04k6ZJUcI/AAAAAAAABb8/NGclTvyOZ9U/s1600/Scene1Snaps06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04k6ZJUcI/AAAAAAAABb8/NGclTvyOZ9U/s400/Scene1Snaps06.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3837493297590359994?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3837493297590359994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3837493297590359994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3837493297590359994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3837493297590359994'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/01/vrd3p3-scene-1-texturized.html' title='VRD3P3 - Scene 1, texturized'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/TS04b0W-A1I/AAAAAAAABbo/Zepo8h9XZdA/s72-c/Scene1Snaps01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7689422486573499715</id><published>2011-01-07T15:59:00.000-08:00</published><updated>2011-01-07T15:59:06.296-08:00</updated><title type='text'>Graved in space...</title><content type='html'>This was a tiring week, as I was working on the 3d models for my new networking game's environment. Thought I post something up before I go for a nap, here's a little sneak peek at what I'm up to:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TSejuuPs7dI/AAAAAAAABbY/l-TZpDat4LU/s1600/Env1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TSejuuPs7dI/AAAAAAAABbY/l-TZpDat4LU/s400/Env1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TSejvo_vkaI/AAAAAAAABbc/mxmSIysOBpw/s1600/Env2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TSejvo_vkaI/AAAAAAAABbc/mxmSIysOBpw/s400/Env2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;These are the interior of my game's environment. It's half finished with around 8000-9000 polys, and I really hope to be able to get it done by tonight, then texturing by Sunday, and start the scripting/programming part next Monday...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;As for the networking part, I'm going to use Badumna Trial, which only has a capacity of 60 minutes of gameplay. But I'm sure that's enough anyway, since those networking games (especially indies) don't usually last that long.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;I was suppose to try and tweak with it a few days ago, but I saw a video on YouTube about a way to build an awesome monster trap in Minecraft, and my two days of time were just, "poof", gone into Minecraft... But thanks to an fatal error during the gameplay, I'm back to my feet again and seriously spending more time in this game project.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;The submission date was around the 24th of January, and after that I'm gonna be joining another game dev challenge held by Experimental Gameplay Project:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://experimentalgameplay.com/blog/2011/01/january-is-inanimate/"&gt;&lt;img border="0" height="152" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TSemsCAvKwI/AAAAAAAABbg/AjNG-ChnzYg/s400/Inanimate-Theme.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;And the same project will also be submitted for the &lt;a href="http://www.kongregate.com/unity_game_contest?src=email-2010_01_07&amp;amp;utm_source=kongemail&amp;amp;utm_medium=email&amp;amp;utm_campaign=2010-01-07%2Bkongemail"&gt;Kongregate's Unity game dev contest&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://www.indiepubgames.com/contest.php"&gt;Indie Pub's Independent Propeller Awards&lt;/a&gt;.... another exciting month to live for!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7689422486573499715?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7689422486573499715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7689422486573499715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7689422486573499715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7689422486573499715'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/01/graved-in-space.html' title='Graved in space...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TSejuuPs7dI/AAAAAAAABbY/l-TZpDat4LU/s72-c/Env1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-125116436168747914</id><published>2011-01-01T09:45:00.000-08:00</published><updated>2011-01-01T09:49:28.599-08:00</updated><title type='text'>My New Year's Resolution... Part 1?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Stuff I really want to achieve this year, so terribly~!!!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Master all the languages I know -&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I know Java, C#, AS3, and Japanese... but due to time constraints and my eagerness to learn more programming language, I deserted Japanese... for about 3 months now. I really regretted it and want to go back and re-learn everything from the start, with every free time I have. Besides that, I also wanna master those programming language I know, though not entirely mastering it, but to be able to code better than 2010... and to be able to speak Japanese more fluently and write more posts entirely in Japanese (so far, I'd only written &lt;a href="http://jakel168.blogspot.com/2010/04/blog-post.html"&gt;one&lt;/a&gt;... hehe)...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2. Finish projects and submit them -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Up until now, other than EcoTat, I seriously have not finish a single project, and always looking for excuses to go pass it.&amp;nbsp;But not this year anymore, I really need to finish my latest work, a networking game, in those 3 weeks time I have left before submission. By submitting it, I don't mean submitting it to the lecturer or what so ever, but I mean submitting it for some competitions, indie sites, or any GDC events. It's time for me to "step out" into the world now, now that I've been developing games for almost a year...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. Learn Android/iPhone apps development -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A while ago, my uncle from OnSemi sent me an e-mail about a course regarding Android which cost about rm3800?! That's quite a fortune, but I've also checked the list, and you could really learn a lot from the 5 days course. Anyway, I plan not to register for it anyway, particularly because the fees was too damn high! And I just thought I could learn it myself with some guides online, same way on how I learn to code in C#. I think of it as a new little challenge for myself in this 2011 new year, though I actually plan to get an Apple PC instead and learn XCode for iOS, since the place where I'm going for intern was a small holy community of XCoders, I might learn a thing or two from them. Due to the fact that I can't afford an Apple PC now, I'll have to give up my little dream, and pursue the cheaper way instead -- Android, while thinking that I might, probably learn a slight bit of XCode and use their Apple PC while I was there though... sigh...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4. Lose 10kg -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So current weight was at an average of 75kg, and I've been telling one that I'm gonna lose weight, I'm gonna do one of those cardiovascular activity to burn my fats and everything, but I ended up not doing them anyway. I'm not wishing to own a muscular body or so, but instead a not-that-fat body without the big tummy. FYI, I'm a game programmer, and that means I stayed at home most of the time (though I like shopping for clothes, with some friends)... Now how am I suppose to reach this goal while retaining my current lifestyle and habits... hard!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;5. Earn 100,000 -&amp;nbsp;&lt;/b&gt;&lt;br /&gt;Previously, after hearing my lecturer's success story on how he earn 50,000 (or more) in just a few months' time, I was really thrilled and started a plan to do the same thing, earning 50,000 before the end of 2010. Well, I failed... Earning money is hard, especially by that much amount. You really need a lot of focus on a project and finishing it with heart, before you could finally earn something off it, at least that's what I believe in... I just checked my account over at GameJolt, and I've earned only about $0.02 off my games (most probably from EcoTat I think...). Anyway, I'm having the same plan this year but with a different amount in mind: 100,000! Be it in USD or RM, as long as it's 100,000 (or more), then I'll not have anymore regrets this year anymore when 2012 comes... I'll probably join a lot of competitions, make some apps and sell them &amp;nbsp;(though I'm still at the stage of learning how to develop an app).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;6. Get a life -&amp;nbsp;&lt;/b&gt;&lt;br /&gt;As much as I don't wanna to admit, but I'm becoming more and more like what they call an "otaku". You know, those guys/girls who are obsessed about something that they collect everything about it, or those who stay at home more than they stay outside, or those who stay at home so long that they are basically a hikikimori already... Anyway, I'm one of those who stay at home more than I stay outside my apartment. The thing is, every since I enter my second year, things started to get tougher, and the amounts of assignments are getting higher, my friends whom are all in the same degree as I am were staying at home more than usual human being, even the girls! I must admit, I'm more fond of programming and game development than staying outside, but still, I can't let myself stay this way. I need to get... a life! Probably hanging out with a new girl instead of my other girl-friends is probably a good start, I might even end up being in a relationship with her, like that guy from &lt;a href="http://en.wikipedia.org/wiki/Densha_Otoko"&gt;Densha Otoko&lt;/a&gt;... LOL...&lt;br /&gt;&lt;br /&gt;So, that sorta concludes the first part of my new year's resolution, there's still more, but it's about time for me to sleep and I wanna publish this first part sooner...&lt;br /&gt;&lt;br /&gt;And lastly, a new year's smile from me...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TR9o879LHVI/AAAAAAAABbU/F9bkr3QK5k0/s1600/31122010192.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TR9o879LHVI/AAAAAAAABbU/F9bkr3QK5k0/s320/31122010192.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;with my signature smile... :P&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-125116436168747914?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/125116436168747914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=125116436168747914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/125116436168747914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/125116436168747914'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2011/01/my-new-years-resolution-part-1.html' title='My New Year&apos;s Resolution... Part 1?'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/TR9o879LHVI/AAAAAAAABbU/F9bkr3QK5k0/s72-c/31122010192.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2793922417587887306</id><published>2010-12-23T21:52:00.000-08:00</published><updated>2011-01-01T09:31:25.234-08:00</updated><title type='text'>Confused?</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm currently in the final semester of my 3rd year of studies in University now, and just one&amp;nbsp;more year, two more projects, and I'll be off saying bye bye to my Uni and work in some&amp;nbsp;(probably) good company later on.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It sounds like a great ending, but the more I think about it, the more I felt useless, as I can&amp;nbsp;only wish for those "successful" things to happen in the future after I graduated, instead of&amp;nbsp;being "successful" while I'm still in Uni... It's like I'm gonna regret about my Uni life when I&amp;nbsp;started working, just like how I regretted not doing anything really meaningful in high school.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Not that I don't have anything to be proud of now, I do have one currently, it's my first Unity&amp;nbsp;game, EcoTat...&amp;nbsp;It was my first and somehow complete game I designed and developed entirely. It's also something&amp;nbsp;I created when I've pushed myself up to my limit, during the time when I first started using&amp;nbsp;Unity and scripting in Java; building a turn-based fighting system...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, my progress had gone worst than before in the following semesters: I developed a&amp;nbsp;vehicle-adventure game, and a 3rd person shooter adventure game based on 'the boring Tim&amp;nbsp;Burton's movie, Alice in Wonderland', which were not entirely complete. Particularly the Alice&amp;nbsp;game, where I completely stop its development after the presentation is over, though the game&amp;nbsp;wasn't even half complete during the presentation day, as the scope I set was a bit higher than&amp;nbsp;the others.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And my latest work, a job-searching application did not meet up to my majoring coordinator's&amp;nbsp;expectation. To be quite frank, I've been really lazy lately, and developed the application&amp;nbsp;within a week's time (again?). Furthermore, I've had zero interest on the project, as my primary&amp;nbsp;interest is on game development. The output and reception were worst than I expected...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But from these past experiences, I've really learned a few things, something values which I, and probably the rest of the young developer/beginners may need in the future:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;1. Never look down on projects -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As boring and uninteresting a project may seems, you should always give in your best, because&amp;nbsp;whether of not it's in the real world or in your University life, you always have to develop&amp;nbsp;stuff that satisfy your client, which in a student's case, the lecturer is the client.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;2. Create stuff that isn't possible in real life -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;My latest project revolves not only the interactions but also the architecture and design of my&amp;nbsp;virtual environment. One of the review by my lecturer is that, the building and environment I&amp;nbsp;made for my application was too common in the real world. I'm building a virtual world here, and&amp;nbsp;it's a place/world where impossible ideas from the real world can be&amp;nbsp;fulfill&amp;nbsp;even with just a&amp;nbsp;slight creativity.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. Your lecturer sucks doesn't mean you are too -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To be quite frank, my current majoring lecturer was the worst I had throughout my studies in&amp;nbsp;this University. He's not like rude or not being friendly or anything, he's just not up to par. And during the semester when my progress had gone from good to bad, he was my lecturer of the semester. Anyway, I realize later on that I blame the others too much, and never think about what my major problem is here: I'm too lazy (probably from )&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4. Do what you are suppose to do, stuff within your range -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;After facing so many failures in these development stuff, particularly it's because that my application wasn't well-received by everyone, I realize something... I'm not just a game programmer... I'm a freaking game designer. And I'm like nothing if compared to those real Computer&amp;nbsp;Science&amp;nbsp;and IT people... I've been focusing so much on programming that I rather give up on my designing time just to make better technologies for my applications/games. This is a wrong step, and I understand it now...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;5. Project finished within a short time is not always good -&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;While some developers may have been talented for developing games within a short time during &lt;a href="http://www.ludumdare.com/compo/"&gt;Ludum Dare&lt;/a&gt;. But you can never do the same when working on a school's project or for a client (lecturers). Doing a project within a short time means, less game design, less interaction ideas and&amp;nbsp;thought-out, less focus on the game project, and less chance of it getting tested by anyone other than yourself, etc... Means you will have no idea on whether the project is gonna be good or not if you are not able to develop a prototype first for user testing... blah, blah, blah, and get pawned by critics later on...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I do remember there's still some more... but that's all for now, I'll update more when I think of them...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2793922417587887306?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2793922417587887306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2793922417587887306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2793922417587887306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2793922417587887306'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/12/confused-im-currently-in-final-semester.html' title='Confused?'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7145154449468926675</id><published>2010-12-23T10:29:00.000-08:00</published><updated>2011-03-03T06:02:55.263-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='resolution'/><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='contains'/><category scheme='http://www.blogger.com/atom/ns#' term='unity 3d'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse position'/><category scheme='http://www.blogger.com/atom/ns#' term='mousePosition'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Unity3d + C#: Rect.Contains(Correct mouse postion)...</title><content type='html'>&lt;div style="text-align: justify;"&gt;When using the Contains function:&lt;/div&gt;&lt;pre&gt;&lt;code&gt;void Update() {&lt;br /&gt;    buttonRect = new Rect(20,20,50,50);&lt;br /&gt; &lt;br /&gt;    if (buttonRect.Contains(Input.mousePosition))&lt;br /&gt;    {&lt;br /&gt;        print("haha");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;void OnGUI() {&lt;br /&gt;    GUI.Button(buttonRect, "");&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I realize that the phrase "haha" will be printed in the compiler only when the mouse position is at Rect(20, Screen.height - 20, 50, 50), instead of Rect (20, 20, 50, 50). So what happen is that the origin (0, 0) of the mouse's position starts at the bottom left of the screen... instead of the top left.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To solve the problem here,&amp;nbsp;I created a function that return a value from reverting the mouse's Y position...&lt;/div&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;Vector2 RevertMousePosValue(Vector2 mousePos) {&lt;br /&gt;    Vector2 newMousePos;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;    newMousePos.x = mousePos.x;&lt;/code&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;&lt;/code&gt;    newMousePos.y = -mousePos.y + Screen.height;&lt;/pre&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;    return newMousePos;&lt;/code&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;How the function and formula works:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TROaStB_dTI/AAAAAAAABa8/Uar6lHQbzRI/s1600/Blog60.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TROaStB_dTI/AAAAAAAABa8/Uar6lHQbzRI/s1600/Blog60.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;And then applying it in the Update() function:&lt;/div&gt;&lt;pre&gt;&lt;code&gt;void Update() {&lt;br /&gt;    Vector2 mousePos = RevertMousePosValue(Input.mousePosition);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;So, what I do next is to compile all scripts together while switching the "Input.mousePosition" with "mousePos":&lt;/div&gt;&lt;pre&gt;&lt;code&gt;using UnityEngine;&lt;br /&gt;using System.Collections;&lt;br /&gt;&lt;br /&gt;public class TestingScript : MonoBehaviour {&lt;br /&gt;    private Vector2 mousePos;&lt;br /&gt;    &lt;br /&gt;    void Update() {&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;        mousePos = RevertMousePosValue(Input.mousePosition);&lt;/code&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;    }&lt;/code&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;    void OnGUI() {&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;        Rect buttonRect = new Rect(20,20,50,50);&lt;br /&gt;        GUI.Button(buttonRect, "");&lt;br /&gt;        if (buttonRect.Contains(mousePos))&lt;br /&gt;        {&lt;br /&gt;            print("haha");&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    Vector2 RevertMousePosValue(Vector2 mousePos) {&lt;br /&gt;       &amp;nbsp;Vector2 newMousePos;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;        newMousePos.x = mousePos.x;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;        newMousePos.y = -mousePos + Screen.height;&lt;/code&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;        return newMousePos;&lt;br /&gt;    }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;and... that should do it. Check out my &lt;a href="http://jakel168.blogspot.com/p/addmaths.html"&gt;mini coding project&lt;/a&gt; which uses similar method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7145154449468926675?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7145154449468926675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7145154449468926675' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7145154449468926675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7145154449468926675'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/12/unity3d-c-rectcontainscorrect-mouse.html' title='Unity3d + C#: Rect.Contains(Correct mouse postion)...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TROaStB_dTI/AAAAAAAABa8/Uar6lHQbzRI/s72-c/Blog60.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5940531980820840935</id><published>2010-12-18T15:26:00.000-08:00</published><updated>2011-02-13T10:30:52.651-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='function'/><category scheme='http://www.blogger.com/atom/ns#' term='unity3d'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Unity3d + C#: Return-able functions in C#</title><content type='html'>I'm still new to the C# environment, and is working on my first application coded entirely using C#...&lt;br /&gt;&lt;br /&gt;So when I was using Java, functions can always be return by simply writing the "return" phrase, followed by the value you want to return:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function ReturnAValue(a,b,c) {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return a+b+c;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But after coding for a while in C#, I realize that I just can't simply put the "return" phrase in a void function (in C# they use "void", instead of "function", really confusing for beginners)... So anyway, I figure out a way to deal with it at the moment. Say you want to return a "float" value in a new function, here's what you do: instead of writing "void", you write "float" follow by the name of the function:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;float ReturnFloatValue(float a, float b, float c) {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return a+b+c;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Haven't try other variable types yet, but I guess it's pretty much the same... Will practice more on XNA as soon as I'm done with my current project~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5940531980820840935?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5940531980820840935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5940531980820840935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5940531980820840935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5940531980820840935'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/12/unity3d-c-return-able-functions-in-c.html' title='Unity3d + C#: Return-able functions in C#'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8470282545883827077</id><published>2010-12-18T15:14:00.000-08:00</published><updated>2011-02-13T10:29:59.834-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unity'/><category scheme='http://www.blogger.com/atom/ns#' term='unity 3d'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='casting'/><title type='text'>Unity3d + C#: Referencing object's script variables...</title><content type='html'>Just something I kept forgetting when scripting with C#...&lt;br /&gt;&lt;br /&gt;If a variable is not "public static", then it cannot be reference from other script such as this:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//If we are taking a bool variable called "canAccess" from another script called "Player.cs"...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Player.canAccess = true;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thus, in order to reference a variable from a script which is not "public static", first, you need to state the script name as the class of the variable, follow by the name of the variable:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Player playerScript =&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, after the equal sign, "cast the variable", before stating the "GetComponent" function:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//"obj" is the game object which you want to access to...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Player&amp;nbsp;playerScript&amp;nbsp;= (Player)obj.gameObject.GetComponent("Player");&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Now you can reference the variable...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;playerScript.canAccess = true;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's kinda long, and I always forgot about the "casting" part...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8470282545883827077?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8470282545883827077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8470282545883827077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8470282545883827077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8470282545883827077'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/12/unity3d-c-referencing-objects-script.html' title='Unity3d + C#: Referencing object&apos;s script variables...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-907511911975206004</id><published>2010-11-17T17:22:00.000-08:00</published><updated>2010-11-17T17:23:07.067-08:00</updated><title type='text'>some deep, deep, scary dungeon</title><content type='html'>&lt;div style="text-align: justify;"&gt;Been extremely busy in the past few weeks, doing University's assignment and stuff. But now I've got a week's break, I can do whatever I want, which was what really frightening me the most, because it's one of these times where I won't have the will to do anything.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm not planning to make any game for now, as I mentioned it one of my previous post, I'm planning to explore the possibility of Unity and enhance my skill before going on making another game in Unity. But that doesn't mean I won't make any game on other platform. I have some puzzle game ideas which I would like to work on Flash... which means I'm gonna have to re-touch the AS3 I left long-long time ago...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Moreover, I continue with my current Unity project - making a dungeon generator&amp;nbsp;(I have been working on it, then deserting it over and over again for the past few weeks). Started around one month ago when I suddenly &lt;a href="http://jakel168.blogspot.com/2010/10/preparation-and-exercise.html"&gt;plan to make a JRPG game&lt;/a&gt;. Here's the current progress:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TOR48mOA0ZI/AAAAAAAABaQ/_08Fad3NOjQ/s1600/4fulld.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="335" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TOR48mOA0ZI/AAAAAAAABaQ/_08Fad3NOjQ/s400/4fulld.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Above shows 4 variety of a 3 corners dungeon. The dungeon will automatically be created (instantiated) when the Play button is click. So currently I'm the stage where it could somehow calculate where it should go/corner itself. At the same time I'm also dealing with tons of scripting problem here, particularly on the rotation part and issues with Quaternion... Despite all the troubles, I felt like wanting to know more - how they programmed the Quaternion function, the formulas etc... I actually found a book entitled&amp;nbsp;Visualizing&amp;nbsp;Quaternion which I plan to read during the mid-break. So for now, I'll just focus on getting the dungeon stuff done.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;What else... Oh yeah, I found a pretty good site to learn XNA, called 3D Buzz... Not sure if it's good yet, but the stereotype here is that: if it's made by the west-pros, it has gotta be good. And I've also been working on some game design document (GDD), I really wanna join the game development industry, thus such skill is vry much needed.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-907511911975206004?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/907511911975206004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=907511911975206004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/907511911975206004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/907511911975206004'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/11/some-deep-deep-scary-dungeon.html' title='some deep, deep, scary dungeon'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rv6mkrMcC1Q/TOR48mOA0ZI/AAAAAAAABaQ/_08Fad3NOjQ/s72-c/4fulld.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8631977816986182013</id><published>2010-11-09T23:11:00.000-08:00</published><updated>2010-11-09T23:11:14.247-08:00</updated><title type='text'>Java stuff: Declaring space in Array</title><content type='html'>One thing I notice about the Array in Java is that, you have to declare whether the Array have space or not, before you can finally Push() values in.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While I was writing my current project's script, I did something like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;private var arr : Array;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;function Start () {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;arr.Push("2");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I click Play, the compiler give me this error:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;NullReferenceException: Object reference not set to an instance of an object&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I realized I had faced the same problem before and my solution previously was to declare a "space" for the array by adding "[]" after declaring the array...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;private var arr : Array = [];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;function Start () {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;arr.Push("2");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I posted this because I never had the same problem in Flash AS3 before... I'm still consider new in Java since I first started using Unity this March, but they are basically the same, just that AS3 is more to object&amp;nbsp;oriented stuff...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8631977816986182013?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8631977816986182013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8631977816986182013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8631977816986182013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8631977816986182013'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/11/java-stuff-declaring-space-in-array.html' title='Java stuff: Declaring space in Array'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4770761986116996189</id><published>2010-11-06T05:07:00.001-07:00</published><updated>2010-11-06T05:07:19.553-07:00</updated><title type='text'>repair and get done with'em</title><content type='html'>&lt;div style="text-align: justify;"&gt;A lot of stuff to do all over the months... First I have one presentation on Tuesday and a case study to be submitted on Wednesday, then an exam on Saturday. At the same time, I'll have to finish building my portfolio site before sending it to my future (possibly) internship boss, for evaluation...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So there's a total of 4 Unity games which I had developed thus far, and I've finished building and fixing one of them, which was the latest piece that me and my team created for a competition held by our University. You can play it &lt;a href="http://bit.ly/aTs8zk"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And here's the main title of the game:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img border="0" height="201" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TNU_0iLuFOI/AAAAAAAABZ8/Dsbtsw6rGX8/s400/LogInTitle.png" width="400" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I still have 3 more games to be fixed, it's gonna be another busy week(s) for me...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Besides all these, I was also involved with another project by a few&amp;nbsp;French&amp;nbsp;guys as one of their minor AI programmers (really really minor)...&amp;nbsp;And I've also asked Efraim of the TornadoTwin brothers on whether I could sell any Unity prefab I made at their store, and their reply was 'very possible'.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Thus, for my next free time, instead of developing games, I'm gonna develop a few prefabs prior to what I mentioned in my previous post - as a preparation before getting into the actual game development... and sell some of them (if they are good enough)...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4770761986116996189?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4770761986116996189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4770761986116996189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4770761986116996189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4770761986116996189'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/11/repair-and-get-done-withem_06.html' title='repair and get done with&apos;em'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TNU_0iLuFOI/AAAAAAAABZ8/Dsbtsw6rGX8/s72-c/LogInTitle.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4389928775130301528</id><published>2010-10-27T18:47:00.000-07:00</published><updated>2010-10-27T18:47:08.169-07:00</updated><title type='text'>preparation and exercise</title><content type='html'>&lt;div style="text-align: justify;"&gt;A months ago, I gave myself a little challenge making a puzzle game in Unity. I don't know exactly how I'm gonna start, thus I took a Flash sliding puzzle game tutorial I had from a while back and port the scripts from AS3 to Java, with the aid of its tutorial video of course. After a few weeks of trial and errors, and some major problem with Array and While loop, I finally arrive at the last stage of the puzzle mechanic's development, where I couldn't find a solution to some script-porting problem related to some confusing object positioning stuff... That's when I've decided to quit working on it as I'm at the limit of my scripting knowledge...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, what I've learned from all these is that never ever build the assets of the game first before you are assure of the technology of the game you're making... And yeah, I built everything for the game before I work on the game's mechanic, the environment, the object in space, the characters and their animations, I even UV and textured everything well before I even started the project. It was a false move, I agree. I had my game design did pretty well, prepared everything, every data about the style, the game play, the game mechanics of the game I'm about to make... It was a waste now that I think about it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Thus, before moving on to a new project which I also had planned for a long time now... I'm gonna start with its mechanics first. So my next project is gonna be a JRPG-style game, with (listing them down):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- dungeons&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- turn-based battle&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- AIs&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- inventory&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- talking/chatting system&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- good-looking characters (involved better sketching designs of the characters, I mean, c'mon I'm from an art degree, I should be able to pull this off)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- animated GUIs (not sure if iTween got this for free... if not, I'm gonna have to make my own, poor me...)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- etc... (still got something I might miss out, update later)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For a start, I'm going to make my own dungeon generator. I now have two ideas of making it, one, using the traditional binary system (0,1,0... thingy) like the one &lt;a href="http://gwydir.demon.co.uk/jo/maze/makemaze/index.htm"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Or,&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Using tons of for loop and IF statement to generate the generator randomly like how one usually program an AI's thoughts...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm gonna give the second one a try first, so good luck to me...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4389928775130301528?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4389928775130301528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4389928775130301528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4389928775130301528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4389928775130301528'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/10/preparation-and-exercise.html' title='preparation and exercise'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7564892883727848768</id><published>2010-10-17T03:00:00.000-07:00</published><updated>2010-10-17T03:00:39.095-07:00</updated><title type='text'>Unity.IndexOf(indexOf);... Looking for "indexOf" within Unity's array of functions...</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was currently building a game in Unity, sort of a puzzle-adventure game, which means there will be a lot of array related stuff all through the scripting. It was a huge headache for just making the puzzle itself, and I was following a puzzle making tutorial at the same time, which was in Flash's AS3. So I stumble across this useful but impossible to found on Unity script reference, function called "indexOf", which sole purpose was to search for a number or string variable within an array. The way of using it in Flash was:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;var arr : Array = [1,2,3];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;arr.indexOf(1);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Clueless, depress, and desperate (for finishing the game prototype, as I promise my composer I would show him that in 2 weeks time... now's already entering the third) I look for my own solution by using tons of FOR statement to re-create the IndexOf function. Not exactly tons of them, but just two lines:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function IndexOf(arr, posX, posZ) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;for (var i : int = 0; i&lt;arr.length; i++)="" {=""&gt;&lt;/arr.length;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;   &lt;/span&gt;for (var j : int = 0; j&lt;arr[0].length; j++)="" {=""&gt;&lt;/arr[0].length;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;     &lt;/span&gt;if (arr[i][j] == allTiles[posX][posZ]) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;       &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;     &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;     &lt;/span&gt;else {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;       &lt;/span&gt;return -1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;     &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Two lines of FOR statement was used because my array here is a 2 dimensional array (array within an array, which explains&amp;nbsp;arr[i][j]). In some way, the function above still have a lot of mistakes and incomplete, not enough to satisfy me. I was like, this was as far as I (my programming skill) could go...&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I was planning to look for a better solution on the Unity forum but my idiotic internet service provider has left me internet-less for about 5 months now.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Thanks to fact that most programmers spend most of their time in front of the PC, as soon as I got my chance to get online and seek for help on the Unity forum, I got my reply from them and found this:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;System.Array.IndexOf(Array, Integer/String);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This goes without saying that... I really should start learning C++~~~&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7564892883727848768?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7564892883727848768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7564892883727848768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7564892883727848768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7564892883727848768'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/10/unityindexofindexof-looking-for-indexof.html' title='Unity.IndexOf(indexOf);... Looking for &quot;indexOf&quot; within Unity&apos;s array of functions...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3387828566071871307</id><published>2010-10-13T23:01:00.000-07:00</published><updated>2010-10-13T23:01:50.532-07:00</updated><title type='text'>Note on using root, rigging and exporting character to Unity...</title><content type='html'>Been having some troubles with Unity 3 for the past few days, primarily on the animation part. For some reason, every single animation which I exported into Unity 3 or 2.6, it kept pushing my character to Vector3.zero and stay stationary all the time in Play mode. Ultimately I figured out where the problems are, it's the ROOT's fault...&lt;br /&gt;&lt;br /&gt;Well, for every character which I animated, I place a Point (in 3ds Max, which I named as "ROOT") at the origin while attaching the main bone to the Point, so that I can move the entire sets of bones without selecting all of them, actually it can also be done without using Point at all, it's just a habit of mine. So, my character consist of a gear-shaped mesh and a sphere ball, which doesn't exactly need any skinning or enveloping other than just attaching it to the bone I wanted it to move with...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TLab-fgAhAI/AAAAAAAABZw/LC7VWcPqq_Q/s1600/Untitled-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TLab-fgAhAI/AAAAAAAABZw/LC7VWcPqq_Q/s320/Untitled-1.jpg" width="296" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Soon after animating it, I exported it directly into Unity and the problems I mentioned above starts&amp;nbsp;occurring...&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;It turns out that it couldn't detect the Point (ROOT) and I'll have to apply a Skin modifier to the gear-shaped mesh and add the corresponding bone into it. I exported the new version into Unity and the problem is solved... what a mess!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3387828566071871307?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3387828566071871307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3387828566071871307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3387828566071871307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3387828566071871307'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/10/note-on-using-root-rigging-and.html' title='Note on using root, rigging and exporting character to Unity...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rv6mkrMcC1Q/TLab-fgAhAI/AAAAAAAABZw/LC7VWcPqq_Q/s72-c/Untitled-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6163666859069664250</id><published>2010-09-27T23:29:00.000-07:00</published><updated>2011-06-12T02:32:36.893-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mini map'/><category scheme='http://www.blogger.com/atom/ns#' term='unity 3d'/><title type='text'>How to make a mini map for your scene in Unity3d</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TKGFSwHnh8I/AAAAAAAABZU/uk_CDrRp0TU/s1600/mm5.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This is my first tutorial on Unity, kinda nervous writing it... Anyway have you guys ever play Hitman, Dynasty Warrior, Starcraft or any RTS games? Usually at the bottom left of those games, there's a 2d map showing where the players are and where you're suppose to go etc.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-64SDkLRE6Pk/TVh4dkL8xoI/AAAAAAAABeo/6xMa_q7OHDk/s1600/minimap.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-64SDkLRE6Pk/TVh4dkL8xoI/AAAAAAAABeo/6xMa_q7OHDk/s1600/minimap.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TKCG0yhZA4I/AAAAAAAABZA/AOBRdr-usas/s1600/mm2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TKCG0yhZA4I/AAAAAAAABZA/AOBRdr-usas/s200/mm2.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, that's what I'm trying to write about today, how to make a simple mini map similar to that, instead of using the top down camera method. This comes in handy when you're trying to create a mini map to locate the player and the enemies (AIs) current position... Like Hitman, where you can see where everyone's heading from within a map.&lt;br /&gt;&lt;br /&gt;I've already set up the scene for an easy start, download it here:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.fileden.com/files/2010/9/27/2979952/startPackage.unitypackage"&gt;Starting project&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fileden.com/files/2010/9/27/2979952/finalPackage.unitypackage"&gt;Final project&lt;/a&gt;&lt;br /&gt;And... let's get started!&lt;br /&gt;&lt;br /&gt;First, import the "startPackage" into Unity, then expand the "My Scenes" folder in the Project view and open up the "tut" scene. There should be a "well" textured terrain with mountains, a prefab called "Enemy" in the form of a cube, a first person controller, and a game object called "Waypoints" which contains a bunch of other game objects with "w" follow by a number on their name inside. Click "Play" to play the scene, and you should see the cube starting to move by itself across all the waypoints in the scene.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TKCFHW-B0aI/AAAAAAAABY8/SGmeS2CHq9g/s1600/mm1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TKCFHW-B0aI/AAAAAAAABY8/SGmeS2CHq9g/s1600/mm1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="292" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TKCFHW-B0aI/AAAAAAAABY8/SGmeS2CHq9g/s400/mm1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Next, create a new Javascript file, name it "MiniMapScript" (or whatever that suits you). Double click on it in the project view to edit it. Now we are gonna create a few variables for the script (comments are added for explanation):&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//For placing the image of the mini map.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var miniMap : GUIStyle;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Two transform variables, one for the player's and the enemy's, &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var player : Transform;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var enemy : Transform;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Icon images for the player and enemy(s) on the map.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var playerIcon : GUIStyle;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var enemyIcon : GUIStyle;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Offset variables (X and Y) - where you want to place your map on screen.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapOffSetX = 762;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapOffSetY = 510;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//The width and height of your map as it'll appear on screen,&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapWidth = 200;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapHeight = 200;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Width and Height of your scene, or the resolution of your terrain.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var sceneWidth = 500;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var sceneHeight = 500;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//The size of your player's and enemy's icon&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; on the map. &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var iconSize = 10;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;private var iconHalfSize;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function Update () {&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//So that the pivot point of the icon is at the middle of the image.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//You'll know what it means later...&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;iconHalfSize = iconSize/2;&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;Those were the basic variables required to make the map works. You can try dragging the script to the FPS (First Person Controller) and then customize the GUIStyle variables with the textures I provided in the folder named "My Textures"; drag the Enemy from the Hierarchy view to the "enemy" transform variable in the FPS's mini map script, and the same thing for the FPS, into the "player" transform variable.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TKFtsUUoFRI/AAAAAAAABZE/tWUVlvClVxk/s1600/mm4.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5521815226269832466" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TKFtsUUoFRI/AAAAAAAABZE/tWUVlvClVxk/s400/mm4.jpg" style="cursor: pointer; display: block; height: 257px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;Now there's a few thing you need to understand before we proceed...&lt;br /&gt;So what we are trying to do here is to take the X and Z (not Y) position of both the player and enemy, and convert them into the X and Y (again, not Z) axis of the screen (for the map).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TKFyBvGZKfI/AAAAAAAABZM/v7xn8m_rIes/s1600/mm3.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5521819992281655794" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TKFyBvGZKfI/AAAAAAAABZM/v7xn8m_rIes/s400/mm3.jpg" style="cursor: pointer; display: block; height: 400px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 352px;" /&gt;&lt;/a&gt;When you look at the image above. it's like you're gonna flip the whole things up (Z and X to Y and X). I'm not sure if Unity has a function for what I just mentioned above, I know there's something called GUI.matrix4x4, but at the moment I was to lazy to find out, and I used the &lt;a href="http://en.wikipedia.org/wiki/Proportionality_(mathematics)"&gt;directly proportional method&lt;/a&gt;, to "convert them".&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Under the Update function, add this line:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function GetMapPos(pos : float, mapSize, sceneSize) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;return pos * mapSize/sceneSize;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Basically what this line of function does is to take the position (pos) of the player, multiply by the height or width of the map, and then divide by the resolution (height or width) of the terrain, and it'll return back a value which we could use later to locate the player's position as it is on the map.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;After that, create a new OnGUI function below the GetMapPos function, write these in:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function OnGUI() {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.BeginGroup(Rect(mapOffSetX,mapOffSetY,mapWidth,mapHeight), miniMap);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var pX = GetMapPos(transform.position.x, mapWidth, sceneWidth);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var pZ = GetMapPos(transform.position.z, mapHeight, sceneHeight);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var playerMapX = pX - iconHalfSize;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var playerMapZ = ((pZ * -1) - iconHalfSize) + mapHeight;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.Box(Rect(playerMapX, playerMapZ, iconSize, iconSize), "", playerIcon);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.EndGroup();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The first line (GUI.BeginGroup) and the last (GUI.EndGroup) is to create a GUI group and placed it at the bottom right of the screen using the mapOffSetX and mapOffSetY variables in Rect(), and the GUI texture for it would be the miniMap GUIStyle which we just set-up earlier.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The second and third line (pX and pZ) is two new variables which has the returned value of the GetMapPos function...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The forth line (playerMapX) contains the information of the player's X-axis position on the map. It is minus by iconHalfSize so that we can have the pivot point of the player's icon which would appear on the map to be in the middle (looks more appropriate that way).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The fifth line (playerMapZ), like playerMapX, contains the information of the player's Y position on the map (it's written as playerMapZ to let you know that we are taking the player's Z-axis position in the scene, you can name it to anything you want actually). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Like what I've mentioned in the sketch I posted above (the one with the Z &amp;amp; X axis, and Y &amp;amp; X axis), when you are creating the map, you have to flip the Z-axis in scene vertically to make it the Y-axis in map. To do that, we multiply "pZ" with negative one (which would flip it), and then plus the mapHeight to get the value of the Y-axis in map.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The sixth line is to create a GUI.Box which would represent the player on the map, together with the playerIcon GUIStyle as the texture...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Those stuff should be enough by now. Click "Play" and you should be able to see a map on the screen, and a small, yellow, diamond-shaped icon on the map (the player). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TKGFSwHnh8I/AAAAAAAABZU/uk_CDrRp0TU/s1600/mm5.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5521841175333930946" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TKGFSwHnh8I/AAAAAAAABZU/uk_CDrRp0TU/s400/mm5.jpg" style="cursor: pointer; display: block; height: 306px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TKFyBvGZKfI/AAAAAAAABZM/v7xn8m_rIes/s1600/mm3.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Try to move around, and you should see the yellow icon move along too. If it didn't, check your line again, see if you didn't confuse the Z axis with the Y axis (unless if you choose to write it accordingly, instead of copy and paste).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you understand what I've wrote thus far, you should be able to code the enemy part yourself. But if you can't, below is the full codes, copy and paste them to your script:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//For placing the image of the mini map.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var miniMap : GUIStyle;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Two transform variables, one for the player's and the enemy, &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var player : Transform;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var enemy : Transform;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Icon images for the player and enemy(s) on the map.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var playerIcon : GUIStyle;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var enemyIcon : GUIStyle;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Offset variables (X and Y) - where you want to place your map on screen.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapOffSetX = 762;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapOffSetY = 510;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//The width and height of your map as it'll appear on screen,&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapWidth = 200;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var mapHeight = 200;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Resolution (both width and height) of your terrain.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var sceneWidth = 500;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var sceneHeight = 500;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//The size of your player and enemy's icon as it would appear on the map. &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var iconSize = 10;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var iconHalfSize;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function Update () {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;iconHalfSize = iconSize/2;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function GetMapPos(pos : float, mapSize, sceneSize) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;return pos * mapSize/sceneSize;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;function OnGUI() {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;//Everything about the map.&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.BeginGroup(Rect(mapOffSetX,mapOffSetY,mapWidth,mapHeight), miniMap);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var pX = GetMapPos(transform.position.x, mapWidth, sceneWidth);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var pZ = GetMapPos(transform.position.z, mapHeight, sceneHeight);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var playerMapX = pX - iconHalfSize;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var playerMapZ = ((pZ * -1) - iconHalfSize) + mapHeight;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.Box(Rect(playerMapX, playerMapZ, iconSize, iconSize), "", playerIcon);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var sX = GetMapPos(enemy.transform.position.x, mapWidth, sceneWidth);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var sZ = GetMapPos(enemy.transform.position.z, mapHeight, sceneHeight);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var enemyMapX = sX - iconHalfSize;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var enemyMapZ = ((sZ * -1) - iconHalfSize) + mapHeight;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.Box(Rect(enemyMapX, enemyMapZ, iconSize, iconSize), "", enemyIcon);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GUI.EndGroup();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;And that's basically all... If you have any question (like an error or bug), drop me a message at leezhifei168@rocketmail.com, I'll try to answer to your problem as soon as I can.&lt;br /&gt;&lt;br /&gt;Please be noted the final product will not look like one of in GTAs, but those in RTS games, where you have an entire big area in a small map. To do the effect like in GTA, you have to use a top down camera and some shaders, I'll try to post a tutorial about it later when I'm free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6163666859069664250?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6163666859069664250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6163666859069664250' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6163666859069664250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6163666859069664250'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/09/how-to-make-mini-map-for-your-scene-in.html' title='How to make a mini map for your scene in Unity3d'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-64SDkLRE6Pk/TVh4dkL8xoI/AAAAAAAABeo/6xMa_q7OHDk/s72-c/minimap.jpg' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3623201621425800</id><published>2010-09-26T03:39:00.002-07:00</published><updated>2010-09-26T10:01:23.005-07:00</updated><title type='text'>End of a Chaos, Start of a new... Chaos</title><content type='html'>&lt;a href="http://dejobaan.com/wp-content/uploads/2010/05/home_aaaaa.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Again, a lot have been going on this week, first of all, my AIW's presentation was a big let down. I learned my lessons now, that people never appreciate the technology (inner) side of a game but more on the way it feels (outer). Both the tech and interface played important roles in a game, as the interfaces runs on the tech, and if the tech wasn't good, the interface wouldn't be good either... &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Either way, game development, virtual reality, and some other stuff related to interactions are complicated and takes time to understand. In which I took my first step, by reading &lt;b&gt;&lt;a href="http://artofgamedesign.com/"&gt;The Art of Game Design by Jesse Schell&lt;/a&gt;&lt;/b&gt;. I couldn't find the book anywhere in the stores so I downloaded a copy of it from somewhere on the internet, but as a book lover and collector, I'll definitely buy one in the future, cuz I still prefer holding the book than reading it off the PC screen... &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, it was a good read. I get a lot of tips from it even after only reading the first half of the first chapter. One thing I like the most was what he mentioned it the book that a game or an application is about giving people experiences, and it reminded me of the &lt;a href="http://dejobaan.com/"&gt;&lt;b&gt;Dejobaan games&lt;/b&gt;&lt;/a&gt; called &lt;b&gt;"&lt;/b&gt;&lt;a href="http://dejobaan.com/aaaaa/"&gt;&lt;b&gt;AaaaaAAaaaAAAaaAAAAaAAAAA!!!: A Reckless Disregard for Gravity&lt;/b&gt;&lt;/a&gt;&lt;b&gt;"&lt;/b&gt;... &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://dejobaan.com/wp-content/uploads/2010/05/home_aaaaa.jpg"&gt;&lt;img alt="" border="0" src="http://dejobaan.com/wp-content/uploads/2010/05/home_aaaaa.jpg" style="cursor: pointer; display: block; height: 160px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 440px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;One of the reason I think it was a huge success is because it gave me an &lt;b&gt;experience&lt;/b&gt; of jumping off a building and... well... it was a really awesome game, but definitely not for people who are afraid of height though (yeah, it was 'that' scary). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I heard those "giving people experiences" stuff all the time in the Dean's Experiential Studies class, the Interaction Studies class... almost once or twice every week. But I guess it was tons of failures (I failed lots of time in my journey of making a good games) that leads me to finally listen to what they say. For instance, just now I was doing some game designs for my new game which I was planning to submit for the &lt;a href="http://jayisgames.com/archives/2010/09/game_design_competition_9.php"&gt;&lt;b&gt;9th Casual Gameplay Design Competition&lt;/b&gt;&lt;/a&gt; held on &lt;a href="http://jayisgames.com/"&gt;&lt;b&gt;JayisGames&lt;/b&gt;&lt;/a&gt;. And this time it wasn't just plainly "sketch a few stuff" and "I've got everything in my head" stuff, but actually writing it down and plan to finish building everything before I make it (mostly because I was gonna make a puzzle platformer game, that's why). &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Unlike before, this time I'm really gonna join the competition. Before this, I used to say that I will join but then ended up not joining in the end. Well, that time I was too over confident of myself... This time I'm seriously planning to venture into the indie game biz. Oh yeah, I even found myself a freelance music composer, and of course I have to give him a share whenever I won a competition or something. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Whether I'm going to win or not is still a big question, just depends on whether I can design a better game from now on (against millions of other indie game developers). Let's just see how it goes then!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3623201621425800?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3623201621425800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3623201621425800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3623201621425800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3623201621425800'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/09/end-of-chaos-start-of-new-chaos.html' title='End of a Chaos, Start of a new... Chaos'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-2141042629216928253</id><published>2010-09-18T20:18:00.001-07:00</published><updated>2010-09-18T20:42:55.565-07:00</updated><title type='text'>AIW's new progress</title><content type='html'>A video of my current progress in A.I.W.'s development:&lt;br /&gt;&lt;br /&gt;&lt;object width="500" height="405"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ovzvwgcTPv0?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ovzvwgcTPv0?fs=1&amp;amp;hl=en_US&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Instead of using a top-down camera, I use GUI and a little bit of math to calculate and convert the player's position as it'll be in the map. The math part is simple, it's just the idea of how to make it took me a while to figure it out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, it'd been fun developing the map, I'll continue to finish the game ASAP, before the final submission date arrived.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-2141042629216928253?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/2141042629216928253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=2141042629216928253' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2141042629216928253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/2141042629216928253'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/09/aiws-new-progress.html' title='AIW&apos;s new progress'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6384461278700614243</id><published>2010-09-16T22:19:00.000-07:00</published><updated>2010-09-16T22:35:46.328-07:00</updated><title type='text'>September No. 1</title><content type='html'>&lt;div style="text-align: justify;"&gt;Just realized that I haven't blog for some time now. A lot have happen from the previous post till this. I'm currently developing a game for my course assignment entitled : "AIW". It's not a "good" game yet, but another experimental game for me to test out my skills. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This is the kind of game which was made just to pass up for my assignment. The final submission is next Thursday, around the afternoon time, so I've been rushing the assignment and hoped to finish it ASAP so that I can have time to study for my final exam which is also happening next week (sigh...).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Below is some snapshots of my progress of AIW, it's a small adventure game based on Tim Burton's Alice in Wonderland (thus, "AIW"):&lt;/div&gt;&lt;br /&gt;&lt;object width="500" height="375"&gt; &lt;param name="flashvars" value="offsite=true&amp;amp;lang=en-us&amp;amp;page_show_url=%2Fphotos%2Fjake168%2Fsets%2F72157624848530467%2Fshow%2F&amp;amp;page_show_back_url=%2Fphotos%2Fjake168%2Fsets%2F72157624848530467%2F&amp;amp;set_id=72157624848530467&amp;amp;jump_to="&gt; &lt;param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=71649"&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=71649" allowfullscreen="true" flashvars="offsite=true&amp;amp;lang=en-us&amp;amp;page_show_url=%2Fphotos%2Fjake168%2Fsets%2F72157624848530467%2Fshow%2F&amp;amp;page_show_back_url=%2Fphotos%2Fjake168%2Fsets%2F72157624848530467%2F&amp;amp;set_id=72157624848530467&amp;amp;jump_to=" width="500" height="375"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Been working on it for two months now (from game design, concept sketches, character design, modelling, texturing, environment design and programming, all in Unity3d). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And... yeah, that's all I have to say now, cuz my mind is all about AIW... &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6384461278700614243?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6384461278700614243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6384461278700614243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6384461278700614243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6384461278700614243'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/09/september-no-1.html' title='September No. 1'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7830127461735598213</id><published>2010-08-21T03:15:00.001-07:00</published><updated>2010-08-21T05:57:49.004-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3ds max'/><category scheme='http://www.blogger.com/atom/ns#' term='map'/><category scheme='http://www.blogger.com/atom/ns#' term='character'/><category scheme='http://www.blogger.com/atom/ns#' term='modelling'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='UVW'/><title type='text'>Head Texturing in 3ds Max</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG_Gkskp6fI/AAAAAAAABXQ/kG7YaHiujNs/s1600/faceText15.jpg"&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;I've just stumble across an easy way to texture a 3d head model. So all these times I've been: adding Unwrap UV modifier, flatten mapping, and take a long time trying to arrange the pieces of flattened maps into a face map, which was a really tedious and boring job...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So I was following this &lt;a href="http://www.3dtotal.com/ffa/tutorials/max/joanofarc/joanmenu.php"&gt;character modelling tutorial called Joan of Arc&lt;/a&gt;, and it taught me some great technique on modelling and texturing a character that I thought I'd take a note here.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Easy face texturing&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Click on the face and apply a "UVW Map" modifier, then choose Cylindrical Mapping.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG-vC83EkII/AAAAAAAABU4/GNoOMSWsoY4/s1600/faceText1.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG-vC83EkII/AAAAAAAABU4/GNoOMSWsoY4/s400/faceText1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507813334529118338" style="text-align: justify; display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 378px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Click the "+" sign beside the modifier and select "Gizmo".&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-w8Sr94lI/AAAAAAAABVI/qwfg2EhCtm0/s1600/faceText2.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-w8Sr94lI/AAAAAAAABVI/qwfg2EhCtm0/s400/faceText2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507815419152294482" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 378px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Use the move, rotate and scale tool to position, turn and resize the gizmo so that it covers the entire head model in a tidy manner. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-xsWfYaMI/AAAAAAAABVQ/491B2a1ClWc/s1600/faceText3.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-xsWfYaMI/AAAAAAAABVQ/491B2a1ClWc/s400/faceText3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507816244806969538" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 271px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Next, right click on the UVW Map modifier and select "Collapse All", and the modifier will be collapsed into the model, leaving only the Editable Poly/Mesh modifier on the stack.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG-z92ycj0I/AAAAAAAABVo/eBc1FdrJBvQ/s1600/faceText4.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG-z92ycj0I/AAAAAAAABVo/eBc1FdrJBvQ/s400/faceText4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507818744557899586" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 318px; height: 400px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Then, add a "Unwrap UVW" Modifier, and click on the "edit" button, there'll be a nice looking UVW map waiting to be modify on the screen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-yhCxejmI/AAAAAAAABVY/Us3WEXdeRBg/s1600/faceText5.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-yhCxejmI/AAAAAAAABVY/Us3WEXdeRBg/s400/faceText5.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507817150047227490" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 235px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Though it looks pretty good already, it's still not very satisfying here. I'll make some modification here. Select everything an rotate them so that the face is in an upright position.&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-xsWfYaMI/AAAAAAAABVQ/491B2a1ClWc/s1600/faceText3.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-0n21mr2I/AAAAAAAABVw/ZGBQ9LbcTR8/s1600/faceText6.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-0n21mr2I/AAAAAAAABVw/ZGBQ9LbcTR8/s400/faceText6.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507819466125651810" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 314px; height: 400px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7. Look up and closer and there'll be some thin-looking map over there. Those are the unsatisfying stuff I'm talking about.&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG-z92ycj0I/AAAAAAAABVo/eBc1FdrJBvQ/s1600/faceText4.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-13sVoiqI/AAAAAAAABWA/hV8sQ-UCK_I/s1600/faceText7.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-13sVoiqI/AAAAAAAABWA/hV8sQ-UCK_I/s400/faceText7.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507820837696735906" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 254px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;8. Select them all at once, and flatten mapping it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-5Y9BWCNI/AAAAAAAABWI/B8S0fF_1zeQ/s1600/faceText8.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-5Y9BWCNI/AAAAAAAABWI/B8S0fF_1zeQ/s400/faceText8.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507824707645606098" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 368px; height: 400px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-13sVoiqI/AAAAAAAABWA/hV8sQ-UCK_I/s1600/faceText7.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;9. I'll leave them for a while now, will get back to them later, so just place them at the top for a while. So now, the face look a bit to the left, and I wanna arrange it so that it'll be in the middle. I first select the other half on the right, detach it (right click &gt; Detach Edge Verts) and place it to the left, and weld all the vertex there (right click &gt; Weld Selected).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-6A-r-QdI/AAAAAAAABWQ/PTSWntKNEfs/s1600/faceText9.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-6A-r-QdI/AAAAAAAABWQ/PTSWntKNEfs/s400/faceText9.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507825395287605714" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 368px; height: 400px; " /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG-674zXcZI/AAAAAAAABWg/38uOPZvyjgE/s400/faceText10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507826407320285586" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 368px; height: 400px; " /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-5Y9BWCNI/AAAAAAAABWI/B8S0fF_1zeQ/s1600/faceText8.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG_BDw6aUtI/AAAAAAAABWw/ynZGOQAkX8g/s1600/faceText11.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG_BDw6aUtI/AAAAAAAABWw/ynZGOQAkX8g/s400/faceText11.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507833139711070930" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 368px; height: 400px; " /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG_BzvdlQ_I/AAAAAAAABW4/ofh6I_qgWUE/s1600/faceText12.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG_BzvdlQ_I/AAAAAAAABW4/ofh6I_qgWUE/s400/faceText12.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507833963955438578" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 368px; height: 400px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG_BDw6aUtI/AAAAAAAABWw/ynZGOQAkX8g/s1600/faceText11.jpg"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG-6A-r-QdI/AAAAAAAABWQ/PTSWntKNEfs/s1600/faceText9.jpg"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;10. And the face looks much more settled now.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG_F3MZi16I/AAAAAAAABXA/MJtZM-ZAtvk/s1600/faceText13.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG_F3MZi16I/AAAAAAAABXA/MJtZM-ZAtvk/s400/faceText13.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507838421309249442" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 382px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG_BDw6aUtI/AAAAAAAABWw/ynZGOQAkX8g/s1600/faceText11.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;11. Took some more time to further modify it and I got this. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TG_GOV2Ti_I/AAAAAAAABXI/JXYDhiZvqN4/s1600/faceText14.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TG_GOV2Ti_I/AAAAAAAABXI/JXYDhiZvqN4/s400/faceText14.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507838818982792178" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 368px; height: 400px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG_F3MZi16I/AAAAAAAABXA/MJtZM-ZAtvk/s1600/faceText13.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;12. What about the unsatisfying map from earlier? Here they are, arranged together with the face without crossing over each other. It wouldn't take too long to make this part... for those who aren't still beginner.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG_Gkskp6fI/AAAAAAAABXQ/kG7YaHiujNs/s1600/faceText15.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG_Gkskp6fI/AAAAAAAABXQ/kG7YaHiujNs/s400/faceText15.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507839203039898098" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 270px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TG_GOV2Ti_I/AAAAAAAABXI/JXYDhiZvqN4/s1600/faceText14.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;13. So I've got my face mapping done and it's about time to texture it in Photoshop. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Click on Tools &gt; Render UVW Template... When the box appear, choose the size (mine favorite: 1024x1024) and click the Render UVW Template button. A rendered UVW template will shows up. Click save to save it...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TG_G5tWceUI/AAAAAAAABXY/lxBMuJPJPFs/s400/faceText16.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507839564025985346" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 354px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG_MxG7prDI/AAAAAAAABXg/ibt_dI35Tac/s1600/faceText17.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TG_MxG7prDI/AAAAAAAABXg/ibt_dI35Tac/s400/faceText17.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5507846013343870002" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 354px; " /&gt;&lt;/a&gt;Done!&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG_Gkskp6fI/AAAAAAAABXQ/kG7YaHiujNs/s1600/faceText15.jpg"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7830127461735598213?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7830127461735598213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7830127461735598213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7830127461735598213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7830127461735598213'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/08/head-texturing-in-3ds-max.html' title='Head Texturing in 3ds Max'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rv6mkrMcC1Q/TG-vC83EkII/AAAAAAAABU4/GNoOMSWsoY4/s72-c/faceText1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-6027178015944478042</id><published>2010-08-06T19:08:00.001-07:00</published><updated>2010-08-06T19:12:16.732-07:00</updated><title type='text'>Binary 1</title><content type='html'>Was developing my new game, and here's the first binaries for the first scenes' map:&lt;div&gt;01111111111111111111111111011010111110101011111111110111011101101101111&lt;/div&gt;&lt;div&gt;110111101100011110111011000011111111101111100111011110111111111001101&lt;/div&gt;&lt;div&gt;11010011110110111101111101011110101010001111011010000101001111111111&lt;/div&gt;&lt;div&gt;1111111111110111111111111111111&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Designed using the &lt;a href="http://gwydir.demon.co.uk/jo/maze/makemaze/index.htm"&gt;Online Maze Designer&lt;/a&gt;. Though I'm not really designing a maze, the method which they propose were also good for map design.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-6027178015944478042?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/6027178015944478042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=6027178015944478042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6027178015944478042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/6027178015944478042'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/08/binary-1.html' title='Binary 1'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1706174663889430550</id><published>2010-08-05T09:15:00.000-07:00</published><updated>2010-08-05T12:19:38.660-07:00</updated><title type='text'>Breaking the process</title><content type='html'>&lt;div style="text-align: justify;"&gt;So I've got a few... as a matter of fact a lot of game ideas in mind, mostly JRPG style (my favorite game genre). But judging from my current skill, it's actually quite impossible for me to finish any one of them. There's still a few possibilities which I wanted to explore in Unity, thus I'm gonna break the process down to pieces and do experiment on each of them while at the same time making a game based on what I've learned, just like what &lt;a href="http://www.sophiehoulden.com/"&gt;Sophie Houlden&lt;/a&gt; did... Her idea was sorta good btw, really need to thank the Game Developer Mags for showing me her existence.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, here are a bunch of stuff (elements) that would make up the game I wanna make in the future:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. 3rd person shooter (gonna work on a game project for campus soon, and it's gonna be using the 3rd person shooter camera)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Cut scenes (camera movements)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Enemy AI (I'll start with walking... then further. Currently reading &lt;a href="http://www.amazon.com/Artificial-Intelligence-Kaufmann-Interactive-Technology/dp/0124977820"&gt;AI for Games by Morgan Kaufmann&lt;/a&gt;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Turn based battle system (ady have the basic concept and structure of the program)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Characters conversation (not sure about the name, but this one's like how you talk to another character inside a Japanese game, the chatting stuff with the floating picture if the character)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Gizmo (I want the GUIs to appear above or around the character)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7. Interactive GUI and interfaces (other than just GUI, I wanna try Movie texture on the game interface to make it looks more lively)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;8. Loading screen (the loading screen just like the one in the game consoles' games)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;9. More animations!!! (on 3ds max, and probably... if I'm free... Maya!)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;10. Foreign languages (always wanted to make a foreign language film, and Jap is definitely the main choice here)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;11. Character modelling (I suck at this, still improving... since I can only depends on myself to make things workout the way I wanted)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;12. Character design (hand drawn stuff, especially mecha!!! I can draw but suck at mecha-lish drawing)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That's about what I could think of thus far... I know there's more, but I just can't recall back what I had in mind previously at the moment. I might make 5 more games for those things I've mentioned up there, you know, to strengthen my skills... &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1706174663889430550?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1706174663889430550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1706174663889430550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1706174663889430550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1706174663889430550'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/08/breaking-process.html' title='Breaking the process'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-854787241339943924</id><published>2010-07-27T05:03:00.000-07:00</published><updated>2010-07-27T06:46:21.984-07:00</updated><title type='text'>RedChariot+Survivor</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TE7TNazu-zI/AAAAAAAABUc/CQPqjQA5Hi4/s1600/ScreenSelector.bmp"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 151px; " src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TE7TNazu-zI/AAAAAAAABUc/CQPqjQA5Hi4/s400/ScreenSelector.bmp" border="0" alt="" id="BLOGGER_PHOTO_ID_5498564422554024754" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Finally finish making my second Unity game: Red Chariot Survivor... It's a driving game, where player trying to outta the dark mansion while at the same time, staying alive.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I was originally planning to write a few development post about it... But due to insufficient amount of time for me to complete this project (I was given 6 days by my lecturer), and with my router broken (thus, no internet!!!) I hardly can.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm now attempting to upload the current version to dimeRocker, while working on a newer version for the &lt;a href="http://www.tbs.co.jp/digicon/index-e.html"&gt;DigiCon6&lt;/a&gt; submission... If I won in any category, I can (stand a chance to) go to Japan!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-854787241339943924?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/854787241339943924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=854787241339943924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/854787241339943924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/854787241339943924'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/07/redchariotsurvivor.html' title='RedChariot+Survivor'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TE7TNazu-zI/AAAAAAAABUc/CQPqjQA5Hi4/s72-c/ScreenSelector.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-263107896681217198</id><published>2010-07-16T06:33:00.000-07:00</published><updated>2010-07-16T07:26:34.829-07:00</updated><title type='text'>RedChariot...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Been working on my game level's design for the entire day. Apparently, it's harder than I thought, I mean, it's not that hard if someone else were to do it, but for me it's hard, as I didn't really have a solid plan about the level's design. I had already done the top view sketch, but my mind kinda want something different when I was actually building it...&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBpBiieDLI/AAAAAAAABUM/LSgTK_M4rcg/s1600/redChariotRendered02.jpg"&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;  &lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TEBls2Uge8I/AAAAAAAABTk/UxYl5KvxAKM/s1600/levelDesignSketch00.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TEBls2Uge8I/AAAAAAAABTk/UxYl5KvxAKM/s400/levelDesignSketch00.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5494503366562184130" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 280px; " /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;from this...&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBmYNEk5-I/AAAAAAAABTs/qaR5w5WzvII/s1600/levelDesign00.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBmYNEk5-I/AAAAAAAABTs/qaR5w5WzvII/s400/levelDesign00.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5494504111403755490" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 327px; " /&gt;&lt;/a&gt;to this.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Basically, the level is complete, just need some programming stuff to make it better. &lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;Oh yeah, the game is called &lt;b&gt;RedChariot&lt;/b&gt; by the way&lt;b&gt;,&lt;/b&gt; it was originally called "Anciently Survivor", but I felt the name was kinda lame, and my racing car was a red chariot, so... that's why.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TEBoMLUhACI/AAAAAAAABT8/hWow4-rs6qA/s1600/redChariotRendered00.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TEBoMLUhACI/AAAAAAAABT8/hWow4-rs6qA/s400/redChariotRendered00.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5494506103798562850" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBotQC_2KI/AAAAAAAABUE/kmIabLiHYgU/s1600/redChariotRendered01.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBotQC_2KI/AAAAAAAABUE/kmIabLiHYgU/s400/redChariotRendered01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5494506672002947234" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBpBiieDLI/AAAAAAAABUM/LSgTK_M4rcg/s1600/redChariotRendered02.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TEBpBiieDLI/AAAAAAAABUM/LSgTK_M4rcg/s400/redChariotRendered02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5494507020564171954" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;Some screenshots of the &lt;b&gt;RedChariot&lt;/b&gt; vehicle.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I thought blogging would make me lose off some stress, but it doesn't... Anyway, it's fun to blog again (after deserted it for a while), and I really hope that I can blog a full Japanese post later in the future. Okay now back to work~ got 2 days left till final submission of this project... I'm a busy man&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;~(T3T)~&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-263107896681217198?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/263107896681217198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=263107896681217198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/263107896681217198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/263107896681217198'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/07/redchariot.html' title='RedChariot...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/TEBls2Uge8I/AAAAAAAABTk/UxYl5KvxAKM/s72-c/levelDesignSketch00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-3344533889281128429</id><published>2010-07-01T07:34:00.000-07:00</published><updated>2010-07-01T09:43:32.427-07:00</updated><title type='text'>Game Developer Mags</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TCzFJIeQSYI/AAAAAAAABTM/XRZIYIp64nQ/s1600/gdmy.jpg"&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Just found out that one of my favorite mags in high school, &lt;a href="http://en.wikipedia.org/wiki/Game_Developer_(magazine)"&gt;Game Developer Mags&lt;/a&gt; is still publishing now:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCy__vzDHkI/AAAAAAAABTE/JMMeB55ug78/s400/436px-GameDeveloperMagazineCover.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5488973147741036098" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 291px; height: 400px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Still got my old March 2006 issue lying on my desk. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TCzFJIeQSYI/AAAAAAAABTM/XRZIYIp64nQ/s1600/gdmy.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TCzFJIeQSYI/AAAAAAAABTM/XRZIYIp64nQ/s400/gdmy.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5488978806541666690" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 267px; height: 400px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wonder if they're still selling it in M'sia, probably only Kinokuniya have this kinda great magazine these days. Anyway, great to know that they haven't gone, and I've been downloading its latest issue in PDF off the internet. But I prefer to read it (and any other books) on hand, rather than on the PC screen... I really should get an iPad.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-3344533889281128429?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/3344533889281128429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=3344533889281128429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3344533889281128429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/3344533889281128429'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/07/game-developer-mags.html' title='Game Developer Mags'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCy__vzDHkI/AAAAAAAABTE/JMMeB55ug78/s72-c/436px-GameDeveloperMagazineCover.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5511558441978211271</id><published>2010-06-26T11:09:00.000-07:00</published><updated>2010-06-26T11:28:29.601-07:00</updated><title type='text'>ナンバー４１</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TCZF4aSBIOI/AAAAAAAABS8/l9z0JpXXK0E/s1600/ScreenSelectorDesign3.png"&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Finally, I'm on the 41st posts here. It's been long, for almost half a year since I started this blog. I have had numerous version of the "JakeL168" blog over the years, but this is by far the one I had for the longest period of time. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It's a good thing that Blogger finally added the "Design" setting, cuz I've been struggling with my blog's design for a long time, looking for the right layout for my blog. I'm just too interface-sensitive. Even the current layout only satisfied me by 50%. As far as I know, all of the previous one didn't even get pass 30%.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, the only project which I started and can be considered "done" so far was &lt;i&gt;EcoTat&lt;/i&gt;. made using Unity3D. I have no intention of ever improving it anymore since it was just a prototype, unless if I start over with a new design and scripting. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've had all these crazy ideas in my head which I wanna start working on. For now I wanna create a turn-based RPG game about school-life and children's folklore, but I still don't know where to start from. Btw, the course which I'm taking now has taken a serious step, more towards the preparation of game design now. I'm hoping that after all these, I can finally be able to conduct my own preparation of game design, and start making game!!!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lastly, I've finalized the name of my project, it's gonna be called "AfterSchool", instead of "Scare me, not!". I've design some basic logo for the game's ScreenSelector (for later Unity's use):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZFOsLdZ5I/AAAAAAAABS0/a7hjpfz8yOc/s1600/ScreenSelectorDesign2.png"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZFOsLdZ5I/AAAAAAAABS0/a7hjpfz8yOc/s400/ScreenSelectorDesign2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5487149314677237650" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 151px; " /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TCZF4aSBIOI/AAAAAAAABS8/l9z0JpXXK0E/s1600/ScreenSelectorDesign3.png"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/TCZF4aSBIOI/AAAAAAAABS8/l9z0JpXXK0E/s400/ScreenSelectorDesign3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5487150031427412194" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 151px; " /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Title + A little Japanese words in there (both Katakana and Kanji) to make it looks cooler... I prefer the Katakana vers.&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZFOsLdZ5I/AAAAAAAABS0/a7hjpfz8yOc/s1600/ScreenSelectorDesign2.png"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5511558441978211271?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5511558441978211271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5511558441978211271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5511558441978211271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5511558441978211271'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/06/number-41.html' title='ナンバー４１'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZFOsLdZ5I/AAAAAAAABS0/a7hjpfz8yOc/s72-c/ScreenSelectorDesign2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-616334108426677273</id><published>2010-06-26T10:55:00.000-07:00</published><updated>2010-06-26T11:08:49.206-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unreal Development Kit'/><category scheme='http://www.blogger.com/atom/ns#' term='UDK'/><category scheme='http://www.blogger.com/atom/ns#' term='Unreal Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='import'/><title type='text'>"Importing" .upk to UDK</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZBFx4417I/AAAAAAAABSs/W9OEeMIOpn0/s1600/ss1.jpg"&gt;&lt;/a&gt;Well according to some experts out there, it's impossible to actually import a .upk to an Unreal Development Kit (UDK), but it can be open it. What it meant was that (took me a long while to understand it), once the file is copied into where the UDK is installed (usually it's in the C drive, outside the Program Files, I copied mine in the folder: C:\UDK\UDK-2010-02\Engine\Content), start-up UDK and it'll in the Content Browser. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, though it's in the content browser, it won't show a thing when clicked on, not sure why. It can be fixed by right-clicking the package and select "Fully Load". After a short while, the textures and stuff will appear in the browser...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZBFx4417I/AAAAAAAABSs/W9OEeMIOpn0/s1600/ss1.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZBFx4417I/AAAAAAAABSs/W9OEeMIOpn0/s400/ss1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5487144763544623026" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 287px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-616334108426677273?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/616334108426677273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=616334108426677273' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/616334108426677273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/616334108426677273'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/06/importing-upk-to-udk.html' title='&quot;Importing&quot; .upk to UDK'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCZBFx4417I/AAAAAAAABSs/W9OEeMIOpn0/s72-c/ss1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1037889624365298225</id><published>2010-06-24T07:35:00.000-07:00</published><updated>2010-06-26T03:33:14.995-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='3ds max 2011'/><title type='text'>3ds Max 2011, you've changed... I hardly know you anymore...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TCN2uiDWMLI/AAAAAAAABSk/TYf93zI4vFA/s1600/3DM20114.jpg"&gt;&lt;/a&gt;Finally got my copy of 3ds Max 2011 yesterday. My friends has been telling me how amazing it looks (though he never really used one before), now I'm finally get to see it myself.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The main interface was pretty much than the previous 2010 version, nothing much changed here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TCNw6-bJ07I/AAAAAAAABSM/RG1fAkqgMVw/s1600/3DM2011.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TCNw6-bJ07I/AAAAAAAABSM/RG1fAkqgMVw/s400/3DM2011.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5486352929559008178" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 225px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The toolbar interface has become something a little similar to Microsoft's Word toolbar.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCN06p5ECSI/AAAAAAAABSc/0GShnAGbbCo/s1600/3DM20112.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/TCN06p5ECSI/AAAAAAAABSc/0GShnAGbbCo/s400/3DM20112.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5486357322093824290" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 317px; height: 400px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I did next was loading up a file of mine from the 2009 version, I planned to continue modelling my stuff in the 2011 version to slowly adapt to the new environment. To my further surprise, the material editor has become something far more superior than I expected. It's like the software has its own window and you can open softwares (materials) inside. Something which I would call a "brilliant" interface (and yeah, I'm that optimistic and simple).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TCN0kAOLLgI/AAAAAAAABSU/gNHNqkJPKsk/s1600/3DM20113.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/TCN0kAOLLgI/AAAAAAAABSU/gNHNqkJPKsk/s400/3DM20113.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5486356932950961666" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 344px; height: 400px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it got me thinking: if the material editor has already become something like this, what's gonna happen to my favorite Render To Texture?! And... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TCN2uiDWMLI/AAAAAAAABSk/TYf93zI4vFA/s1600/3DM20114.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/TCN2uiDWMLI/AAAAAAAABSk/TYf93zI4vFA/s400/3DM20114.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5486359312854298802" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 221px; height: 400px; " /&gt;&lt;/a&gt;nothing happen... thank goodness... Thus, I'm gonna start working on my project with the new kid here. Bye bye 2009...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1037889624365298225?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1037889624365298225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1037889624365298225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1037889624365298225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1037889624365298225'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/06/3ds-max-2011-youve-changed-i-hardly.html' title='3ds Max 2011, you&apos;ve changed... I hardly know you anymore...'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/TCNw6-bJ07I/AAAAAAAABSM/RG1fAkqgMVw/s72-c/3DM2011.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8314649888695311034</id><published>2010-06-12T06:22:00.000-07:00</published><updated>2010-06-12T07:07:58.041-07:00</updated><title type='text'>Scare Me, Not!</title><content type='html'>&lt;div style="text-align: justify;"&gt;After a few days and hours of self-mind struggling, I've finally decided to start another game project. Not sure how many times have I said the word "this time, is for real!", and then subsequently halt a number of game projects, but I'm still gonna say this again: this time, is for real!!!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Below is my current project's detail:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Project name: Scare me, NOT!!! (tentative title)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Genre: Adventure, JRPG&lt;/div&gt;&lt;div style="text-align: justify;"&gt;No of Bosses: 6&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Synopsis: The children of Fairmere Ville has been disappearing one by one every since the arrival of the new village chief (Rowan). Rumor has it that he lure the kids into the forest, and then eat them alive. A gang of 3 kids from the village notice that one of their friend from their gang has gone missing for a couple of days. They were convinced that rumor to be true as they last seen their friend getting scolded by the village chief for accidentally stepping on his plantation, he was then taken into the chief's house and has never been seen since then. The 3 kids plan to find their friend and solve the mystery of the missing kids by attempting to ruin the chief's plantation on purpose -- to get into his "trouble", and mystery turns out to be more complicated than they thought...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now I know the synopsis may already make the game sounds hard to make, but I'm not in a rush, and will take my time to make it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That's all for this post, I'll try to update more if I've got time...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8314649888695311034?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8314649888695311034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8314649888695311034' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8314649888695311034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8314649888695311034'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/06/scare-me-not.html' title='Scare Me, Not!'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5582910751885146187</id><published>2010-05-16T07:30:00.000-07:00</published><updated>2010-05-16T07:44:45.307-07:00</updated><title type='text'>Normal Mapping, CHECK!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S_ADyFSnM-I/AAAAAAAABRQ/jdsbcuDSaLI/s1600/d3.jpg"&gt;&lt;/a&gt;Promised myself that I'd work on baking normal mapping in 3ds max, which I just did, and succeeded today.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a few screenshot of my successful normal mapping works:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S_ADyFSnM-I/AAAAAAAABRQ/jdsbcuDSaLI/s1600/d3.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S_ADyFSnM-I/AAAAAAAABRQ/jdsbcuDSaLI/s400/d3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5471877706203739106" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S_ADrdpEQEI/AAAAAAAABRI/rEULae0NMuU/s1600/d2.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S_ADrdpEQEI/AAAAAAAABRI/rEULae0NMuU/s400/d2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5471877592481284162" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S_ADoHYv6YI/AAAAAAAABRA/n4arhmUJkPI/s1600/d1.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S_ADoHYv6YI/AAAAAAAABRA/n4arhmUJkPI/s400/d1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5471877534967654786" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;I'll probably write a tutorial for my own sake, because I made this out of 3 different tutorials, and a little bit of self-discovery too. But first, I'll have play around with it a little bit more...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5582910751885146187?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5582910751885146187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5582910751885146187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5582910751885146187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5582910751885146187'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/05/normal-mapping-check.html' title='Normal Mapping, CHECK!'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/S_ADyFSnM-I/AAAAAAAABRQ/jdsbcuDSaLI/s72-c/d3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-587574501254149133</id><published>2010-05-13T21:48:00.000-07:00</published><updated>2010-05-13T22:11:25.599-07:00</updated><title type='text'>List of things I plan to accomplish during holidays:</title><content type='html'>1. 3ds max: light mapping, normal mapping, low poly count&lt;div&gt;2. Unity: Enemy AI, Character customization, so basically any tutorial available on Unity, and they have quite a great list of tutorials by the way...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-587574501254149133?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/587574501254149133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=587574501254149133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/587574501254149133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/587574501254149133'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/05/list-of-things-i-plan-to-accomplish.html' title='List of things I plan to accomplish during holidays:'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4609304372283295059</id><published>2010-05-04T22:37:00.000-07:00</published><updated>2010-05-04T23:49:14.073-07:00</updated><title type='text'>Unity Project 2... 終わりました。</title><content type='html'>&lt;div&gt;&lt;div style="text-align: justify; "&gt;Just passed up my 2nd year first semester's Virtual Reality (VR) project. Entitled "Ecotat: the Bengal Tigress", this is an application about learning the ecology, behaviour and habitat of a tiger.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-ERnVlVQcI/AAAAAAAABQ4/dU3nddf64Yc/s1600/DVDCover.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 273px;" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-ERnVlVQcI/AAAAAAAABQ4/dU3nddf64Yc/s400/DVDCover.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467670790110790082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-EQijKo_YI/AAAAAAAABQw/yZo09gcnNL4/s1600/12.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-EQijKo_YI/AAAAAAAABQw/yZo09gcnNL4/s400/12.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467669608345959810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S-EPBbQGz2I/AAAAAAAABQo/UHUroOQcC8Y/s1600/11.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S-EPBbQGz2I/AAAAAAAABQo/UHUroOQcC8Y/s400/11.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467667939774091106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/S-EOrBMhINI/AAAAAAAABQg/atX0gjoK9OQ/s1600/10.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/S-EOrBMhINI/AAAAAAAABQg/atX0gjoK9OQ/s400/10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467667554822594770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S-ENW7pJlqI/AAAAAAAABQY/d6AQN92J2CY/s1600/09.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S-ENW7pJlqI/AAAAAAAABQY/d6AQN92J2CY/s400/09.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467666110223062690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rv6mkrMcC1Q/S-EM0UwYrtI/AAAAAAAABQQ/KNzLsCsAoH4/s1600/08.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_rv6mkrMcC1Q/S-EM0UwYrtI/AAAAAAAABQQ/KNzLsCsAoH4/s400/08.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467665515668877010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S-EMgRzD-eI/AAAAAAAABQI/vIxUs-je19E/s1600/06.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S-EMgRzD-eI/AAAAAAAABQI/vIxUs-je19E/s400/06.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467665171277412834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-EMVT-5zSI/AAAAAAAABQA/iDo_fxFPXVc/s1600/07.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-EMVT-5zSI/AAAAAAAABQA/iDo_fxFPXVc/s400/07.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467664982885387554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-EMKPOCE_I/AAAAAAAABP4/vXm_3jSqso4/s1600/04.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-EMKPOCE_I/AAAAAAAABP4/vXm_3jSqso4/s400/04.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467664792628106226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-ELx_BDFsI/AAAAAAAABPw/U6iFKM0-og8/s1600/03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-ELx_BDFsI/AAAAAAAABPw/U6iFKM0-og8/s400/03.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467664375961818818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S-ELms5BpnI/AAAAAAAABPo/enmhEwdhRCI/s1600/02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S-ELms5BpnI/AAAAAAAABPo/enmhEwdhRCI/s400/02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467664182117770866" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S-ELYJyEs-I/AAAAAAAABPg/1loKu92vSZM/s1600/01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S-ELYJyEs-I/AAAAAAAABPg/1loKu92vSZM/s400/01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467663932175201250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S-EJ8fvGcEI/AAAAAAAABPY/mOwYEaFFj9A/s1600/05.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S-EJ8fvGcEI/AAAAAAAABPY/mOwYEaFFj9A/s400/05.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5467662357520347202" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;This was the third time that I actually finish a game project, kinda proud of myself. I'll be making a video... kinda like a trailer for it later.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4609304372283295059?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4609304372283295059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4609304372283295059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4609304372283295059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4609304372283295059'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/05/unity-project-2.html' title='Unity Project 2... 終わりました。'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/S-ERnVlVQcI/AAAAAAAABQ4/dU3nddf64Yc/s72-c/DVDCover.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4309166726175157190</id><published>2010-04-30T12:39:00.000-07:00</published><updated>2010-04-30T12:51:22.269-07:00</updated><title type='text'>凄いな　アイパドとアイフォンのゲジェト</title><content type='html'>&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iN5_oiDqMew&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/iN5_oiDqMew&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;WIRED.comで動画を見ました。&lt;/div&gt;&lt;div&gt;エパルのパソコンを買いたいです。アイフォンのゲームも作りたいです！&lt;/div&gt;&lt;div&gt;来月はエパルのパソコンを買わなければなりません！！！&lt;/div&gt;&lt;div&gt;今仕事は頑張ってね～～～お金、お、お金～～～&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4309166726175157190?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4309166726175157190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4309166726175157190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4309166726175157190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4309166726175157190'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/04/blog-post.html' title='凄いな　アイパドとアイフォンのゲジェト'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8718866157370826600</id><published>2010-04-30T11:41:00.001-07:00</published><updated>2010-05-16T07:30:52.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='how'/><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='to'/><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='5'/><category scheme='http://www.blogger.com/atom/ns#' term='cubase'/><title type='text'>Cubase 5: Exporting your audio</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9swZUvoFCI/AAAAAAAABO4/j3OLpdAnAlk/s1600/cubase_5_blk.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 172px;" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9swZUvoFCI/AAAAAAAABO4/j3OLpdAnAlk/s400/cubase_5_blk.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466015784367559714" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9suvLUp2LI/AAAAAAAABOw/cakGWfR1feg/s1600/c11.jpg"&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I had this audio exporting problem when I was trying to export the fake radio show assignment I was working. &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Turns out if you just simply click on export, in Cubase 5, you get none of the stuff you want, but a bunch of piano tunes.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Here's a more appropriate way to export audio on Cubase 5:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;1. Select all the tracks on the screen, drag and select all of them using your mouse.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9spEv7Q2II/AAAAAAAABNw/c4TdINcuoHI/s1600/c1.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9spEv7Q2II/AAAAAAAABNw/c4TdINcuoHI/s400/c1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466007734305478786" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 332px; " /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;drag and cover the entire (or just a part of the audio) which you would like to export&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9spW48pP6I/AAAAAAAABN4/O3bQis4pJtc/s1600/c2.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9spW48pP6I/AAAAAAAABN4/O3bQis4pJtc/s400/c2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466008045964836770" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 331px; " /&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;be noted that Cubase 5 will only export the audio you chose here. if there's any part of the audio which you don't want to be a part of the exported file but you wish not to delete the track which contains it, you just have to de-select it (shift+click)&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;2. Next, go to the toolbar and look for Transport&gt;Locators (F) to Selection, and this function will make the 2 selectors above the tracks to be placed in the range of your audio. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9srDDMEzrI/AAAAAAAABOA/l3CRC3svoqI/s1600/c3.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9srDDMEzrI/AAAAAAAABOA/l3CRC3svoqI/s400/c3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466009904139783858" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 328px; height: 400px; " /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Transport&gt;Locators to Selection, or F&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9sr3VlbJlI/AAAAAAAABOI/3L3qwsOuxrA/s1600/c4.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9sr3VlbJlI/AAAAAAAABOI/3L3qwsOuxrA/s400/c4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466010802431141458" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 263px; " /&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;notice that the locators up there is covering up all of your selections, in light blue&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;3. After that, go to File&gt;Export&gt;Audio Mixdown, a box will appear for you to customize the name of your audio, where you wanna export it to, and the file format you prefer. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9stjrZsi2I/AAAAAAAABOQ/AEd4GblCej8/s1600/c6.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9stjrZsi2I/AAAAAAAABOQ/AEd4GblCej8/s400/c6.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466012663713401698" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 259px; " /&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Customize!&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9strBHu-fI/AAAAAAAABOY/qvvI1D-tIaA/s1600/c7.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9strBHu-fI/AAAAAAAABOY/qvvI1D-tIaA/s400/c7.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466012789802727922" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 111px; " /&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;name, name!&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9st6Q0lF_I/AAAAAAAABOg/ul5mc6UdHnQ/s1600/c8.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_rv6mkrMcC1Q/S9st6Q0lF_I/AAAAAAAABOg/ul5mc6UdHnQ/s400/c8.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466013051715393522" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 207px; " /&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;file location&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9suKi8SqNI/AAAAAAAABOo/CPzxdpkq8r8/s1600/c10.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S9suKi8SqNI/AAAAAAAABOo/CPzxdpkq8r8/s400/c10.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466013331457485010" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 259px; " /&gt;&lt;/a&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;file type (I would usually choose WAVE of AIFF for the best quality)&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;4. Click export after you're done with everything. A loading bar will shows up, wait for a while (depends on your audio length), and Voila! You've got your audio exported...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9suvLUp2LI/AAAAAAAABOw/cakGWfR1feg/s1600/c11.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9suvLUp2LI/AAAAAAAABOw/cakGWfR1feg/s400/c11.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466013960772376754" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 203px; " /&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8718866157370826600?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8718866157370826600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8718866157370826600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8718866157370826600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8718866157370826600'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/04/cubase-5-exporting-audio-appropriately.html' title='Cubase 5: Exporting your audio'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9swZUvoFCI/AAAAAAAABO4/j3OLpdAnAlk/s72-c/cubase_5_blk.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-4901095418549857191</id><published>2010-03-28T09:01:00.000-07:00</published><updated>2010-04-30T12:35:58.126-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='5'/><category scheme='http://www.blogger.com/atom/ns#' term='cubase'/><title type='text'>Cubase 5: Turning inactive to active</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9sw6o3DUaI/AAAAAAAABPA/Gtdl5EzOli8/s1600/cubase_5_blk.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 172px;" src="http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9sw6o3DUaI/AAAAAAAABPA/Gtdl5EzOli8/s400/cubase_5_blk.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5466016356703097250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you accidentally disconnected an audio device in the C5's Device Setup&gt;VST Audio System&gt;ASIO, hit F4, or go to Device&gt;VST Connection, to open the VST Connection panel, change the both Stereo's left and right bus to the name of the disconnected device. The disconnected audio will then be connected again.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S69_e7d1PoI/AAAAAAAABME/GBi82O_tVHU/s1600/c5t.png"&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S69_e7d1PoI/AAAAAAAABME/GBi82O_tVHU/s400/c5t.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5453717843104579202" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 254px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-4901095418549857191?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/4901095418549857191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=4901095418549857191' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4901095418549857191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/4901095418549857191'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/03/cubase-5-turning-inactive-to-active.html' title='Cubase 5: Turning inactive to active'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rv6mkrMcC1Q/S9sw6o3DUaI/AAAAAAAABPA/Gtdl5EzOli8/s72-c/cubase_5_blk.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5456939696562500732</id><published>2010-03-26T07:38:00.001-07:00</published><updated>2010-03-26T07:51:08.615-07:00</updated><title type='text'>Array.shuffle()</title><content type='html'>&lt;div&gt;Just read an interesting article about array shuffling from &lt;a href="http://www.daveoncode.com/"&gt;DaveOnCode&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Array.shuffle(), in reality doesn't exist in Flash's AS3, thus it's a pain in the ass for us, fellow moderate-level AS3 programmer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;His script here,&lt;/div&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;div&gt;var arr2:Array = [];&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;while (arr.length &gt; 0) {&lt;/div&gt;&lt;div&gt;    arr2.push(arr.splice(Math.round(Math.random() * (arr.length - 1)), 1)[0]);&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;"Tells" the AS3 to execute a function which shuffle an Array of stuff into another new Array.&lt;/div&gt;&lt;div&gt;Read more about his explanation of this function here: &lt;a href="http://www.daveoncode.com/2009/01/08/implementing-arrayshuffle-in-actionscript/"&gt;Array.shuffle()&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5456939696562500732?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5456939696562500732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5456939696562500732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5456939696562500732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5456939696562500732'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/03/arrayshuffle.html' title='Array.shuffle()'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5507818513870155965</id><published>2010-03-24T08:00:00.000-07:00</published><updated>2010-03-24T08:41:22.526-07:00</updated><title type='text'>Revisiting Arithmetic progression</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S6ornFZZ3OI/AAAAAAAABL0/9KoRXR7giCw/s1600/a93173b2cdeea431ce818315ca84ae87.png"&gt;&lt;/a&gt;I was making a typing game for my class's assignment using Unity3D and Java, and I'm trying to create a level script for my game. There's a few ways I could do it if I look for it on the internet on in the Unity forum, but for this time, I wanna try scripting it myself.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I try on a few ways I could think of (like using the "if, else" statement, and create a really long script about when the level should change when the scores hits a certain point -- which is really a time and space wasting effort), before I realized about Arithmetic progression, an additional-math formula I learnt in high school.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I first list down a few levels, and the scores required to reach them. for instance:&lt;/div&gt;&lt;div&gt;0 scores-level 1 (I wanted the player to start at level 1, with 0 scores),&lt;/div&gt;&lt;div&gt;10000 scores - level 2,&lt;/div&gt;&lt;div&gt;20000 scores - level 3,&lt;/div&gt;&lt;div&gt;30000 scores - level 4, etc...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The difference between 2 of those levels is 10000 scores. Using these infos, I started working it in the Arithmetic progression formula:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://2.bp.blogspot.com/_rv6mkrMcC1Q/S6ornFZZ3OI/AAAAAAAABL0/9KoRXR7giCw/s400/a93173b2cdeea431ce818315ca84ae87.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5452218249349029090" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 163px; height: 21px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt; &lt;/span&gt;(from Wikipedia, I've totally forgotten about the formula after quitting math since 2 years ago)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;a (with a small n) = is the player scores here...&lt;/div&gt;&lt;div&gt;a (with a small 1) = is the starting scores, which is 0 (refer above)...&lt;/div&gt;&lt;div&gt;n (inside the bracket) = refer to the player's level...&lt;/div&gt;&lt;div&gt;d = the difference between 2 of those levels, which is 10000 (refer above)...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The structure of the formula in script would look like this:&lt;/div&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;div&gt;var scores:int = 0;&lt;/div&gt;&lt;div&gt;var level:int = 0;&lt;/div&gt;&lt;div&gt;var diff:int = 10000;&lt;/div&gt;&lt;div&gt;var aOne:int = 0; //these are required variables set&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;//the formula&lt;/div&gt;&lt;div&gt;scores = 0 + (level - 1) * diff;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;Since I'm gonna change the value of level here instead of the scores, I need to change the formula a bit to: &lt;pre class="source-code"&gt;&lt;code&gt;&lt;div&gt;level = (scores - aOne) / diff + 1;&lt;br /&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;Then, applying it to the main script:&lt;div&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;div&gt;var scores:int = 0;&lt;/div&gt;&lt;div&gt;var level:int = 0;&lt;/div&gt;&lt;div&gt;var diff:int = 10000;&lt;/div&gt;&lt;div&gt;var aOne:int = 0;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;function Update () {&lt;/div&gt;&lt;div&gt;if ((scores - aOne) / diff + 1 &gt; level) {&lt;/div&gt;&lt;div&gt;level ++;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;What the script is saying here is that, if the result of the calculation is more than player's level, the level will increase itself by the value of one.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Say... I've managed to score around 11300 points while I'm in level 1. Using the formula:&lt;/div&gt;&lt;div&gt;(11300 - 0) / 10000 + 1, the result would be 1.13, which is more than 1 (the current level)... Thus, the level will increase itself by 1, and become level 2...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I were to create some sorts of a RPG/first-person-shooter game, a Geometric progression would be the better choice in writing the level script.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-5507818513870155965?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/5507818513870155965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=5507818513870155965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5507818513870155965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/5507818513870155965'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/03/revisiting-arithmetic-progression.html' title='Revisiting Arithmetic progression'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rv6mkrMcC1Q/S6ornFZZ3OI/AAAAAAAABL0/9KoRXR7giCw/s72-c/a93173b2cdeea431ce818315ca84ae87.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8747664248769783063</id><published>2010-02-21T08:07:00.000-08:00</published><updated>2010-02-21T08:13:09.182-08:00</updated><title type='text'>event.target</title><content type='html'>&lt;div style="text-align: justify;"&gt;I always sees the term "event.target" being used in tons of codes all over the internet, but I never really understand what it is, and what it could actually do, don't even wanna find out.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Until a while ago, when I plan to put the same function for different buttons of the same eventListeners, I realized how convenient it can be.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I have all the buttons inside the same DisplayObject called "mainMap". Then I assigned functions for all of them through: event.target.townI (.desertI, .grassHillI, .volcanoI, etc...), where by "townI" is one of the button in "mainMap".&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8747664248769783063?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8747664248769783063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8747664248769783063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8747664248769783063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8747664248769783063'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/02/eventtarget.html' title='event.target'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-8446563958561450860</id><published>2010-02-20T08:34:00.000-08:00</published><updated>2010-02-20T08:43:23.731-08:00</updated><title type='text'>bad habits</title><content type='html'>It's 2010, a new year, and I've accomplished nothing through the years in 2009. I was having this sort of bad habits which I think almost everyone also has, I was too ambitious. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Every time I started working on a game, I started small, and no brainstorming or  a simple pen-down notes for the game which I'm about to make. And that project ended up being scrapped, left in a folder on my hard drive, waiting to rot...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I planned to join competitions, but I ended up not joining any of them because I kept stressing out myself with the theme or requirement of the competition, when I could have just submit anything.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wanna be a game designer but I have not much of a determination to start with. Told myself I would make 100 games before I graduate, but I only made 2 low-class games so far.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This year, I wanna try something different, I wanna try not being too ambitious, and start making good, standard small games... May the god of games help us all!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-8446563958561450860?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/8446563958561450860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=8446563958561450860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8446563958561450860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/8446563958561450860'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/02/bad-habits.html' title='bad habits'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-7174449702703234189</id><published>2010-01-26T15:51:00.001-08:00</published><updated>2010-01-26T16:06:09.535-08:00</updated><title type='text'>talk myself out of you... all!: main character's interactions</title><content type='html'>I've been having a lot of troubles giving name to my game, a good name... Therefore the name which I'm currently assigning to the game I'm currently working on will be: "Talk myself out of you... all!". &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Below is the current progress of the game:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;embed src="http://6015634567619989444-a-1802744773732722657-s-sites.googlegroups.com/site/flashprojects2010/ft-stage1.swf?attachauth=ANoY7cq9tCJAg4bKeLZU37Z76MKJQMaXFq4KOwpGkHVi0UE8D8OxaveXD-SUgXoircDmKZ1cCvdWZSH7CSSlfF9Q_Wlfc7N4P6-V4ZEbBtHTyPaznV0EuZhCQG95Rug0Uqhyx44IIc6lRQXVbtU8Jfx5Bla8DWE4BLw9OC53j3TFqlDiEUvDi146nVMg-EDdciLg3me2INpS87umlZWm2Rf6Z1rHgXyILg%3D%3D&amp;amp;attredirects=0" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="400" width="600"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Instruction:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;1. There are 3 different buttons which you could click on, in which each of them carry out different functions: attack, magic, and heal.&lt;/div&gt;&lt;div&gt;2. You can use any attack you want, but the magic attack (last button) won't work unless you have a certain level of confidence.&lt;/div&gt;&lt;div&gt;3. You need to keep on attacking until your confidence bar (the tube on the left side) is filling up itself. And when you get to a certain level, you can start using the magic attack.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Now, it's only been 2 days since I started working on this project, I've managed to finish coding the main interaction of the character, but haven't started on the enemy's AI, which to me is kinda complex, and needed 2 to 3 days to further working on it... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm also struggling with the perfection of the graphic, for instance: making sure the X and Y axis is in the range of rounded up numbers, and no decimal points, else I'll get all fed up about it.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-7174449702703234189?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/7174449702703234189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=7174449702703234189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7174449702703234189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/7174449702703234189'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/01/talk-myself-out-of-you-all-main.html' title='talk myself out of you... all!: main character&apos;s interactions'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-1640513351219678195</id><published>2010-01-23T12:28:00.000-08:00</published><updated>2010-01-23T12:31:17.805-08:00</updated><title type='text'>tough decision</title><content type='html'>I've finally decided, I'm gonna make a game for the LG competition I mentioned earlier; no matter what game it's going to be, I'm just gonna make one; whether or not I'm following the theme given or not, I'm just gonna make a game for it. It's 4:38am... nite...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6582366231497134471-1640513351219678195?l=www.jakel168.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.jakel168.com/feeds/1640513351219678195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6582366231497134471&amp;postID=1640513351219678195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1640513351219678195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6582366231497134471/posts/default/1640513351219678195'/><link rel='alternate' type='text/html' href='http://www.jakel168.com/2010/01/tough-decision.html' title='tough decision'/><author><name>JakeL168</name><uri>http://www.blogger.com/profile/14130142349196108599</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-r09cm8sUA0w/TwK3KqKpKcI/AAAAAAAABuk/orSAu6RE68Y/s220/MaxcotHeadTransparent.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6582366231497134471.post-5641513757334717374</id><published>2010-01-20T20:22:00.000-08:00</published><updated>2010-01-20T20:53:18.903-08:00</updated><title type='text'>like a mouse looking for cheese in a maze</title><content type='html'>&lt;div style="text-align: justify;"&gt;Still got some time before this semester "actually" start, I decided to learn about pathfinding. I had already found a site just now and I'll begin reading through those "hundreds of pages" later. But first I would like to point out my very own theory of pathfinding in AS3. Cuz sometimes our thoughts are unexpectable, and kept on changing from time to time in terms of whatever we read. So I just wanna compare my thoughts as of right now, with the thoughts which I'll have later, after I read the whole thing. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To start off, first, the main object detects the distance and direction between the target and itself. Then, it'll start to move along to that direction it detected. And here's the thing, there's a lots of blocks and walls ahead of it, so how is it gonna pass through them and reach it's target.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here's my solution: Using the if conditional statement, I'll make it detect all the blocks and walls it will hits when moving in a specific direction, and program it to move to the other direction after that. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;e.g.:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&lt;div style="text-align: justify;"&gt;this.y -= 10;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;if (this.hitTestObject(wall) &amp;amp;&amp;amp; this.direction = "front")&lt;/div&gt;&lt;div style="text-align: justify;"&gt;{&lt;/div&gt;&lt;div style="text-align: justify;"&gt;     this.direction == "left";&lt;/div&gt;&lt;div style="text-align: justify;"&gt;     this.y += 0;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;     this.x -= 10;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;     if (this.hitTestObject(wall) &amp;amp;&amp;amp; this.direction = "left")&lt;/div&gt;&lt;div style="text-align: justify; "&gt;     {&lt;/div&gt;&lt;div style="text-align: justify; "&gt;          this.direction == "right";&lt;/div&gt;&lt;div style="text-align: justify; "&gt;          this.x += 10;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;&lt;div style="text-align: justify; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify; "&gt;          if (this.hitTestObject(wall) &amp;amp;&amp;amp; this.direction = "right")&lt;/div&gt;&lt;div style="text-align: justify; "&gt;          {&lt;/div&gt;&lt;div style="text-align: justify; "&gt;               this.direction == "down";&lt;/div&gt;&lt;div style="text-align: justify
