Caleb Gray

Engine Programmer

Home> Research
Research
Canvas Game Prototype

This is a test using the new HTML5 Canvas API. It is written entirely in JavaScript. If all you see is a blank page, just refresh the page (by clicking the refresh button, using F5 or Apple+R will not work).

Canvas Game Prototype

 
Advanced JavaScript

I've made all sorts of small scripts for websites, ranging from JavaScript popups to AJAX. This research was to see how powerful of an animation engine I could make while incorporating AJAX in to it.

http://www.calebgray.com/uploads/work/serious-business/

The Diablo 3 animation (Copyright Blizzard Entertainment! Don't sue me! Big fan! <3), is a large series of JPGs being animated by the object oriented tween class that I wrote in JavaScript. There is also a queue so that animations don't hinder event oriented programming, try hovering your mouse over all of the menu items quickly to see this in action. Clicking on "About Me" then "Home" shows how the animation engine can use callbacks to interface with AJAX for a seamless page transition.

 
Open Source Kernel

A proof of concept OS that I wrote entirely in C++. It is bootable on any x86 PC, has a VESA video driver, USB input, an Interrupt Manager, a Memory Manager, a Standard Library, and a Kernel.

Screenshots: 123

 
Shorten a Link

I created the following after getting fed up with instant messengers blocking several legitimate domains, or just when pasting long links to friends and scaring them with the sheer size of them. Take the following for example:

From: http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=3419+Beacon+Ave+S,+Seattle,+WA&aq=&sll=37.0625,-95.677068&sspn=35.547176,79.013672&ie=UTF8&hq=&hnear=3419+Beacon+Ave+S,+Seattle,+King,+Washington+98144&z=16


To: http://go.calebgray.com/m


That's much better when we're talking about sharing links in IRC. Why not use tinyurl? As a side benefit, I can update these short links to point to a new destination anytime I want. A useful link one day, Rick Roll'd the next. :P

 
Infinity Network Engine

The Infinity Network Engine is a simple but powerful event oriented, UDP based, server-client networking engine. Its event oriented design allows programmers to focus on writing functionality, rather than advanced and difficult networking code.The Infinity Network Engine has been written to be very portable and can be compiled inline as part of a project or externally as a library.

Read more...
 
I Love MUDs

I used to love playing text-based MUDs. They were my inspiration to write my own MUD. It's short and sweet... but it is a complete MUD engine that could be used to create an advanced and enjoyable game.

I Love MUDs

 
Save the Guys

This is incomplete, but fun. Save your friends from the dangers of a world that does not exist yet, because I haven't gotten that far.

Save the Guys

 
Physics Test

This was a very simple ActionScript 3 physics demo that I wrote in a couple hours as a test of my object oriented programming ability. I was not allowed to take more than two hours... otherwise some of the variable and function names would have conformed to a better standard.

Flash Physics Test

Ported to HTML4 and JavaScript