This is a guide of how to use HTML 5 Canvas, as well as some JavaScript/css tricks to enable drawing on top of a web page. To see the result of this tutorial, open http://permadi.com/blog/?p=383. Canvas introduction is covered here and here. You need a browser that support Canvas such as Firefox 3 to run […]

March 17.  One of the four companies that went IPO this year is Changyou. Changyou.com, is the company behind Massive Multi-Playe Online Game Tian Long Ba Bu, made the biggest IPO offering so far in 2009.  Owned by parent company Sohu, Changyou was launched in 2006 and now has over one-million active users.     […]

This is a simple tutorial for a first iPhone application.  We are creating an iPhone application to display the word: Hello World.  It assumes that you have Xcode and the iPhone SDK installed (for steps to install Xcode and iPhone SDK, see this other guide). Step1 Start up Xcode. Step2 Create a new project (File->New […]

Until recently, I used to be able to right click on the Flash movie in a browser and select About Flash Player… menu, which will open the Adobe website showing what player version is installed.  Yeah, I know it says 9 already in the menu, but that’s not good enough.  Sometimes we developers need to […]

March 24, in Japan, a robot was introduced during a fashion-show.  Why a fashion-show?  Don’t know, reportedly, she walk on catwalk with models also. The robot is named HRP-4C.  It look closer to humans (or anime characters from video games) than other robots I have seen the pictures of, even with the Storm Trooper attire.  […]

In Flex, there’s a define directive, which is useful to enable/disable certain sections of your code.  The syntax is like this: -define=namespace::identifier,value It is similar to C’s #if #endif and #ifdef #endif feature. You can, for example, designate sections of code to be only compiled on Debug build.  Or to disable sections of code for […]

   What are these HTTP protocol status codes? Whenever a browser request data from a web server, the server must respond with a number.  The number indicates the status of the request (whether it has failed or successful, etc).  The number is taken from a set of codes called the HTTP protocol status codes.  HTTP […]

<<PREVIOUS | TABLE OF CONTENTS | CONTINUE >> To find walls, we need to check any grid intersection points that are encountered by the ray; and see if there is a wall on the grid or not. The best way is to check for horizontal and vertical intersections separately. When there is a wall on either […]

Ray-Casting Tutorial For Game Development And Other Purposes by F. Permadi PREFACE This document explores the fundamental theory behind ray-casting, a pseudo 3-dimensional rendering technique that are very popular in game development arena in the 90s.  In general, this document does not bother with implementation and coding detail. The discussion will be mainly about concepts, the implementation is […]