This is a demo built as part of my videogame middleware module using Gamebryo 2.5 and C++, it integrates a few middlewares as well as my own middleware which provides a skydome system, FMOD and other middlewares that are credited on the information screen.
At the backend of the system, are a 3D menu system, a state system, an asset management system. For the game, there is a collision system capable of reading components loaded with the “collideable” flag from the scene designer and add them as pickeable.
The ship is controlled through a flexible controller system of chase camera and ship controller, the chase camera controller can follow smoothly an entity and avoid clipping the terrain, the ship is controlled through the ship controlled that applies velocity and steering.
The entity that has the ability to chat, is also loaded based on a “chat actor” flag that be attached to any entity through the scene designer.
The game is very simple and is more of a technichal demo, the player is put into the world and needs to be pickup all of the rock samples available around the environment, if the player finds the alien entity it can choose to speak with it and finish the extra task of finding the precious stone it is looking for.
FMOD is integrated through a wrapping system, that wraps FMOD completely and allows it to be used flexibly throughout the game.
This is a recent demo and part of my personal project into creating a rendering framework, as part of it I created a physics system and physics management using C++ and DirectX, it currently only supports bounding spheres but has the facilities to be extended to any type of bounding volume, variable gravity and world bounds.
This is a work in progress I have developed in my spare time, its a real time strategy demo built using the DX Studio 3D Engine, its emphasis is on gameplay, the demo contains the following features:
This project is all about large scene optimization, in this demo there are 1000 tree objects placed on the terrain, the terrain is split using submesh and Octree partitioning techniques and both trees and terrain are frustrum culled according to their axis aligned bounding box.
The objects also benefit from Occlusion culling and 3 Levels of Detail (LOD) that are distance based.
This project that was produced for the Advanced 3D Graphics module, is an implementation of the Parametric Shallow Wave Simulation article posted by John Drasek III on the Intel Software page, its intent is to create a way of ocean interaction with the shore using the GPU, a texture gradient is created that models the shore.
That texture is then sampled to model the sea bed and produce the shallow wave simulation through vertex displacement.
The two samples used on the video to map the ocean floor:
Here is the video of the final result with no special texturing techniques just vertex displacement and the calculation of the shallow wave simulation on the GPU, VS 3.0
This project is all about skinned meshes and animation, the aim was to create a skinned mesh working class that could be used on different entities and play different animation using different controllers using DirectX , it supports both software and hardware skinning and a procedural lookAt. In this example the meshes all look at the box on the screen.
Each character can be selected using the mouse and controlled around with different animations that are blended with a lookAt.
This project started as an attempt to create a reusable framework to add AI simulation to game agents, at the moment it also includes a 2D rendering framework XDrawer which I am going to use for prototyping when I get more time I will extract XDrawer from this project and make its own project.
This is the first iteration of this project, the agents use the Finite State Machine to find the path to a random point on the grid, the steering system then makes the agent follow the path and avoid other agents, the green dots are currently blocked nodes, the path is calculated using A*.
The collision system needs perfecting as well as the frontal detection system of each of the agents, the triangle represent the agent view green rectangle means no obstruction detected, red rectangle means the agent found an obstruction ahead.