Skip navigation

I posted the following on the Card Kingdom development blog.

Two features of Havok Physics that we will be using for this game are the character controller and phantom collisions. The character controller is used, as the name suggests, to control a physical body as user controlled object. It handles the various states a character can be in: on the group, wanting to jump, in the air, climbing a ladder, flying, etc. It also supports custom states as well, so crouching, swimming, any state that the physical representation of the body needs act differently in, it handles.

Read More »

The main project for Computer Graphics II was to write a ray tracer that supported multiple geometric shapes that could be rendered, multiple shading and lighting models, and multi-sampling for a smoother and more high-fidelity image. As a graduate student, additional functionality was required for the project. I decided to replace the standard pinhole camera with a more realistic camera model, as well as distributing the rendering processes across multiple networked computers.

Read More »

I posted the following on the Card Kingdom development blog.

Another new feature for the engine this go-around is an enhanced UI. Our previous UI was built using objects and custom components for each type of widget. Buttons, text labels, sliders, and other such controls could be placed in the game interface with a few custom animations, such as sliding in and out of the frame and rollover/highlight states. These controls functioned well and were pretty simple to use and extend, but it took a lot of initial work developing the widgets that could have been used in other areas of the engine.

Read More »

This plug-in simulates how a wiki links between pages. By specifying the root URL of the wiki, terms in normal HTML can link to the corresponding wiki page. It also supports the use of aliases for terms.

Read More »

I posted the following on the Card Kingdom development blog.

Integrating Havok into our engine has been a slow, arduous, yet rewarding experience. The main feature that makes Havok such an ideal solution are the tools. Exporters for common 3D modeling programs, preview tools and visual debuggers make the development process a much more pleasant experience. Without these tools, we would have to rely on our engine, which is still a work in progress.

New models, animations, physics interactions and property tweaks would have to be tested in the engine with massive amounts of debug information displayed. The process for testing would be: model or code, export, import into the engine, maybe recompile the engine, run the application, test, find errors, make adjustments, repeat. That process is time consuming and unproductive.

Read More »

I posted the following on the Card Kingdom development blog.

This week I will be working on integrating Havok Physics into our engine. Our previous engine used Newton Dynamics, of which I have previous experience with on other projects. I hadn’t used it in a while before the previous engine so I had to get reacquainted with the API. It hadn’t changed much on the outside, but how physical interactions and materials worked was completely new. In the end, I managed to wrap Newton in a logical and useful way.

Havok and Newton share many of the same concepts, but their implementations could not be more different. Newton is a C API, with discrete functions for handling all aspects of the system, while Havok is a C++/object oriented approach. The more I learn about Havok, the more I appreciate Newton for its relative simplicity. I’ve only scratched the surface of the iceberg that is Havok physics.

DirectJ adds support for DirectX 9 in Java. The design is meant to be as close to the original C/C++ API as possible. This is to ensure ease of use for current DirectX 9 developers to switch between the original and the Java implementation.  Currently, only Windows is supported, but with projects such as Wine, other Unix based platforms could use the API.

Read More »

I posted the following on the Card Kingdom development blog.

One of the new features that I wanted for the engine this go-around was the ability to script the entire engine. Previously, any change to the game, be it game play, adding a new component, or what have you, required a full recompile of the code base. This takes time and we are constantly discovering that time is the one thing in short supply. Scripting the entire game would mean that any changes, updates, fixes, etc. would only require a restart of the application. Testing time would be drastically reduced. Problems could be resolved quickly and efficiently with minimal time wasted. Smaller applications, such as a model viewer or an in-engine editor, can be quickly created and aid in the development of the actual game.

Read More »

Smash Force is a 2D top-down shooter consisting of multiple levels, enemies and weapons made for Foundations of 2D Graphics Programming course at RIT. In the 10 week course, we designed and implemented the entire game starting from scratch.

Read More »

Bloxen Wars is a 3D third-person networked multiplayer game made for Foundations of 3D Graphics Programming course at RIT. In the 10 week course, we designed and implemented the entire game starting from scratch.

Read More »