I used a shader to create a transparent-ish sphere around the ship for a shield. Its transparency depends on its normals, so it's more transparent in the center than on the edges. I also played with making it "pulsate", but most people didn't seem to like it so I got rid of it. I can use the same idea to make the shield flash when it gets hit though.
I also worked on the radar. We have the images up, but it's not quite tracking correctly. The problem comes from translating the 3D coordinates to 2D. I might try to use a shader to do it since that's what they do anyway, but I'm getting really close using a quaternion, so I'll try that route a little longer.
Felix got some particle effects into the game, but since he got them from a sample on App hub, we really don't know how they're working. I had to tweak a few things about them to get the draw order right.
Tuesday, November 30, 2010
Tuesday, November 23, 2010
Post processing
I was out of town this weekend, so I didn't get a chance to do much, but I did start experimenting with post processing effects. There are so many cool effects we can achieve and I'm really excited about the possibilities. I found a tutorial about how to make a realistic soap bubble, and with a few tweaks, I can use the same principles to create a nice looking shield around the ship.
Thursday, November 18, 2010
Lasers, crosshair, scrum stuff and tweaks
I wrote a cylindrical billboarding system for the custom shader and used it to draw lasers. It looks ok, but I'm thinking of adding glow to the textures with post processing. If that doesn't look right, we might use cylinder models instead of billboarded textures. I added a crosshair to the screen when you're in first person view. I had to move the camera's position to the cockpit locator on the ship for it to look right.
I tweaked the input manager for a couple of functions - namely the camera switch and the pause. If you held down the buttons for those functions, it would keep switching back and forth so I changed them to only handle the input the first time the button got pushed. I also linked the resolution to the window size so when it gets changed in the options screen, the window actually changes.
I set up the next sprint and added backlog items and tasks and assigned them out to the team. For the art crew, I assigned Charlie the task of setting up their individual tasks and assigning them out to the team, but I did add backlog items for them.
I tweaked the input manager for a couple of functions - namely the camera switch and the pause. If you held down the buttons for those functions, it would keep switching back and forth so I changed them to only handle the input the first time the button got pushed. I also linked the resolution to the window size so when it gets changed in the options screen, the window actually changes.
I set up the next sprint and added backlog items and tasks and assigned them out to the team. For the art crew, I assigned Charlie the task of setting up their individual tasks and assigning them out to the team, but I did add backlog items for them.
Tuesday, November 16, 2010
Level loading and Normal mapping
I finished writing the shader to use normal map textures to smooth the ship and add detail. I did a quick test with one of Charlie's ships and it looks like it's working. Now we just need the art guys to generate some normal maps for the ships and it should look great! I found out that we can use the shader to have a "glow" effect, which would be great for our engines. Brandon would like me to see if I can get transparency working, which he wants to use to render the atmosphere's of planets. It would also work for a shield around the ship.
I got a "rough draft" to our enemies implemented. Right now they just show up at the given coordinates and start flying forward. I also implemented the system for loading a level built in Maya into the game. We can access the locators in the model and use those as positions for our assets in the game. For a quick test, I made a model in Maya with 8 locators and loaded 8 "dumb" enemy ships to the scaled coordinates of the locators.
I got a "rough draft" to our enemies implemented. Right now they just show up at the given coordinates and start flying forward. I also implemented the system for loading a level built in Maya into the game. We can access the locators in the model and use those as positions for our assets in the game. For a quick test, I made a model in Maya with 8 locators and loaded 8 "dumb" enemy ships to the scaled coordinates of the locators.
Thursday, November 11, 2010
Using Maya as a level editor
Brandon had the brilliant idea on Tuesday of using Maya to generate the data for our levels in the game. We decided to use locators in Maya to specify the points in space where we want things to be/happen in our level. The biggest advantage of this is that we don't have to hard code points for the assets. We just name the locators in Maya and reference them in XNA. In addition to the normal/bump mapping shader work I've been doing, I've also been working on getting a system in place to generate the levels this way.
As for progress on the shader goes, I found out that there is an effect file template in XNA for use to write your own shaders, so I've decided to write a whole shader for our game. It doesn't seem to be too difficult, but I was hesitant before because I didn't know the process behind creating a shader. Brandon has a friend that lent me a couple of DVDs that go over the whole basic process, so I feel like I've got a pretty good handle on it now.
As for progress on the shader goes, I found out that there is an effect file template in XNA for use to write your own shaders, so I've decided to write a whole shader for our game. It doesn't seem to be too difficult, but I was hesitant before because I didn't know the process behind creating a shader. Brandon has a friend that lent me a couple of DVDs that go over the whole basic process, so I feel like I've got a pretty good handle on it now.
Tuesday, November 9, 2010
Normal/bump mapping
I've been working on getting normal and bump mapping to work in our game so that we can use lower poly models but still have a nice polished looking game. The problem is that XNA's BasicEffect class doesn't support normal maps, so we're going to have to write our own shader.
I've been trying to figure out if there's any way we can use the BassicEffect for everything but the normal map. I don't want to have to write a shader that handles everything about the rendering process, but I'm starting to think it would be less work to just go ahead and do so.
Also, I've been trying to generate some decent normal maps for the current ship we're using to test the code, but I'm having trouble understanding Maya's process for creating normal maps. I think I finally figured it out last night, so we'll see.
I've been trying to figure out if there's any way we can use the BassicEffect for everything but the normal map. I don't want to have to write a shader that handles everything about the rendering process, but I'm starting to think it would be less work to just go ahead and do so.
Also, I've been trying to generate some decent normal maps for the current ship we're using to test the code, but I'm having trouble understanding Maya's process for creating normal maps. I think I finally figured it out last night, so we'll see.
Thursday, November 4, 2010
Space Skybox
I implemented the space skybox this morning. I had to create a model in Maya and throw a quick placeholder texture on it because the skybox Brandon created was a little too small. The method for drawing the skybox disregards the size of the box, but it was too small to fit around the ship, so weird clipping things were happening.
The drawing method is pretty cool. I got the idea from Reimer's tutorials. You attach the box to the camera and disable the depth buffer before you draw it. That way, the skybox doesn't cover up anything outside of it. You have to enable the buffer again afterward though.
The drawing method is pretty cool. I got the idea from Reimer's tutorials. You attach the box to the camera and disable the depth buffer before you draw it. That way, the skybox doesn't cover up anything outside of it. You have to enable the buffer again afterward though.
Tuesday, November 2, 2010
Mostly Management
We had two meetings this past week where we all got together to work on the code. I put a few more functions into the Input Manager to control the ship and fixed some little bugs I found in the Options Screen. I also added a roll capability to the ship after Felix changed the rotations to quaternions.
I posted several times to the group various suggestions and questions I had about the different pieces everyone's been working on, and answered other questions about how the model is supposed to work.
Most of the team has been pretty good about updating their pieces in the sprint, but there are a couple that I had to remind. Hopefully, they'll remember next time.
I posted several times to the group various suggestions and questions I had about the different pieces everyone's been working on, and answered other questions about how the model is supposed to work.
Most of the team has been pretty good about updating their pieces in the sprint, but there are a couple that I had to remind. Hopefully, they'll remember next time.
Subscribe to:
Comments (Atom)