Saturday, November 20, 2010

Month 13: Engine Development 1, Machine Architecture 1 and the Orlando Coding Dojo


This month we learned a great deal on the structure of software whether it’s within a game or computer. In Engine Development 1, Jonathan Burnside taught us many techniques that come in handy when dealing with the common dilemmas faced when creating a game. In Machine Architecture 1, Ryan Van Dyke taught us how computers deal with memory and how we as programmers can gain access with assembly code.

In Engine Development 1 we covered topics like collision detection, spatial system hierarchies and camera behaviors. We had a refresher on our physics and used many techniques to implement our collision detection. During lab, we would have to write our own solutions for different modules in the engine. A individual project was also assigned in which we got to choose between implementing realistic shadow mapping or replacing a OpenGL rendering module with DirectX. I chose DirectX and learned a good deal of rendering techniques and tricks, as well as how to switch out module and the challenge of the unknown differences.

In Machine Architecture 1, we got down to bits and bytes again.  We learned how computers store complex numbers and addresses. We learned about the hardware and how it communicates throughout different systems. The labs were in assembly it was interesting to get down to such a basic level dealing directly with registers, the stack and basic functions. 

The second half of the month brought the Orlando Coding Dojo to our school. The dojo consists of programmers of every level coming together for a couple of hours to work on one random exercise in a random language. We go by the “Test Driven Development” ideology. We start by discussing good tactics about structuring the objects and tests. Then pairs come up to the computer in five minutes intervals. The Pilot is the one on the keyboard while the Co-Pilot is the one talking him through it. We don’t focus on completing every single task just as much as we can. At the end talk about what went good and what could have been improved. I learned a lot and had a great time this month.