Thursday, August 23, 2012

First Week


Exciting first week of classes. First time I have been happy to go to school do class work.  Two of my three classes are programming and both are very challenging, so I am very excited about working on both of them. The game design class will be fine if we can get into a significantly better room (like the lab).
Working with MOAI has been most of the work done this week. The game we decided on is going to be 3D, however MOAI only recently added 3D capabilities, and they are still underdeveloped and under-documented. There are no tutorials for doing anything in 3D. However after a lot of digging I was able to find a sample that was in 3D, and understand how it works thanks to game engineering 2. However their shaders seem very basic.
I cannot figure out how to set a shader's uniform variable differently for each object. I can set the uniform, but I cannot tell MOAI when to render an object. I need to set the variable, render one object, then change the variable and render another object and so on. So since it seems that MOAI lacks the capability to explicitly render an object (everything is just added to a big list and all rendered at once), I will not be able to have objects in object space. All of them will have to be in world space. This means that every object will have to have its own mesh and place in the vertex/index buffers. So if we have 1000 pieces of cheese, there will be a 1000 of them in the vertex buffer, instead of one that we just move to a 1000 places.
So it looks like we will be able to make the game, although if I hadn't taken game engineering 2 I don't know if someone else would be able to do the 3D. However I am very concerned about if it will be too much processing or memory for the capabilities of a smart-phone (specifically the less smart smart-phones). But we will see, and maybe if we run into low FPS problems we can look into cool tricks to improve it.