The figure showed above is built in a combination of 64 bit Direct3D platform and Release configuration, as required.
Some of the projects require windows platform specific methods which are wrapped in Windows.lib. It contains our own definition besides basic windows defined methods. And it locates in Engine section of the source code which is reasonable considering it's purpose and frequency being referenced.
Our build-generated files are located in a folder named "temp", which is excluded from source control. A main purpose for this could be saving time push/pull these frequently changed but relatively large-in-size files. It's helpful keeping them locally to avoid extra building time in real industry production though. But this may also cause serious problems. I'll take a personal example on that. In a Microsoft build server, there're different configuration about if clean up the previous build. Administrator could set it to completely clean up (intermediate and output), partial clean up (just intermediate), or no clean up. In my company, our gated check in build queue is set to be no clean up because it saves plenty of time (16 mins compared 4 hours) that more than 10 changeset could be merged per day. Of course, after passing gated check in. There're extra build servers and testing machines performing some verification procedure on that. Some one who doesn't perform full-build (all cleanup) on testing build queue merged in his change with bugs that polluted the gated check-in queue. So extra time would be spent on clean up the queue so that commits after could be merged in. I think it's always a good idea to keep the public-access domain as clean as possible, just as the same as being requested in this assignment.
As a way to work better with artists, we may want to get their work as input and get data we can use directly in code as output. The whole processing procedure is done by asset builder. The general part such as dissecting every possible kind of file and passing the data buffer through interface should be discrete from the actual game code simply because different game implementations could take different approach to further process these data buffers. This is also the reason why we may keep the general function into some section called "Engine" or "Tools", leaving only the specific traits into the actually game code.
I'm pretty sure this course will improve my design/architecture skill. And that's what I want most out of the class. Solid debugging skill may also come together. I really like the part of recording each class so that I can review that as many times as I can. By the end of the semester, I would say that I could get a further understanding of every procedure involved from translating raw data to in-game use data processing. I haven't got a particular detailed expectation of what exactly I want to get out of the class. But I'm generally interested in graphics related algorithm such as applying octree in ray tracing. This could be a little far from the course though.
Item below is the executable. It takes around 8 hours to finish this one.
I'm pretty sure this course will improve my design/architecture skill. And that's what I want most out of the class. Solid debugging skill may also come together. I really like the part of recording each class so that I can review that as many times as I can. By the end of the semester, I would say that I could get a further understanding of every procedure involved from translating raw data to in-game use data processing. I haven't got a particular detailed expectation of what exactly I want to get out of the class. But I'm generally interested in graphics related algorithm such as applying octree in ray tracing. This could be a little far from the course though.
Item below is the executable. It takes around 8 hours to finish this one.
assignment01.zip |