<< Back to Portfolio

DyRT Runtime Demo

This is the app in action. Note that you can fly through the scene using standard WASD controls just as you can with most WYSIWYG tools. The shaping tool is currently mapped to the RMB only because that was how InVidea did it in their version. I'm not too fond of that, so I think I will be modifying it to use the LMB and then change the camera point trigger to a specific key. Note that you can simultaneously edit the terrain surface and modify the texture blend map. Also, as additional details are added to the terrain shape, the terrain skin automatically subdivides to provide the necessary topology.



Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Introducing DyRT: Dynamic Real-time Terrain

Ok, I'm not the best at developing catchy brand names. But the basic idea here was to adapt HoloCore so that it could be used to create a dynamic terrain editor. This would be a system that could ingest elevation data, such as 16-bit or 32-bit TIFF's, or a simple 8 bit height map and produce a baseline terrain surface. This terrain surface model could then be modified using something akin to Maya's artesian tool or the tools found in Z-Brush and Mudbox. The textured surface could also be modified by creating and editing blend maps on the fly. So far I have gotten the push and pull behaviors down, and the texture mapping. However this required alot finagling and ultimately I had to adapt the code so much to perform as well as the InVidea version of this concept, I ultimately had to concede and begin hard-coding more functions into the runtime. This means that DyRT does not strictly adhere to the componets-over-inheritance construct that I originally tried to stick with from HoloCore. So DyRT is now a standalone engine that I would have to go back to the drawing board to integrate with my custom engine. But it works, and I'm pretty happy with it. Now I just need to create an interface that will store terrain edits to map files that could then be layered over the surface. This way edits can be uniquely tuned and rearranged, providing greater editing flexibility. READ MORE...



Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player







HoloCore 3D: 3D Game Demo

As a brief demo of HoloCore's 3D capabilities, I have created a scene with 900 instanced crates.
These crates are not prefabs in the true sense, but the instance core has been developed enough that I think can have that up and running by Summer 2016. The main purpose of this app was to demonstrate HoloCore's ability to cull instanced objects that are out of view of the camera, and then bring them back in quickly enough to avoid visible popping. The Crates also have rudimentary collision meshes on them for shooting them around the scene. I intend to expand the instancing capabilities by having the physics calculations take the same culling principle into effect. Essentially a crate will not check for collisions with any other crate outside of its own local view. This will drastically reduce calculations from a simple brute force (O^n) algorithm.



Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player







HoloCore 3D: 2D Game Demo

As a brief and slightly fun demo of HoloCore's 2D capabilities, I have been gradually developing a 2 player space shooter game. When complete, the player will have the option to play against the computer (thanks to the AI core) or over a LAN with another person (thanks the NET core). Currently, two players can still play on the same machine in different windows using different keys on the same keyboard. The game mechanics will be fairly simple. The ships will be able to travel apart from each other around a solar system. While they are each flying off on their own, the ship will be centered on the player's view camera. When they are in visible range of each other, the cameras will pan to provide visibility of both ships. As the ships approach, the camera will zoom in, keeping both ships within the safe action frame. There will be 9 planets (yes, I said 9 planets, not 8), each with different strength gravity wells and qualities that can be good or bad for the player depending on his ship's configuration. Players will be able to configure their ship in a variety of ways, but each strength they add must come at a price. Heavily shielded ships are easier to detect on sensors, large capacity containment ships are less maneuverable, heavily armed ships have less room for engines and thus have a lower max_speed, etc. These deficiencies can be overcome using the qualities of the planets. For instance, gravity can be used to slingshot a ship to move faster, and heavily shielded ships can hide close to a star or gas giant. I expect to complete this project by Christmas 2015.



Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Introducing HoloCore 3D: A custom DirectX9c game engine

HoloCore is a custom game engine I have developed using lessons learned from various sources. The system is designed to support both 2D and 3D applications, 3D audio, touch screen interface, basic multiplayer networking across a simple LAN, and a runtime scripting interface that could be integrated with LUA or Python. Performance of the system is not yet optimized, as this has largely been developed as a learning experience. Ultimately I will use this system to create a dynamic runtime environment that generates terrain on the fly from optimized, highly compressed GIS data, and populate the environment consistenty with the appropriate culture. The name comes from the handle "Holosim" which I have used often over the last 20 years, combined with the modular component-centric design of the engine which consists of multiple cores, each focused on a specific feature which the engine supports. Ironically, I considered calling it SimCore, which would be derived from my last name. But that name is already taken by Raydon Corporation. No code snippets or algorithms were taken from Raydon's SimCore GT engine to produce HoloCore. If there are similarities (which I'm sure they are for the more straight-forward functions), they are entirely incidental. READ MORE...



Rinkagu Dash

GSP 494 - Team D Game Project: Rinkagu Dash

The Alpha version of the student project Rinkagu Dash from DeVry's Senior Project course (GSP494) Team D is ready for download. Click the link to download the entire project package. Note that this file is over 320MB and contains the binary runtime application, the Unity project files, artwork, documentation and contact information for the project and team. READ MORE...

The runtime executable for the game can be downloaded HERE...