High Level Shader Language

I’ve barely scratched the surface of HLSL. It’s pretty confusing stuff to dive into. I did manage to pick up on some of the syntax, semantics and functions to program my first vertex and pixel shaders. Vertex shaders are executed once per visible vertex in the scene. Similarly, pixel shaders are executed once for each pixel drawn.

I never really knew what shader programming was until now. I think I now understand why companies might have a person dedicated to programming shaders on the team. HLSL is a very powerful language for making full use of a wide range of capabilities for the latest graphics cards. In short, learning HLSL is a bag of hurt, but it makes things pretty.

Advertisements

E3 2009

Wow I just watched 5+ hours of press conferences. Thank you Microsoft, Nintendo and Sony. The gaming industy is the place to be.

Homeworking

I was suppose to do my school homework this weekend, but  instead I did things like watch Pixar’s Up in Digital 3D (and now I want to watch all my movies in 3D),  go on a 6 hour bicycle ride, and eat weirdly addictive sushi rolls like the Nobody Home Roll for the first time courtesy of Wakame Sushi. So now I’m doing my homework today. Learning more about High Level Shader Language will have to wait until tomorrow.

E3 is upon us!

And that means an influx of videgame news awaits me to feast on. So many games to look forward to. The teaser on Mass Effect 2 has me interested in playing Mass Effect 1 again, but then again Dragon  Age: Origins will be out sometime in Fall to help tide me over. I don’t own a PS3 but Uncharted 2 definitely looks awesome. There’s actually a lot of sequels to look forward to: Bioshock 2, Lost Planet 2, Modern Warefare 2, Assassin’s Creed 2, Dead Rising 2 and several others. I also can’t wait to see what Nintendo has to show off for the Wii.

XNA Resources

If you’re a univerisity student at Simon Fraser, there’s a ton of XNA material available to you for free in the library. Just searching XNA in the online catalogue yeilds these results. Notice that the first 3 books “Zune Game Development using XNA 3.0”, “Learning XNA 3.0” and “Microsoft XNA Game Studio 3.o Unleashed” are available for online access. Another good source for learning XNA are the XNA Community forums. It was really helpful for when I was dealing with issues I had with exporting Blender models to XNA.

Still Learning…

I’ve been following some of the tutorials in Learning XNA 3.0 by Arron Reed. The book has been really great for getting me up to speed and learning 3D game development on XNA. I was able to create this demo using my own models created from Blender:

The video is recorded using a trial version for Fraps. Besides being able to record video from a videogame souce, it can also be used for benchmarking purposes with the statistics saved to file. I’ll likely purchase the software unless someone recommends something better to use. In the demo I slightly modified my previous spaceship model to look a bit better and loaded several of them to fly through space. I also created a first person camera to shoot spheres and implemented some basic collision detection using bounding spheres to determine whether or not objects have collided.

Currently there’s no texturing, I should probably look into that later on. Right now I want to try learning more about the HLSL (High Level Shader Language) used in XNA and implementing a particle system. After that I think I’m ready to actually begin work on my intended XNA game.

The world and all objects move and rotate around Chuck Norris…

I just finished implementing a 3D flying camera that moves forward, backward, side to side and rotates in yaw, pitch and roll. I did a similar thing on my Wii Will ROAM project (except without the ability to roll the camera). It’s great for debugging purposes even if I don’t end up using all of the movements of the camera in my eventual game. It’s also very likely that I’ll be re-using this component for other projects and games so I’m glad I spent the time making the system robust.

So far my demo consists of moving my camera around the spaceship model I loaded:

XNA 3D Model

I’m currently exploring 3D collision detection and making my loaded spaceship model shoot stuff. I’ll upload a video once I have something cool going on.

Blendering Blunders

I’ve been spending a lot of time trying to export models from Blender into .X files. I thought it would be trivial, but there’s actually a lot of complications that aren’t obvious. For one, Blender has the up-axis as the Z-axis instead of it being the Y-axis (like in OpenGL and XNA). This will lead to problems when exporting your models, and will cause further complications when you do transformations in XNA. To alleviate this just re-orient your model so that the Y-axis is your up-axis.

When exporting to .X, make sure you apply all modifications and export in the right-handed coordinate system which is what XNA uses. If you don’t, Blender will silently fail when exporting to .X so you won’t know the file is incorrect until you try loading the file and to compound that problem XNA won’t tell you why it failed to load the file. Anyways I’m pretty happy I got that all sorted out.

Now back to programming…

GDC Postmortem

Pros:

  • Keynote by Dr. Ray Muzyka and Dr. Greg Zeschuk on “Emotionally Engaging Narrative: Gaming’s New Frontier” was pretty awesome. I consider Mass Effect one of the best RPG’s this generation so I really enjoyed listening to these two talk.
  • The lecture “Go Indie or Go Home” by Jamie Cheng was the highlight for me. Excellent speech and very insightful.
  • The panel on “Industry Origin Stories: Or, How I Got My Awesome Job” was really fun and interesting. It’s nice to see how some of the top guys in the industry made it to where they are. Stories were told with a lot of humour.
  • Swag: Subscription to Game Developer magazine (comes with the pass), May 2009 issue of EDGE, rock climbing clip with compass, awesome paper/styrofoam planes. There were tons more, but I wasn’t thrifty enough to get all of them.

Cons:

  • Seminars “How to Get HR to Notice You” and “So You Want to Be In the Game Industry” were uninteresting for me. I didn’t really feel like I learned anything new that I haven’t already picked up from resume/career workshops at SFU. However, being reminded of all the tips and tricks for resumes and interviews is a good thing to brush up on once in a while.
  • Canadian gaming company presence on the Expo floor not as large as I would’ve liked. There were four: Radical Entertainment, Relic, Blue Castle and Next Level Games. Canada has a lot of talent and game companies. It would’ve been nice to see more of them out here representing for GDC Canada.

Was it worth the cost of admission ($100)? Yes.

caught me thinking