So this is the final sprint before alpha. The first thing I did this week I worked with Ron to finalize our information layer conventions. Basically, we have no editor for our game. At all. So we're using Maya, instead. What we're doing is we're splitting a level into 3 separate .fbx's: display.fbx, which gets drawn, collision.fbx, which goes to the physics engine, and an information.fbx. Information.fbx contains placeholders for all the other entities. Lights, routes, ability pickups, objectives, etc. We're embedding a little bit of data in the mesh names themselves, then Ron's loader can iterate through all the meshes in a model, look at their names and transforms and act accordingly.
The other thing I worked on is a multiplayer level. Last sprint, Blake had mentioned in our stand up that he was working on multiplayer, and had met some milestones there. I decided that it was kind of important to have a level to go with it. So I did that. for a couple days fairly solid. I missed the art lock by about a day but not for lack of effort.
Since then I've just been working with Ron to fix any random little things I missed, like incorrect texture references, a couple missing colliders, and a random bug where all the faces on a few objects were reversed. It didn't display them as reversed in Maya, but they were, oddly enough.
Capstone Development 2012
A dev blog from Kelly Harper.
Sunday, December 2, 2012
Tuesday, November 27, 2012
This sprint
This sprint, I've made a samurai hat to give to the enemies to distinguish them as such, some scrolls for powerups, or whatever, a shrine, to put in the grave yard. That turned out nicely. Side - note, I was originally planning on using text from actual authentic scrolls, upon further reflection, I decided that probably wouldn't be the best idea given that I wouldn't actually have any idea what they would say, and that just seemed like a bad idea all around For all I know, it could have been an old list of the various Japanese synonyms for 'dong.' Therefore, I found some translations of 'common signs' and used those instead. One of the scrolls says 'parking', while another says 'remove your shoes'.
I've also been working on tombstones as well, particularly the weird altar type tombstones you see scattered across a graveyard, only Japanese styled, or at least what the internet alleges is Japanese. The tombstones, the shrine, and the graveyard walls from last sprint should complete the graveyard area, sans other details like foliage.
I may perhaps get to that this sprint, however, I think it's a little more important presently to pump out some architectural elements so we can prefab us some random buildings.
I've also been working on tombstones as well, particularly the weird altar type tombstones you see scattered across a graveyard, only Japanese styled, or at least what the internet alleges is Japanese. The tombstones, the shrine, and the graveyard walls from last sprint should complete the graveyard area, sans other details like foliage.
I may perhaps get to that this sprint, however, I think it's a little more important presently to pump out some architectural elements so we can prefab us some random buildings.
Last sprint
Last sprint I worked on building some tile-able modules so we could make things like walls and such by way of just copy-pasting. I really like the way the roof edges turned out. 'Happy accidents', eh?
I also did some more testing stuffs. For some reason, the method that we've been using to differentiate object types in the fbx stopped working. Something to do with the physics engine and sending it 'meshes' as opposed to 'models'. Therefore, we elected to come up with a new structure, wherein the different object types are to be separated into their own fbx files.
I also did some more testing stuffs. For some reason, the method that we've been using to differentiate object types in the fbx stopped working. Something to do with the physics engine and sending it 'meshes' as opposed to 'models'. Therefore, we elected to come up with a new structure, wherein the different object types are to be separated into their own fbx files.
Wednesday, November 7, 2012
Natural textures
This week, my primary assignment was to work on textures, most of which were natural materials, i.e. dirt, grass, rock, sand, etc. These proved a bit of a challenge on account of the fact that I just couldn't figure out how to paint those materials. So I came up with a method to turn a photograph into something that matches our style more closely. I feel satisfied with the result, although it does feel a bit like cheating. Additionally, I discussed AI algorithms with one of the programmers, and how it interacts with level design.
Wednesday, October 31, 2012
A non-halloween themed halloween post
So this week's assignment, for me, has been to make some objects.
Well I did that. I made 5 lamps, a barrel, and a crate, and I decided
to do a quick lighting test, because I was worried that the models and
textures alone didn't create enough definition. That worked out great.
Afterwards, I decided to do a mid-scale test of the light-mapping workflow. That didn't work so great. at all. I had 2 problems: time and quality. As it turns out, baking light maps in Maya takes considerably longer than the equivalent render, for some reason. I don't know why. Well, I can see it taking a bit longer, but not as much as it does. Secondly, it took a 4k light map texture just to look acceptable. Mind you, that was only for those 7 objects, not including the floor. The problem was really just texture bleeding. Both from the space in between UV shells, and internal, hard edges. The result was that edges that were cut were outlined with black, which is fixable in Photoshop, and edges that weren't cut looked soft. If the light across an edge gets blurred, it looks... blobby. Not cool.
So that pretty much murders the whole light mapping idea entirely, unless someone else has a better idea of how to go about it, which is sad, because that means we can't do nearly as much cool stuff with lighting. It wasn't a total loss, though. I still figured out how to do make the lamps work in XNA. In Maya, I used incandescence maps to fake back-lighting on the paper, there. Essentially, incandescence just adds directly to the result color. That is, if lambertian shading is light * diffuse color (where light is sum( light vector . surface normal) across all lights), then lambertian shading with incandescence is light * diffuse color + incandescence. Using what I learned from writing the light map shader, I could pretty easily modify a lambert shader to include incandescence.
Afterwards, I decided to do a mid-scale test of the light-mapping workflow. That didn't work so great. at all. I had 2 problems: time and quality. As it turns out, baking light maps in Maya takes considerably longer than the equivalent render, for some reason. I don't know why. Well, I can see it taking a bit longer, but not as much as it does. Secondly, it took a 4k light map texture just to look acceptable. Mind you, that was only for those 7 objects, not including the floor. The problem was really just texture bleeding. Both from the space in between UV shells, and internal, hard edges. The result was that edges that were cut were outlined with black, which is fixable in Photoshop, and edges that weren't cut looked soft. If the light across an edge gets blurred, it looks... blobby. Not cool.
So that pretty much murders the whole light mapping idea entirely, unless someone else has a better idea of how to go about it, which is sad, because that means we can't do nearly as much cool stuff with lighting. It wasn't a total loss, though. I still figured out how to do make the lamps work in XNA. In Maya, I used incandescence maps to fake back-lighting on the paper, there. Essentially, incandescence just adds directly to the result color. That is, if lambertian shading is light * diffuse color (where light is sum( light vector . surface normal) across all lights), then lambertian shading with incandescence is light * diffuse color + incandescence. Using what I learned from writing the light map shader, I could pretty easily modify a lambert shader to include incandescence.
Saturday, October 20, 2012
I think I skipped a week...
The model is comprised of 9 cubes. The diffuse texture is applied 4 times per face, and there's 6 faces per cube. 9*4*6 = 216. So from an efficiency stand point, 21600% of that texture is being used, compared to the lightmap, which, as you might be able to tell, is using maybe 85% of the texture space, but at the same time, that light map would not be possible with the 'more efficient' repeating UVs.
So for the rest of the weekend, I'll be making textures, and maybe some small objects like lamps, or maybe some architectural elements.
Subscribe to:
Comments (Atom)
