Iterative Refinement
This week has been primarily spent on refinement for future development (i.e., cleaning up the simulation, removing older file versions, etc.) to decrease file sizes and keep things running smoothly. Sean and I also spent a good deal of time taking our achievement from last week of getting the bucket to push particles and evolving that into a more finalized result. Technically speaking, we took very basic entities and replaced those with what will be similar to the final deliverable, both for testing purposes and proof of concept.
We also spent some time cleaning our polishing our prototype simulation so that we have something visually appealing and understandable to look at for our halves presentation. An example of this is below.
Technical Hurdles & Halves
This week has been spent working to develop the material simulation while preparing for halves. I’ve been working with Matt closely, providing him with updated meshes that allow for proper collision detection on the bucket. There were a few issues we were running into was that the bucket was not catching all the particles and some would get stuck inside the actual mesh, or the bucket would move materials and they wouldn’t leave the bucket properly. I’ve also been preparing for the next stage of the project which is implementing the MTL in Unreal for user control.
I’ve also taken point on the presentation for halves. Since our project is under an N.D.A with Caterpillar, we have to make sure that we aren’t saying anything that isn’t public knowledge. For a presentation like this, proper media and pacing are important, so I’ve been going over that multiple times to make sure that we aren’t missing anything.
Unreal power
Our team is now focusing the efforts in Unreal engine. This is the game engine made by Epic, and the latest version is Unreal engine 3. Since its first version it has had a huge success in the game industry, with many AAA games released using it. The ones that made it popular were the Unreal Tournament series, developed by Epic. These are first person shooters with high end graphics and fast paced action, with many game modes.
However, Unreal engine can be used for any purpose, not only first person shooters, such as Magna Carta, Ragnarok Online 2 or Batman Arkham Asylum, as well as training simulators and other types of simulators. That makes Unreal a good choice, as it has a big support from the community, and it has evolved to be very realistic.
Programming-wise, Unreal also offers a great flexibility. Using the Unreal script language we can choose whether to use the code that Epic has used to make the Unreal Tournament 3 game, which would automatically add to the game the typical things from a first person shooter, such as a weapon, a crossbar to aim at enemies, life bar and ammunition count. It also allows to add players, change through game modes and chat very easily. But it also allows to use more basic functions not related to first person shooters, and customize the application as much as desired. During our learning process of Unreal, we will be able to decide which parts we can reuse from Unreal Tournament, and which ones create ourselves.
Rocks, Dirt and Milestones
This week I have focused on pushing ahead with finishing the MTL. Now that I am getting closer to reaching the milestone, while running into a few technical difficulties, I have time to start polishing the MTL so that it will be as close to the real thing as possible.
In between long texturing sessions and trying out lighting to see if the materials will appear proper in different resolutions, I have also been making material assets for the current demo that is in the works. Mostly I have been focusing on making more believable rocks. These models also need to be highly optimized to work with the simulations. Right now I have made a few different types of CA-6 and overburden ranging in an assortment of sizes. I did this for two reasons, 1. so that Matt has a few types to try 2. these materials naturally have varied materials.
Once I am finished with the MTL, I plan on making different types of piles of rock and dirt that we will start to work with, having the MTL hit and break the materials into smaller pieces using triggers as well as piles that the simulated rock will be replaced with to help with optimizing the scene.
Significant Breakthroughs
There are some breakthroughs over this week. First, the problem of compiling the custom built Unreal game was solved, we could now build our own game and package with Unreal Front end. This pushes the progress of our research. Besides, the error of loading our own map was eliminated as well, our own experimental project ran well.
And, I was also focusing on building Unreal project building. Most of the work are done by the UDK editor, the unreal script normally works for the game structure and instantly operate parameters and properties. I tried some functions provided by the UDK system, some of them works fine and some still have problems and need to be solved.
I tried to get rid of the default weapon and the 2D UI, the weapon is easy to be culled, the 2D parts could be eliminated in run time console command but could not be done by scripts, this is still being working.
Screen shot from our project