<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>The official (Aggrigated!) blog of Novaleaf Game Studios</description><title>blogs.novaleaf.com</title><generator>Tumblr (3.0; @novaleaf)</generator><link>http://blogs.novaleaf.com/</link><item><title>I'm a junior</title><description>&lt;p&gt;&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;หลังจากจบมหาลัยมาผมก็เริ่มหางานที่เกี่ยวกับการพัฒนาโปรแกรมและ &lt;/span&gt;AI &lt;span xml:lang="TH" lang="TH"&gt;และหลีกเลี่ยงงานที่จำเจ &lt;/span&gt;(routine) &lt;span xml:lang="TH" lang="TH"&gt;ไม่ให้ความสนใจเรื่องเงินมากนักเพราะรู้ตัวว่าเกรดไม่ดี ไม่เก่งและที่สำคัญภาษาอังกฤษแย่มาก&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;&lt;span&gt;                &lt;/span&gt;หางานใน &lt;/span&gt;Jobdb &lt;span xml:lang="TH" lang="TH"&gt;เจอบริษัท &lt;/span&gt;Novaleaf &lt;span xml:lang="TH" lang="TH"&gt;ประกาศรับสมัคร &lt;/span&gt;game developer &lt;span xml:lang="TH" lang="TH"&gt;ที่มีคุณสมบัติต่างๆ มากมาย แต่ก็มีคุณสมบัติบางข้อที่ผมให้ความสนใจคือ &lt;/span&gt;game, AI &lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;programming&lt;span xml:lang="TH" lang="TH"&gt; และก็มีคุณสมบัติหลายอย่างที่ผมทำไม่ได้และที่สำคัญสัมภาษณ์งานเป็นภาษาอังกฤษ แต่สุดท้ายผมตัดสินใจมาสัมภาษณ์ลองดู&lt;/span&gt; (&lt;span xml:lang="TH" lang="TH"&gt;ตอนแรกตัดสินใจไม่มาแล้ว แต่เพื่อนชาวเวียดนามบอกให้ผมลองไปดู ไม่เห็นมีอะไรเสียหาย ผมคิดตาม ก็จริงไม่มีอะไรให้กลัว กลัวอะไรผมมี &lt;/span&gt;talking dictionary) &lt;span xml:lang="TH" lang="TH"&gt;แล้วผมก็ได้งานทำ&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;&lt;span&gt;                &lt;/span&gt;เมื่อเริ่มทำงานความรู้ในการเป็น &lt;/span&gt;Game developer &lt;span xml:lang="TH" lang="TH"&gt;แทบจะเป็น 0 และได้เข้าใจการเรียนเพียงเอาความรู้ไปสอบให้ได้เกรดช่างไร้ความหมาย สิ่งที่สำคัญกว่าคือการฝึกฝนเอาความรู้อย่างถ่องแท้สำคัญกว่า &lt;/span&gt;(practice make prefect)&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;ผมเริ่มด้วยการฝึก &lt;/span&gt;Programming (C#)&lt;span xml:lang="TH" lang="TH"&gt; จากเดิมที่รู้เพียงชื่ออย่างเช่น &lt;/span&gt;interface, delegate&lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;event&lt;span xml:lang="TH" lang="TH"&gt; อื่นๆ ให้เข้าใจและใช้ได้ถูกต้องตามสถานการณ์&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;ต่อมาเริ่มลงทำเกม ทำให้เพิ่มใช้ความรู้ &lt;/span&gt;Programming &lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;Math for game &lt;span xml:lang="TH" lang="TH"&gt;อย่างเช่น &lt;/span&gt;Vector &lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;Matrix &lt;span xml:lang="TH" lang="TH"&gt;มากขึ้น&lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt; &lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt;คลายกับความรู้ ม&lt;/span&gt;.&lt;span xml:lang="TH" lang="TH"&gt;ปลายที่เรียนมา&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;ได้มาทำในส่วน &lt;/span&gt;Spatial partitioning &lt;span xml:lang="TH" lang="TH"&gt;ที่ต้องใช้ความรู้เรื่อง &lt;/span&gt;data structure &lt;span xml:lang="TH" lang="TH"&gt;อย่างเช่น &lt;/span&gt;Tree,&lt;span xml:lang="TH" lang="TH"&gt; &lt;/span&gt;graph &lt;span xml:lang="TH" lang="TH"&gt;และความรู้เรื่อง &lt;/span&gt;Basic Geometry Math &lt;span xml:lang="TH" lang="TH"&gt;อย่างทรงกลม &lt;/span&gt;(sphere) &lt;span xml:lang="TH" lang="TH"&gt;กล่องที่อยู่บนแกน&lt;/span&gt; (Axis aligned bounding box: AABB) &lt;span xml:lang="TH" lang="TH"&gt;หาว่าทับกันหรือไม่ ห่างกันเท่าไร&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;ทำในส่วน &lt;/span&gt;Collision Detection &lt;span xml:lang="TH" lang="TH"&gt;ที่ต้องใช้ความรู้เรื่อง &lt;/span&gt;Geometry Math, Vector and Matrices algebra &lt;span xml:lang="TH" lang="TH"&gt;อย่างเช่น &lt;/span&gt;ray, line, plane and OBB (Oriented-Bounding Box) , &lt;span xml:lang="TH" lang="TH"&gt;และมีความเกี่ยวข้องกับ&lt;/span&gt; spatial partitioning &lt;span xml:lang="TH" lang="TH"&gt;โดยตรง &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;ในการทำในส่วน &lt;/span&gt;AI &lt;span xml:lang="TH" lang="TH"&gt;ซึ่งได้ลองทำในรู้แบบ &lt;/span&gt;state machine &lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;behavior tree &lt;span xml:lang="TH" lang="TH"&gt;ยังคงใช้ความรู้เรื่อง &lt;/span&gt;data structure &amp; algorithm &lt;span xml:lang="TH" lang="TH"&gt;ทั้งในส่วน &lt;/span&gt;tree, graph &lt;span xml:lang="TH" lang="TH"&gt;การ &lt;/span&gt;search &lt;span xml:lang="TH" lang="TH"&gt;ในรู้แบบต่างๆเช่น ในการทำ &lt;/span&gt;path finding &lt;span xml:lang="TH" lang="TH"&gt;และใน &lt;/span&gt;heap, hash &lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;sorting &lt;span xml:lang="TH" lang="TH"&gt;ในการเพิ่มความเร็ว &lt;/span&gt;&lt;span&gt;   &lt;/span&gt;AI &lt;span xml:lang="TH" lang="TH"&gt;ที่เคยเรียนมาในตอนมหาลัย&lt;/span&gt; (Academic AI) &lt;span xml:lang="TH" lang="TH"&gt;จะมี &lt;/span&gt;search , &lt;span xml:lang="TH" lang="TH"&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;rule –based expert system, fuzzy logic , neural network &lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;genetic programming &lt;span&gt;  &lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt;&lt;span&gt; &lt;/span&gt;ค่อนข้างจะแตกต่างกับ &lt;/span&gt;Game AI&lt;span xml:lang="TH" lang="TH"&gt;&lt;span&gt;  &lt;/span&gt;เน้นเรื่องการ &lt;/span&gt;search &lt;span xml:lang="TH" lang="TH"&gt;และบางเกมส์มีใช้ &lt;/span&gt;rule base system(SimCity) .&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;จากประสบการณ์ 3 ปีในการทำเกม ในความสีงที่ผมได้&lt;/span&gt;(Realize)&lt;span xml:lang="TH" lang="TH"&gt; ในพื้นฐานการที่จะเป็น &lt;/span&gt;game developer &lt;span xml:lang="TH" lang="TH"&gt;นั้นจะต้องมีความรู้พื้นฐาน&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span xml:lang="TH" lang="TH"&gt;1. Concept programming &lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt;ที่เข้าใจ &lt;/span&gt;(&lt;span xml:lang="TH" lang="TH"&gt;ผมคิดว่ารวมไปถึงการเข้าใจ &lt;/span&gt;OOP : Object-oriented programming&lt;span&gt;  &lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt;และ &lt;/span&gt;Design Pattern)&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2. Data structure and Algorithm &lt;span xml:lang="TH" lang="TH"&gt;พื้นฐานช่วยให้เข้าใจ&lt;/span&gt; Game algorithm &lt;span xml:lang="TH" lang="TH"&gt;ต่างๆ&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span xml:lang="TH" lang="TH"&gt;3. Performance Optimization, &lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt;การเพิ่ม &lt;/span&gt;speed &lt;span xml:lang="TH" lang="TH"&gt;ของเกม ถ้ามีความรู้ข้อ 1 และ 2 แล้วจะช่วยได้มาก&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span xml:lang="TH" lang="TH"&gt;4. Math for game, &lt;/span&gt; &lt;span xml:lang="TH" lang="TH"&gt;จะเป็นพื้นฐานในการศึกษาและพัฒนาในส่วนต่างๆ อย่างเช่น &lt;/span&gt;Collision detection, Physics, Animation and Computer graphic(rendering) &lt;span xml:lang="TH" lang="TH"&gt;เป็นต้น&lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt; &lt;/span&gt;&lt;span xml:lang="TH" lang="TH"&gt;ของเกมได้ง่ายๆ ขึ้น&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;5. English (&lt;span xml:lang="TH" lang="TH"&gt;สำหรับบางคนรวมทั้งผม&lt;/span&gt;) &lt;span xml:lang="TH" lang="TH"&gt;เนื่องจากแหล่งข้อมูลเกือบทั้งหมดเป็นภาษาอังกฤษ&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span xml:lang="TH" lang="TH"&gt;การพัฒนาเกมต้องใช้ความรู้มากมายและใหม่ และมีสิ่งที่น่าสนใจให้ศึกษามาก&lt;span&gt;  &lt;/span&gt;ผมคิดว่าผมยังจูเนียร์&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;Sarayut (Bank)&lt;span xml:lang="TH" lang="TH"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/940157974</link><guid>http://blogs.novaleaf.com/post/940157974</guid><pubDate>Thu, 12 Aug 2010 10:00:00 +0700</pubDate><category>gamedev</category></item><item><title>Simplicity in game design</title><description>&lt;p&gt;&lt;p class="MsoNormal"&gt;I would like to talk about simplicity in game  design and controls. Pong, one of the first games in the world, its main control  was an up and down button. In the old days when game consoles had only a few  buttons to press and look what great games were created with those simple controls; Tetris, Mario, Asteroids, etc.. Don’t mistaken me, I do like to play complicated games but sometimes I just miss the old “not using all  buttons in the game controller game”. For example, have you ever heard of a game  called &lt;a target="_blank" href="http://adamatomic.com/canabalt/"&gt;Canabalt&lt;/a&gt;?  The entire game uses only 1 button and it’s very addicting.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;When I was looking more about &lt;a target="_blank" href="http://adamatomic.com/canabalt/"&gt;Canabalt&lt;/a&gt; and  found an interesting competition called “&lt;a target="_blank" href="http://experimentalgameplay.com/blog/"&gt;Experimental  Game Play&lt;/a&gt;”. The concept of the competition is that each month, they will have &lt;a target="_blank" href="http://experimentalgameplay.com/blog/category/theme/"&gt;a new theme&lt;/a&gt; for everyone to compete in. One of the themes that I liked most is call “&lt;a target="_blank" href="http://experimentalgameplay.com/blog/2010/03/10-seconds/"&gt;10 seconds is long enough in March&lt;/a&gt;”. Every game was based on a 10 second rule but  how to use it is different. Some games took 10 seconds to finish such as the  game called “&lt;a target="_blank" href="http://experimentalgameplay.com/blog/2010/03/run-jesus-run/"&gt;Run Jesus Run&lt;/a&gt;”. Other games used 10 seconds for a timer to complete  specific tasks like “&lt;a target="_blank" href="http://dai5ychain.net/breath/"&gt;I  can hold my breath forever&lt;/a&gt;”. The idea is how to manipulate the theme “10 seconds”. In  my opinion, games nowadays are quite complex and that makes the controls  complex too. Why don’t people use a simple concept with simple controls?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;It’s not like simple game concepts aren’t sellable  because if you look at &lt;a target="_blank" href="http://thelettervsixtim.es/"&gt;VVVVVV&lt;/a&gt; which you only have 3 controls (walk left, walk right, flip), &lt;a target="_blank" href="http://adamatomic.com/canabalt/"&gt;Canabalt&lt;/a&gt; (1  button game) or a game from the 10 second competition like “&lt;a target="_blank" href="http://www.mediafire.com/?yjxynhmzgmz"&gt;10 second  war, by Almost&lt;/a&gt;” which is at sellable quality in my opinion.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;To conclude, I enjoy seeing these types of games as  much as those AAA games that come out and I would like to see more and more of  these “small and addicting new concept games” in the future.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;- &lt;span class="il"&gt;Intara&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/877924049</link><guid>http://blogs.novaleaf.com/post/877924049</guid><pubDate>Fri, 30 Jul 2010 10:00:00 +0700</pubDate><category>game design</category></item><item><title>The Best Batch</title><description>&lt;p&gt;When rendering geometries, of course, most graphics developers know how  to implement instancing and do it nicely using whatever technique to  speed up their rendering performance rather than traditional  single-instance rendering. So, does this mean that we should always draw  every object in the game using instancing technique? If not, what  should our decision be made based on?&lt;/p&gt;
&lt;p&gt;&lt;br/&gt; Before answering that question  we must realize that there are both cpu and gpu costs we have to pay  when rendering primitives. The cpu cost is associated to API call to  process primitive which is a fixed cost regardless of size, and the gpu  cost is obviously for actual drawing regard to how complex the geometry  is. This tells us that drawing a few large meshes might be more  efficient than drawing many small ones, yes, might be.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt; Cpu and gpu  are executed in parallel in the pipeline meaning that either of them  could be the bottleneck at anytime. It’s our role to find the closest  balance point for the workload to reach the maximum performance. Giving a  set of mesh instances, as mentioned earlier, drawing them one by one  might be more efficient &lt;br/&gt;than batch them or vise versa. Then what  should we use as a criteria to decide whether to batch them or not? The  answer is triangle count. Let’s have a look at this example,&lt;/p&gt;
&lt;p&gt;&lt;br/&gt; Suppose  that we know that 500 triangles is the best number to make decision in  our rendering system that gives the most balance workload to cpu and  gpu. This means that if we draw objects that has less than 500  triangles, without instancing, it will be cpu-bounded because there are  too many API calls, no matter how fast the graphics card is, the  performance will not change. In the other hand, if we draw high poly  objects higher than 500, with instancing, it will be gpu-bounded since  the gpu has too much work relative to cpu work yet we won’t achieve  maximum performance because both workloads are not balanced. This  already answers the first question of this article about whether we  should use instancing technique everytime or not. The final answer is  you shouldn’t.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt; In summary, we pick a number, in this example 500, to  be a target breakpoint where we batch meshes if they have lower poly  and not batch if they have higher poly count. Keep in mind that this  number is just and example and might be varied depending on many factors  like hardware specifications, platform, graphics api, instancing  technique used, game logic complexity etc. So how do we find the best  number?, the key is measurement. There are many useful performance  measuring tools to help you track down the bottleneck of your rendering.  Keep experimenting &lt;br/&gt;until you find the best one for your system. In  advanced case, you might also want to determine this breakpoint  dynamically.&lt;/p&gt;
&lt;p&gt;- Thitipong (Nick)&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/847779398</link><guid>http://blogs.novaleaf.com/post/847779398</guid><pubDate>Fri, 23 Jul 2010 10:00:00 +0700</pubDate><category>dev</category><category>rendering technique</category></item><item><title>Japanese Karaoke in Thailand?</title><description>&lt;p&gt;If you had lived in Thailand for more than  few years, you would probably have noticed that there is no good  Japanese karaoke in this country! Actually, I used to think like that,  however, this fact is classified as “obsolete” in term of programming  after I discovered the place called “Wood Ball”.&lt;/p&gt;

&lt;p&gt;This place is the  combination of drinking bar and Karaoke. Even though most customers are  Japanese, they still welcome Thais and foreigners too. A good point of  this Karaoke is that it has tons of Japanese songs; if you still love or  used to love animes and mangas, you will immediately fall in love with  this secret place. For myself, I am very exciting to find a lot of  “Pokémon” songs here such as the opening theme from year 1998 “Mezasei  Pokemon Master”, year 2000 “Ok!”, and year 2003 “Advance Adventure”.&lt;/p&gt;

&lt;p&gt;I  have travelled through many Karaoke places but none of them has rare  music like this. In contrast, the price is quite expensive for Thai  people; however, I think I cannot blame them since their main target is  Japanese people. Perhaps, I should be the one who collects enough money  in my wallet before I go there.&lt;/p&gt;

&lt;p&gt;At this point, you might already want  to know more information such as location and opening time of this  place. Am I wrong? Ok let’s continue.&lt;/p&gt;

&lt;p&gt;This Karaoke is located near  “Saladang” BTS station, at “Silom Soi 6”. It opens from 6 pm until 2 am  of the next day. There are two types of room that you can choose: public  and private. Public room is on the first floor, and private rooms are  on the second and third floors. An actual price for public room is 80  baths for the whole night; nevertheless, you need to order some drinks  and sing a song with other several customers. If you choose to have a  private room, you need at least 5 people including yourself; each of  people has to pay 500 baths. You and your friend can spend 3 hours  singing songs and ordering cocktail as much as you guys want.&lt;/p&gt;

&lt;p&gt;Ultimately, in my opinion, I think if you can find enough comrades, you  should pick the private choice. This Karaoke updates songs almost every  month; thus, newly added songs will always be waiting for you every time  that you and friends go there.&lt;/p&gt;
&lt;p&gt;Let’s have fun!&lt;/p&gt;
&lt;p&gt;- Soraphol&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/734977501</link><guid>http://blogs.novaleaf.com/post/734977501</guid><pubDate>Fri, 25 Jun 2010 23:25:51 +0700</pubDate></item><item><title> Programmer &amp; Ego</title><description>&lt;p&gt;Have you ever noticed the feeling of superiority or a pride of  being an awesome programmer? &lt;br/&gt;&lt;br/&gt;Even though I don’t have a degree in  psychology, I am pretty sure that for most people the more one  accomplish in something, the more pride and ego he has. That also  absolutely applies to many programmers. For me, I always think of  programming as a game which you can never lose. As long as, you don’t  attempt to solve things like &lt;a title="Millennium Prize Problems" target="_blank" href="http://www.claymath.org/millennium"&gt;Millenium  Prize Problems&lt;/a&gt;. You will eventually find a solution either by  code it yourself or google it somewhere.&lt;br/&gt;&lt;br/&gt;As time pass by, you solve more and more problems  without any problems (as you are an awesome programmer). Here is where  pride and ego gradually stacks up in the programmers’ mind without their  awareness. &lt;br/&gt;There are a lot of problems associate to this. For example, I  once got a comment about my work, of course, just like an instinct, I  rejected it instantly and think that my way of doing thing is correct.  That made me ignore some of the valuable comments in the past and I was  the one who regret it at the end. Even worse ego can, in fact, even  change your programming team into a nightmare if it is not deal with. &lt;br/&gt;&lt;br/&gt;So, what can we do to prevent that? &lt;br/&gt;In a team  perspective, there is many articles out there for helping a team to  avoid this problem. Most of them involves with the way to explain and  compliment the team. &lt;a title="Here" target="_blank" href="http://www.mikebernat.com/blog/Egoless_Programming_-_Developing_Without_the_Attitude"&gt;Here&lt;/a&gt; is one guideline when you have to program as a team. How about what we  can do for ourself as a personal improvement?&lt;br/&gt; For me, I think the key is  to avoid taking things personally. Well, this is easier to say than to do it.  &lt;br/&gt;Another effective way for me is to find and spend times with genius  programmer, then, talk with him in the area he is specialized and  realize that how stupid I am. At least, this helps me knowing that I’m  not that good. Turn your ego into an inspiration to further expand your  knowledge and becomes more opened to fruitful comments and advise. &lt;br/&gt;&lt;br/&gt;Give  it a try. Or if you have a better idea, I would love to hear it! &lt;br/&gt;&lt;br/&gt;Note: I’m surprised when joining at Novaleaf  though… Everyone are truly genius, yet, nice environment =)&lt;br/&gt;&lt;br/&gt;- Chainan&lt;br/&gt;&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/722039120</link><guid>http://blogs.novaleaf.com/post/722039120</guid><pubDate>Mon, 21 Jun 2010 21:47:19 +0700</pubDate><category>dev</category></item><item><title>Novaleaf Technical Diary: Spatial Partitioning for dynamic worlds</title><description>&lt;a href="http://dev.blogs.novaleaf.com/post/698083631/spatial-partitioning-for-dynamic-worlds"&gt;Novaleaf Technical Diary: Spatial Partitioning for dynamic worlds&lt;/a&gt;: &lt;blockquote&gt;
&lt;p&gt;I posted this as an answer to &lt;a target="_blank" href="http://forums.xna.com/forums/p/54900/333815.aspx#333815"&gt;an xna forums question&lt;/a&gt; on what spatial partitioning to use for dynamic worlds. No sense wasting perfectly good blog-copy, right? :D&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
…
&lt;p&gt;i’m developing a xna game/engine focused on a dynamic, densely populated world, and my choice is the simple grid (well, a…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;- Jason&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/707970579</link><guid>http://blogs.novaleaf.com/post/707970579</guid><pubDate>Thu, 17 Jun 2010 20:28:56 +0700</pubDate></item><item><title>Higher dimension for collision detection</title><description>&lt;p&gt;This is my idea that there should be 4D collision system in future simulation engine for ULTIMATELY ACCURATE collision detection. So at some resting time of this moment, I use it to find information about higher dimension theory.&lt;/p&gt;
&lt;p&gt;In this world we may know that we are live in 3 dimension space and forced to live along only 1 direction of timeline. But awesome physicists (such as Einstein) found out that there are 10 dimensions in the universe (by their MYSTERY MYSTIC EQUATION(S) which we, such a foolish people, cannot read and translate it tobe our language) .&lt;br/&gt;The equasions tell them that a particle, like an electron and proton , which is ingredient to make all of us into human object, living in more than 4 dimension.&lt;/p&gt;
&lt;p&gt;Warning, don’t just open google to see page about dimension. You may confused with concept of Dimension in Physics and Mathematics (Yes, It’s really different)&lt;br/&gt;I have focus on physics side. Because, like I said, I focus on collision detection. However , the more I have find. The interesting imagination make me gone out of my focus.&lt;/p&gt;
&lt;p&gt;And Yes, This blog already go out of what I want to say. So get back and say what I want to say. Then I will talking about theory in next time (if I think someone want to read).&lt;br/&gt;I want to say ,we should compute collision detection in time dimension. then we will have no problem with jumping object between each update.&lt;/p&gt;
&lt;p&gt;Nowaday we have ray traced back method to check to make sure that object in our game not  jump pass through another ting in previos update, this is the concept of time dimension collision but it still an incomplete. It can’t check surface and volume. That make me concern on 4D collision.&lt;/p&gt;
&lt;p&gt;The easiest idea I have is ,we must make surface into volume in 4 dimensions, And collide those volume with very freaking 4D graph set mathematics theory equation solution or whatever you can name it. Then we get 4D position (bless you we have Vector4 in XNA :D) that is the REALLY PRECISELY contact point in X Y Z and Time.&lt;/p&gt;
&lt;p&gt;I can say that. With media that I love ,such as game and comics, make me easier to imagine many physics theory. Include this theory of dimension.&lt;br/&gt;So ,conclusion ,everybody should read comics :D&lt;/p&gt;
&lt;p&gt;- Thaina&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/679766113</link><guid>http://blogs.novaleaf.com/post/679766113</guid><pubDate>Wed, 09 Jun 2010 17:29:00 +0700</pubDate><category>Dev</category><category>Physics</category><category>Science</category><category>submission</category></item><item><title>Working atmosphere</title><description>&lt;p&gt;&lt;span&gt; &lt;/span&gt;I think every child when they were young had a thought that “someday, I’ll create my own game”. I think most people outside the game industry will think that, to create a game you need programmers and artists.&lt;span&gt;  &lt;/span&gt;Some people will also add musicians and game designers. But, starting a game company the problem isn’t just the ‘game’ part but it’s about the ‘company’ part as well. And being in the business department of Novaleaf gave me a lot of insight on how companies run (well, game companies).&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The atmosphere here is quite nice and since we installed a new in-house made heat protector, the temperature in here is in a workable condition (consider Thailand’s heat). I’ve been thinking on what people want the work environment to be. I find the following things necessary: friendly co-workers, easy-to-travel to work stations, a game room, a dining room and much much more which Novaleaf has it all. I considered myself lucky to be able to work in such a place. :)&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Anyway, I prefer to keep my blogs short so that’s it !!! See you again in my next blog.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;- Intara, Business Development Officer&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/671396399</link><guid>http://blogs.novaleaf.com/post/671396399</guid><pubDate>Mon, 07 Jun 2010 08:09:04 +0700</pubDate><category>biz</category><category>submission</category></item><item><title>What do you want to know?</title><description>&lt;p&gt;Today, I received an email reminding  me to write a blog entry for Novaleaf’s website, which I promised  to do a couple of weeks ago… After almost an hour has passed since  I started a new word document titled “blog entry #1” – my document  is still blank. My blog writing career is starting to look pretty grim…&lt;/p&gt;
&lt;p&gt;While I was lost without hope, I  remembered  one of the “tips” on what to write in the blog, which were kindly  included in the email, was to write something educational because you  guys love reading blog to learn.&lt;/p&gt;
&lt;p&gt;…No, I still have absolutely no idea  what to write… So, instead, I will ask you blog reader and knowledge  seeker, &lt;strong&gt;what do you want to know&lt;/strong&gt;? Of course, I can only answer  your questions about game programming and game development… not how  to impress girls in night clubs, those are trade secrets.&lt;/p&gt;
&lt;p&gt;But before I go, I want to give you  something “educational”, so at least a few of you might learn something  new today… even though it’s really only useful for those who are  programmers:&lt;/p&gt;
&lt;p&gt;      &lt;strong&gt;i  = 0x5f3759df - ( i » 1 );&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Do you recognize that magical line  of code? If you do know that line of code, then you’re well on your  way to become a great programmer! If you don’t remember or don’t  know it, google it! I promised you, it’s educational J &lt;/p&gt;
&lt;p&gt;- Maethee&lt;/p&gt;
&lt;p&gt;Software Development Manager&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/661773106</link><guid>http://blogs.novaleaf.com/post/661773106</guid><pubDate>Fri, 04 Jun 2010 09:00:00 +0700</pubDate></item><item><title>A new screenshot of the CAS game (intended for #XBLA).
-Tidarat</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_l3ffw6G19m1qbv3h7o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;A new screenshot of the CAS game (intended for #XBLA).&lt;/p&gt;
&lt;p&gt;-Tidarat&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/659231899</link><guid>http://blogs.novaleaf.com/post/659231899</guid><pubDate>Thu, 03 Jun 2010 14:09:42 +0700</pubDate><category>xbox360</category><category>xna</category><category>XBLA</category></item><item><title>Blog: PC version of Biology Battle</title><description>&lt;p&gt;&lt;p class="MsoNormal"&gt;This announcement should come to no surprise, but I am really happy to let everyone know that “Biology Battle” is finally available on PC. Hooreyyyyyyy!&lt;/p&gt;
&lt;p class="MsoNormal"&gt;You could go get a copy today at Impulse: &lt;a href="http://www.impulsedriven.com/biologybattle" target="_blank"&gt;&lt;a href="http://www.impulsedriven.com/biologybattle" target="_blank"&gt;http://www.impulsedriven.com/biologybattle&lt;/a&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Now that Biology Battle leaves the well-protected/ no-piracy Xbox Live platform, I guess it was a matter of time until the game is available for free downloading (if you know what I mean).&lt;/p&gt;
&lt;p class="MsoNormal"&gt;As an executive producer, I am flattered for Biology Battle to be found “free” on the Internet so soon. I guess it was actually there even before the commercial version was out lol. As a team of game developers, we enjoy learning that there are more gamers playing our game. However, as a group of people who tries to make a living out of it, I guess this is not really delighting news.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Then, again…. looking at the posts on “a shared site”, I learned that the game still have bugs that needed to be fixed! These bugs weren’t discovered during our testing process, and haven’t been reported by our publisher either. :o&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Without the posts on this site, we would not have had some developers look into the issues yet. And, that would be a real bummer. I believe no developers want to have gamers be turned off from their games because of this type of problems.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Now, after reading my post to this point, do you think this glass is half full or half empty?!? ;)&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Thanks to all bug reporters. I really appreciate your findings. &lt;span&gt;&lt;span&gt;J&lt;/span&gt;&lt;/span&gt; Though, if it is not too much to ask, could you also pleaseeeeeee spend some money to support our game if you find it is fun to play?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;- Tidarat&lt;/p&gt;&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/655020396</link><guid>http://blogs.novaleaf.com/post/655020396</guid><pubDate>Wed, 02 Jun 2010 08:38:00 +0700</pubDate></item><item><title>Internship at Novaleaf #4</title><description>&lt;p&gt;    Novaleaf and The Daily Life&lt;br/&gt;&lt;br/&gt;    When I told anyone that I’m intern at Novaleaf ,they say ” Novaleaf? What’s it? I’m never heard of it!”. Yes,that’s right.&lt;br/&gt;In my province don’t have company that make the game. Only few people will know some of these like “Asiasoft”,”Goldensoft”,&lt;br/&gt;“One-net” but they’re only supplying or supporting the game that they opened. &lt;br/&gt;    so,What about Novaleaf?. Did you know a game console that called X-Box360? yeah,it’s from microsoft. In Thailand,&lt;br/&gt;Do you know that a company making game for X-Box?. For me,I’m never heard of it. But when I know about X-Box’s game called “Biology Battle”(from some X-Box game website.&lt;br/&gt;I can’t remember) then I try to find that game’s trailer on Youtube. When I’ve seen it,&lt;br/&gt;I think “Wow! it’s look so fun!”(I’m never played X-Box’s game becauseI don’t have X-Box at my house.Except it ported to PC). &lt;br/&gt;Next thing is I’m try to find who make it and I’ve found that it maked by Novaleaf. On the top of that, this company live in Thailand!. &lt;br/&gt;Then I think “Great! I’ll send my resume for internship to this company”. The result is they’ve accept me! yeah,that’s very good news for the whole week that they said they accept me to intern there.&lt;br/&gt;    Yeah,Novaleaf company is the best!. Full of professional and They’re so kind,althrough they have to do many work but they still have some times for you if you want them to teach or give some advice!. &lt;br/&gt;It’s a good opportunity to practice my english. I’ve learn how to work as team and system. We’ve meeting every day at 9.30 am. In the meeting we’ll said about what we do in yesterday and what we’ll do today. &lt;br/&gt;You can see how the progress is moving forward. I’ve leader and supervisor that so kind(oh,also my boss too. hahaha ^^ ).&lt;br/&gt;so,now I’m going to work now. ^^&lt;/p&gt;
&lt;p&gt;- Threetoss&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/648542469</link><guid>http://blogs.novaleaf.com/post/648542469</guid><pubDate>Mon, 31 May 2010 09:44:00 +0700</pubDate></item><item><title>Internship at Novaleaf #3</title><description>&lt;p&gt;  where are woman programmer?&lt;br/&gt;เปิดประเด็น entry มีเหตุเกิดจากความเหงา…นั่งเขียนโค๊ดเศร้าๆ แค่เราคนเดียว &gt;w&lt; ตอนเรียนเพื่อนผู้หญิงก็เยอะแยะ แล้วเรียนจบ หายไปทำอะไรกันนะ หรือเค้าแค่ไม่มาเขียนเกมกัน แต่จากที่ถามเพื่อนๆมาก็นะ ผู้หญิงน้อยจริงๆ น้อยได้อีก จะน้อยไปถึงไหน ไม่มีเลยจะดีกว่ามั้ง งุงิ&lt;br/&gt;&lt;br/&gt;&lt;บ่นเล่นๆนะคะ&gt; เข้าประเด็นที่มีสาระดีกว่า&lt;br/&gt;I’m here woman programmer! ตอนนี้มาเป็นเด็กผู้หญิงฝึกงานอยู่ที่ Novaleaf ได้เดือนนึง แต่นับวันที่มาจริงๆมีอยู่ 15 วันได้ เพราะได้หยุดในช่วงเทศกาลสงกรานต์ และเทศกาลเพื่อประชาธิปไตย งานที่ทำอยู่คือ pathfinding เป็นการหาเส้นทางที่สั้นที่สุดจาก startpoint กับ endpoint ที่กำหนดซึ่ง ตรงหา shortestpath นี่ไม่ได้ยากเลย เพราะเราใช้ algorithm A* ที่เค้าคิดมาแล้วมาเขียนแต่มามีปัญหาตรงที่จะ generate node กับ path นี่แหละ ที่มันไม่มี algorithm ให้มานั่งคิดเอง แต่คิดได้ไม่ครบทุกเงื่อนไข ต้องให้พี่เค้าช่วยดูให้ (เขียนใหม่หมดเลย T^T)&lt;br/&gt;&lt;br/&gt;why this woman like to be a programmer?&lt;br/&gt;ถ้าเราจะสร้างอะไรซักอย่างที่เป็นของๆเราขึ้นมา ส่วนตัวคิดว่า เขียนโปรแกรมสร้างขึ้นมาเนี่ย เป็นวิธีที่สามารถทำคนเดียวได้ ไม่ต้องพึ่งใคร โดยเราก็นั่งคิดๆๆ อาจจะคิดน๊านนาน แต่สุดท้ายก็คิดออก หรือคิดไม่ออกก็ตัด feature นั้นทิ้งไปเลย ^o^&lt;/p&gt;
&lt;p&gt;- Onz (Intern from KMUTT)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/633004606</link><guid>http://blogs.novaleaf.com/post/633004606</guid><pubDate>Wed, 26 May 2010 09:06:00 +0700</pubDate></item><item><title>Internship at Novaleaf #2</title><description>&lt;p&gt;ตอนเพิ่งเริ่มฝึกงานใหม่ๆ รู้สึกกดดันและตื่นเต้นพอสมควร&lt;br/&gt;เหมือนถือดาบของเล่นมา แล้วมาเห็นพวกพี่ๆ&lt;br/&gt;เขาใช้ดาบจริงตีมอนสเตอร์อยู่&lt;br/&gt;&lt;br/&gt;ผมประทับใจ ในวิธีการทำงาน&lt;br/&gt;ที่เน้นการศึกษา ค้นคว้าและทดลอง&lt;br/&gt;Novaleaf มีแหล่งข้อมูลดีๆมากมาย&lt;br/&gt;ไม่ว่าจะเป็น Textbook, Game &lt;br/&gt;และพี่ๆแต่ละคน ที่เป็นยิ่งกว่า Google&lt;br/&gt;ให้คำตอบเจ๋งๆ(และฮา) &lt;br/&gt;&lt;br/&gt;ผมตั้งใจจะนำความรู้และประสบการณ์ที่ได้จากที่นี่&lt;br/&gt;ไปทำเกมในงานจุลนิพนธ์&lt;br/&gt;รู้สึกว่าคิดถูกมากที่ได้มา&lt;br/&gt;&lt;br/&gt;ตั้งแต่ฝึกงานที่นี่&lt;br/&gt;มีความหวังและความรู้ในการทำเกมขึ้นมามากมาย&lt;br/&gt;ขอบคุณ Novaleaf จริงๆนะครับ :)&lt;/p&gt;
&lt;p&gt;- Bonnie (Intern from Silpakorn University)&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/627273792</link><guid>http://blogs.novaleaf.com/post/627273792</guid><pubDate>Mon, 24 May 2010 12:23:00 +0700</pubDate></item><item><title>Internship at Novaleaf</title><description>&lt;p&gt;Currently, Novaleaf has an opportunity to welcome 3 interns from 3 different Thai universities. Each of them brings diverse skill sets to Novaleaf and now working on different projects. I could keep writing about them in this post, but I think it would be better that you hear the intern stories from them directly. So, stay tune for their posts. :)&lt;br/&gt;&lt;br/&gt;It has been quite a few years now that Novaleaf has had an internship program. We provide each intern a mentor, and one additional on-job supervisor. All interns are guaranteed to be working in their area of study, and to receive help and feedback from our experts. No wonder that so far we have been receiving good feedback regarding our internship program.&lt;br/&gt;&lt;br/&gt;I do have a dream… to, someday, have interns with different skills, that we could form into a team for them to work with each other and create a small, complete game. It would be fun as well as a good way for the interns to experience a real working environment. Though, this dream requires advanced well-planning, and dedicated resources from Novaleaf.&lt;br/&gt;&lt;br/&gt;We will have to see when will be the right time to try this idea out. Who knows…. It might be sooner than we thought!&lt;/p&gt;
&lt;p&gt;- Tidarat&lt;/p&gt;</description><link>http://blogs.novaleaf.com/post/575651595</link><guid>http://blogs.novaleaf.com/post/575651595</guid><pubDate>Thu, 06 May 2010 14:41:00 +0700</pubDate></item><item><title>Hello, World (Again)</title><description>&lt;p&gt;&lt;a href="http://jasons-novaleaf.tumblr.com/post/476278597/hello-world-again" target="_blank"&gt;jasons-novaleaf&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;after a few years “guerrilla”  I’ve decided to setup Novaleaf’s public facing communications….  again.&lt;/p&gt;
&lt;p&gt;What’s different this time around?&lt;/p&gt;
&lt;p&gt;Well first thing is the available tools.  We have just finished setting up out new web infrastructure (using &lt;a href="http://www.google.com/apps/intl/en/business/index.html" target="_blank"&gt;Google Apps for Domains&lt;/a&gt;)  and using tumblr for aggrigated RSS feeds.&lt;/p&gt;
&lt;p&gt;I really want a system that lets all of Novaleaf’s employees contribute, so I hope this new RSS based system works.  Before we were using WordPress and their group-collaboration plugin (I don’t remember the name)  but that system was brittle, and required a custom install of wordpress.  This system is using off-the shelf “cloud” systems tied together with RSS feeds.   &lt;/p&gt;
&lt;p&gt;Fingers crossed that it works out well ;)&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blogs.novaleaf.com/post/478433459</link><guid>http://blogs.novaleaf.com/post/478433459</guid><pubDate>Sun, 28 Mar 2010 11:27:35 +0700</pubDate></item></channel></rss>

