Archive for February, 2010
Today I checked in the first update to Sprite Sheet Packer in a few months. Inspired by a discussion post I somehow didn’t see for a few months and my own realization of the usefulness, I extracted the build process of the tool into a command line application and made the UI tool simply a [...]
A number of the built in types you load through ContentManager in XNA have a Name property. Most (all?) don’t actually set this at any point; it’s just there for you to use. I like to use these names for various things and I’m sick of setting them all manually. So I started out to [...]
Since my last update to my exception handling code that showed how to handle using GamerServices in the exception game after the first game uses it, I’ve found out a much, much better way to handle this scenario. The key here: don’t use the GamerServicesComponent. The GamerServicesComponent is a very minimal wrapper on top of [...]
For my new game, I still am sticking with a retro feel of blowing up sprites 4x their original size to give them that blocky look. However, unlike Pixel Man where I did this as a “post process” by rendering the whole game tiny and scaling that up, I want to scale up each sprite [...]
C# has this ‘yield’ keyword for all sorts of crazy voodoo. Maybe I’m just late to the party, but it seems like this is one of those tricks you learn from really smart people (as I did) and realize that there is so much you don’t know about a language. You might want to start [...]
Let’s talk tech. Presumably, because you’re reading this blog, you’re a geek like me. That means you like shiny new toys and the latest software that hasn’t even reached RTM yet. That means you probably have Visual Studio 2010 (beta or the recently released RC) and/or the Visual C# 2010 Express Edition and want to [...]
Yesterday I twittered out a quiz: C# pop quiz. Without testing, what is the value of x here: ‘var x = 10; x += x--;’? A lot of people guessed 19 while a few guessed the correct answer of 20. Looking at the IL posted by TehGrumpyDude, we can see what happens on the stack [...]
That’s right! Now that YouTube supports a nice high definition option that lets you actually read text, I went ahead and cut up all of the tile engine videos into segments less than 10 minutes (YouTube’s length limit which is oddly short considering their size limit is 2GB per video…) and put them all up [...]
After quite a lengthy Twitter discussion between myself and a bunch of other folks, I feel like I should use more than 140 characters to try and explain what I’m doing. First of all, what am I going for with Shader Toy. The goal of Shader Toy is not to replace Render Monkey or FX [...]
I’ve spent a good amount of the weekend thinking up designs that would allow me to quickly add new UI types into Shader Toy to support all sorts of parameter types. I think I’ve finally got something that works fairly well. What I’ve done is create a very simple interface that represents what a given [...]
One thing I want to support in Shader Toy is the idea of formulaic parameters. For example, any float parameter might define itself in the UI as: time * 2 + otherParameter^2 Where ‘time’ is a value supplied by my editor for the total running time of the editor and ‘otherParameter’ is some other parameter [...]
I made a bit of progress on my parameter editing today. I have the app fully parsing down parameters and retrieving their values from the shader, and have the starts of the UI for editing in place. I’m using attributes (specifically a UIType string) to instruct what UI should appear. I also plan to use [...]
Decided to add a little bit of extra features onto Shader Toy before plunging into the next big step of editing parameters. Basically those features boil down to your standard new/open/save File menu, options for choosing one of a few basic primitives for the model (eventually I’ll support imported meshes, but not yet), a split-pane [...]
Yesterday I started work on getting parameters and annotations from the shader in the hopes of eventually generating a UI with which one can modify them. Annotations will be used much like other shader apps giving hints to the UI such as min/max values, UI types, and other things. So far it’s coming along, slowly [...]
A few of my colleagues were discussing F# today and when/where/how it is/isn’t better than C#. I haven’t ever really used F# beyond a very, very brief look at the syntax, so tonight I decided to see what it was all about. As a little project, I decided to make Pong with XNA Game Studio [...]