Dream, Build, Play

January 7th, 2007

Just thought I would make sure to let everyone know that Microsoft is throwing an official competition for XNA Framework developers. Prizes seem to include a spot on Xbox Live Arcade, although nothing has been officially said in that matter yet. Everyone get cracking on a game.

I want to see some good competition :)

More Weekend Brewing

December 3rd, 2006

My roommate Nick and I put together a nice Irish Red Ale a few weeks ago, and it is happily bubbling away in the primary fermenter. I am hoping to get time today to rack it off to the secondary sometime later on today, but that will depend on how much time I need to get some more programming projects done.

On a similar note, the batch of mead we did back in October has been bottled and is aging nicely. We did a spied apple cider mead, which I guess would be called a Metheglin Cyser. It isn’t very pretty to look at, as we made the cider ourselves simply by boiling the crap out of a bunch of apples and spices, and I don’t have much of a filtering method to get all the apple sauce that is left over out. We have saved some small bottles on the side for tasting as it ages and so far it is working out pretty well.

The batch of Huckleberry Hefeweizen I did a while back is kegged and would be mostly if not entirely gone had I not run out of CO2 leaving me with no way to get the stuff out of the keg. I’ll get some more soon. Wouldn’t want to see good beer going bad.

We Made GameInformer!

November 12th, 2006

Well, it’s official. We have a link in the November edition of GameInformer. There is an article in there about XNA Game Studio Express and the budding homebrew gaming community that has been springing up around its betas, and The Hazy Mind is one of their links. I’ll get a picture of the thing up when my digicam batteries charge

Update: Here’s the pics (click for larger)

Updates Complete!

November 8th, 2006

All of the tutorials have been updated to the Beta2 of the XNA Framework. I would suggest going through them again from the beginning as a lot of stuff has been changed to better work with all the changes within the framework itself. Source zips and pdf versions of the tutorials can be found in the forums here

Forums are up!

July 22nd, 2006

Well, I got to it and posted the forums for everyone. I decided to go with an installation of SMF because of my deep seeded loathing for the phpBB codebase that the O.C.D. in me will not let me be happy with.

The forums are located at http://www.thehazymind.com/smf, so for all of you who have something to discuss about the Hazy Mind 3D Engine, Hazy Mind Scene Editor, or just 3D game development in general, GET POSTING!!!

Have fun, but not too much. Moderators are being added soo

Forums Anyone?

July 11th, 2006

I have been noticing for quite a while now that there have been mini conversations going on in some of the comments on my blog here, and I was wondering what everyone would think if I simply install some kind of forum for you all to use as well. I would love to turn this site into a general resource for Managed DirectX, and the community component is a very large part of that.

For arguments sake, if I do install some forums, which would everyone like to see on here the most?

Brewing away… (Homebrewing, that is)

June 17th, 2006

So last night (Friday) I brewed a batch of beer with my neighbor Travis from the other building. It was the first time I had ever done any homebrewing, and I am excited to see how it is going to turn out. We started out with a recipe for Jeffery C. Grisold’s Black Lager, and we ended up getting fairly close to it with the ingredients available at the homebrew store here in town.

Now, I know what you are thinking, “An all grain mash with 15 lbs of Malted Barley for your first batch ever… are you crazy or just plain stupid?” Well, actually it’s both, but so far as I can tell the beer has turned out fine. Even for a first batch. I modified our recipe to not only use our available ingredients, but also to use the temperature controlled step mash procedure in Charlize Papazian’s, “The Compete Joy of Home Brewing (3rd Edition).” For those of you who would like to try it out, the entire procedure is listed below.

  • Malts
  • Color (Lovibond)
  • Amount (lbs)
  • Great Western 2-row Domestic Malt
  • 1.8
  • 10
  • Light Munich Malt (2-row)
  • 6.5
  • 2
  • Briess Organic Caramel Malt
  • 60
  • 1
  • Briess Black Patent Malt
  • 500
  • 1
  • Organic Chocolate Malt
  • 350
  • 1
  • Hops
  • Alpha %
  • Amount (oz)
  • Domestic Hallertauer 2005 Loose Raw Hops
  • 4.75
  • 4
  • Domesitc Simcoe
  • 13.3
  • 2
  • Yeast
  • San Fransisco Lager Yeast #WLP 810 (Pitchable Liquid)
  • Other
  • Specs.
  • Amount
  • Gypsum
  • -
  • 2 oz

Procedure

  • Bring 16 liters of water with 1/2 tsp. Gypsum to 145° F
  • Add crushed malted barley and hold at 135° F for 30 min.
  • Add 7.1 liters of boiling water with 1/2 tsp. Gypsum
  • Hold at 155° F for 45 min. then raise to 158° F for 15 min.
  • Sparge to 28 liters or until the brew pot is full, bring to a boil
  • Add Hallertauer (bittering) Hops and boil for 58 minutes
  • Add Simcoe (flavor/aroma) Hops and boil for 2 minutes
  • Cool to 70° F, pitch yeast, pour into primary fermenter (should have about 21 liters)
  • Once fermentation begins, keep fermenter at 55° F for 2 weeks
  • Rack into secondary fermenter and keep for 1 week at 55° F (should have at least 19 liters)
  • Bottle or Keg (with appropriate priming sugar added) and condition for 1 week
  • Drink your Homebrew!

Back to Business

April 25th, 2006

Well, school is just about out here and the summer is on the ay. You know what that means. HARDCORE CODING TIME. Well, after work and taekondo of course ;) , but I should have plenty of free time to get going on writing some more tutorials. Recent activity on the site suggests people are craving more, so I am going to get down to business and give the people what they want. Let’s just hope the continuing work lives up to all your expectations

Another V-Day down the tube

February 15th, 2006

Well, that’s two years in a row now that I have managed to be single on Valentine’s Day. Although it is the cheaper way to go, it is definately not the most pleasant way to spend the day. Of course, I wasn’t really all that worried about today in general. What I am worried about is what I am going to do with these reservations I have at Chico Hot Springs the first weekend of March.

It would have been a great anniversary weekend but as the song says, “but because there’s no more you, there’s no more aniversary.” You being the reason I made the reservations in the first place. I sure as hell am not spending the weekend there alone, but I don’t want to just ask some random cute girl to go with me since that will immediately sound:

  1. A little creepy
  2. A little like I am trying to get laid…
  3. A little like I am about to kidnap someone
  4. Really Pathetic
  5. Like the most elaborate pickup line ever

Regardless of how many of the above are true… I am still not going alone. I would just hate to have to cancel them as they are very difficult to get without calling insanely far in advance (at least the private cabin that I got is…) Oh, well. I guess I’ll just look for someone who won’t think it is too creepy/weird/pickupliney and hope for the best.

Giving ourselves some Objects for Play

February 6th, 2006

One thing that I have decided is missing from our HMMesh class is a way to generate simple default meshes that come with DirectX like the torus and teapot (instead of adding lines to our class everytime we want to test a shader with a round object like I had been doing.) The changes neccessary for this function are very minimal, and so this will more than likely be the shortest tutorial of the whole series, but we will probably use a lot of these objects when testing our physics later.

Step 1: Adding a Default Object Constructor

To let ourselves pick from the 5 included default meshes, I decided to simply duplicate the constructor in HMMesh and take an integer instead of a string for the first parameter. Here is the new code:

private int myType = -1; public HMMesh(int meshType, Vector3 pos, Vector3 rot, Vector3 scl, Device myDevice) { myType = meshType; myPosition = pos; myRotation = rot; myScaling = scl; ReloadResources(myDevice); myTimer = new FrameworkTimer(); myTimer.Start(); } // At the top of the old constructor myType = -1;

Now that we have our constructor set up, we will need to modify the ReloadResources() function to implement our new default object behavior. This is as simple as adding an if else with a switch inside. The top of ReloadResources now looks like this:

ExtendedMaterial[] mtrls = null; if(myType != -1) { switch(myType) { case 0: myMesh = Mesh.Box(myDevice, 1, 1, 1); break; case 1: myMesh = Mesh.Cylinder(myDevice, 1, 1, 3, 32, 1); break; case 2: myMesh = Mesh.Sphere(myDevice, 1, 32, 32); break; case 3: myMesh = Mesh.Teapot(myDevice); break; case 4: myMesh = Mesh.Torus(myDevice, 0.25f, 0.5f, 32, 32); break; default: myMesh = Mesh.Teapot(myDevice); break; } myMaterials = new Material[1]; myTextures = new Texture[1]; } else { myMesh = Mesh.FromFile(myPath, MeshFlags.Managed, myDevice, out mtrls); }

There you have it. A very simple way to add quite a few new objects to the world. Now I just have to think of a use for them!

Do NOT follow this link or you will be banned from the site!