Wednesday, January 31, 2007

My love for you is like a truck

I did manage to get my favorite XBox 360 achievement yet, titled...


My love for you is like a truck
I don't even know why I like it so much. It just sounds cool.

Domestic Explorer

Today I dubbed Harley a domestic explorer.

He constantly tries to get to places he shouldn't around the house. He is fearless. Even spritzing him with the water bottle doesn't dissuade him for long. He's sort of like Indiana Jones, only annoying and furry. And stinky.

Anyway there's not much else going on this week. I still have books up on half and none of them have sold. I think that it's going to be much more difficult to sell trade paperbacks on half than it is to sell more expensive items, because the paperbacks are relatively cheap and shipping isn't. I plan to cut the prices some more and see if they go. If not I'll donate them to the local library or the goodwill.

My diet isn't going quite as well as I had hoped. If I read my scale right I've only lost 1 pound in the last couple of weeks. This is kind of upsetting because the last time I was on Atkins I lost 30 pounds without trying. I'm wondering if my lack of exercise has anything to do with it. Since I moved out here I don't even run around the office to talk to people any more.

So, I've started walking a few nights a week with Frangelica at our local mall. The mall itself is kind of lame, but it's well lit and temperature controlled, so we can reasonably walk there when it's 10 degrees outside.

Anyway, until next time...

WATCH THE SKIES!

Wednesday, January 24, 2007

Ultimate Gaming Table

One day this shall be mine.

Until then our kitchen table with Tact-Tiles still works nicely. Though if I were buying today I'd seriously consider flip-mats instead.

Saturday, January 20, 2007

Atkins, sleep, and insurance.

I will be out of the induction phase of Atkins on Monday. I'm looking forward to some fake carbs. I'll have to hit my buddy up for some of his cheesecake made with splenda.

I do have a weigh in but it's a few days old. I've lost 4 pounds so far. W00t!

Otherwise I've been busy with a DM-only blog for my Ptolus campaign. I've limited the readership because I don't want my own players snooping around. I believe Frangelica intends to start a player's blog, but she hasn't done it yet.

I'm currently having a bit of trouble with my doctor and my insurance company. I have a CPAP machine. Once again I am in need of parts. We have this clever new cat that managed to tear up the elastic that holds the mask on, and I need it replaced. You'd think I was asking for narcotics.

I've jumped through hoops and managed to get an appointment with a specialist, because my regular doctor can't give me a prescription even if I'm dying. In the meantime I located an underground organization willing to supply me with select CPAP parts. I was able to get a replacement for the elastic by leaving a large number of small unmarked non-sequential bills in a plain brown bag in a barrel under a bridge. Later I received the elastic along with a nice note assuring me that the dark stain is not blood.

In the meantime I am eagerly awaiting the specialist's call.

Clearly, the only person who values my health and well-being in this whole process is me.

Saturday, January 13, 2007

Calls for Cthulhu

Cthulhu is having a bit of insomnia. He's not really awake yet so we're ok.

But he does have his own call in show.

Tuesday, January 09, 2007

Atkins take 3, day 2

I was supposed to start Atkins a week ago, but I caught the plague. Or as I like to call it, TEH PLAGUEXX0R. It worked its way through everybody, including my spinster sister. She has dubbed me "plague boy" because I was the last to have it before her.

I was all set to write my starting weight here until I found out what it was. Instead maybe I'll operate in changes. So far I'm at 0. Suffice it to say that I could stand to lose about half my current weight.

Otherwise there isn't much new to report. Last Thursday and Friday I stayed in bed and watched T.V. Daytime T.V. still sucks, but it has some high points. I'm a sucker for most of the "reality" court shows like The People's Court. Mostly I have a fascination with human stupidity. Thus, I tend to also enjoy train wrecks like Jerry Springer. Now that we're closer to Chicgao I hope to actually attend a taping some day.

I did manage to put some of paperbacks I've been reading up on half. Go buy them.

Anyway, back to the grind.

Tuesday, January 02, 2007

New Year, new resolutions

For all my reader (Hi Mom), here are my New Year's resolutions. I haven't ever posted my resolutions before because I usually don't make them. This year I have several.

Here they are in no particular order:


  • Lose weight
I will get an accurate weigh in tomorrow so I know where I start. I agreed to do Atkins with my mother, but she had to go and get the stomach flu, so we'll probably be starting next week some time. I also really need to start exercising. This is much more important now that I work from home.

  • Beat down debt

For the past few years my debt has been going up. Starting this year it's going down.

  • Start accumulating wealth

I somehow managed to get a small savings account while living in VA. It's mostly gone now. I'd like to have some savings again.

  • Budget

Make one and stick to it. This is part of the set of things I used to do but don't any more. It's probably why I've accumulated so much debt and depleted my savings.

  • Write at least one video game

This is my dark secret. I work in the gaming industry and have never written a video game by myself. I started to a couple of times when I was much younger, on my TI994/a but I never finished anything.

Enough is enough. I just need to finish the darn thing. I have code for everything except the weapon and armor builder, which is the most complex bit. I'm hung up on the UI.

  • Update this blog at least once a week.

I really let this slide last year.

  • Read at least 4 technical books, or books that are designed to make me a better programmer

I did OK with this last year. I need to keep it up.

  • Post 12 articles to my company's internal web site

This is part of my plan for world domination.

  • Submit a presentation for GDC for next year

I have to list this in this year's goals because of the lead time. Also part of my plan for world domination.

  • Break 2000 points on my gamer card

I bought quite a few games this holiday season, including Splinter Cell: Double Agent, ES4: Oblivion (side note: technically it's TES4, not ES4 --I never liked that we abbreviated "The" even when I worked at Bethesda Softworks on TES3), and Gears of War. I'm chomping at the bit to play Gears. I'd also really like to get Lego Star Wars 2. Oh, and Dead Rising. I'm sure there will be more.

  • Sell or otherwise get rid of more of my stuff

EBay and Half.com worked pretty well back when we were moving to the new place in VA. Now I have a storage area with a bunch of stuff I haven't seen in 6 months. I'm sure I can find something to sell. The idea is to end 2007 with less stuff than I started with.

  • Start meditating again

When I was meditating regularly I felt better. Seriously.

  • Give up caffeine

I feel better when I don't drink caffeine. And yet I drink it by the bucket.

  • Keep the Ptolus game going

I have yet to have a game that's lasted more than a single (pre-written) adventure. I have a decent group and I'd like to keep it together.

That's the list. Now I need to make one suitable for printing.

Wednesday, December 20, 2006

Merry Christmas from Chicago

So about 3 weeks ago I bought the 360.

A couple of days ago I got a note in the mail from the City of Chicago Department of Revenue. It turns out that on our quick trip back into the city to return the defective 360 to Microcenter I turned right on a red light where I wasn't supposed to.

Frangelica and I were both in the car and neither one of us saw the sign. Naturally, the sign is quite visible int the grainy photo that came with the ticket.

In theory I could contest the ticket via mail, but I think that's unlikely to succeed. They list 6 valid reasons to contest the ticket and "I didn't see the sign even though both my passenger and I looked" is not listed among them.

So, Happy Holidays Chicago.

Maybe they'll use the $90 to help repay the legal fees.

Monday, December 11, 2006

Programming board game


Programming and snowboarding. Two great tastes*...


*I don't snowboard. The closest thing I get to snowboarding is SSX.

Monday, November 27, 2006

PS3 vs. Wii - Apple Style!

I know I just bought a 360, but I also want a Wii (silly name aside)

Striding boldly forward into current generation gaming technology

As you can see via the newly modified "about me" section, I finally gave in over the weekend and bought an XBox 360. Microcenter had a deal that was too good to pass up. A $100 mail in rebate on any XBox 360 console.

Of course, the first console I brought home had a bad hard drive, so I had to exchange it. Did I mention that microcenter is about an hour and a half away?

The new console works just fine. I played Kameo for a few hours yesterday. It's fun, but I'm not sure it's my kind of game. I'll give it a little while more and then probably move on to Full Auto.

Thursday, November 09, 2006

The Dorm Room

I've known about this for quite a while but I keep forgetting to post it.

My buddy D-Rod went and made a movie based on a play he wrote in college. It premiers this Sunday. Check it out!

www.dormroommovie.com

And then there were 7

I've been talking about running a couple of different D&D games for a while. Since before Frangelica and I moved back out to Rockford. Heck, one of the advantages to moving back here was that I could (in theory) muster the old group. No hunting for new players, wandering if they were giant goobers or not.

The old group didn't work out. Folks were too busy. It made me sad, but it happens. I was semi-intentionally dragging my feet in finding new players, hoping maybe the old group would come together after all.

That's when Frangelica mentioned that she'd made a few friends in one of her classes. They seemed cool, and were interested in gaming.

So now, just like that, I have 7 players (including Frangelica).

We're rolling up characters this weekend. I'm looking forward to gaming again.

Sunday, October 22, 2006

Vehicular Fortitude: The Next Generation

This was a bad weekend for the car.  Four new tires and a tuneup.

There went $850.  Ouch.

Props

That last post was brought to you with Windows Live Writer and a nifty Source Code Formatter.

 

Now I just need to figure out how to make my chosen template look decent with the main text window wider, so the source code doesn't look bad.

String descritions from enums in C#

Anyone just looking for code can skip to the end.

My AE Item Maker has a SingleUseItem class, which uses an enum for each different kind of single use item.

public enum SUType
{
INVALID,
POTION,
OIL,
DETONATION,
OTHER,
}
Among other things I use the enum to generate names for items. In C++, I would probably write a function to convert the enum to the string I wanted, but this isn't c++, and I wanted to try something different.

My first thought was to use the nift ToString() method. This got me literal strings for values, like "INVALID", "POTION", etc. It was close, but not really what I wanted. So I turned to my favorite search engine for help.

The results were mixed. It seems you can't actually override the ToString() method on an enum. But I did find the next best thing.

First, I add a Description attribute to the enum (you need System.ComponentModel for this)

public enum SUType
{
[Description("Unknown type")]
INVALID,
[Description("Potion")]
POTION,
[Description("Oil")]
OIL,
[Description("Detonation")]
DETONATION,
[Description("Single Use Item")]
OTHER,
}


Next I added this public static method in a helper class:


 

public class ItemHelper
{
/// <summary>
/// Returns the DescriptionAttirbute for an
/// enum.
/// </summary>
/// <param name="nType">Any enum</param>
/// <returns>DescriptionAttribute for that
/// enum, if it exists</returns>
public static string GetTypeDescription(Enum nType)
{
Type oSystype = nType.GetType();
string strName = System.Enum.GetName(oSystype, nType);
FieldInfo oFieldInfo = oSystype.GetField(strName);
object[] rgObjs =
oFieldInfo.GetCustomAttributes(
typeof(DescriptionAttribute), false);
foreach (object obj in rgObjs)
{
DescriptionAttribute oDesc = obj as
DescriptionAttribute;
if (oDesc != null)
{
return oDesc.Description;
}
}

return "Unknown";
}
}

 


You use it like this:

string strType = ItemHelper.GetTypeDescription(m_nType);

This isn't perfect.  For one, if you have multiple description attributes you aren't guaranteed to find a particular one first.  It also doesn't handle localization at all.  But this works for what I need right now.

Thursday, October 19, 2006

Source Control update

After a while I remembered a discussion I had with a coworker about perforce, and now I have a workaround for checking out all the files and doing a "revert unchanged."

  1. Save the file. That brings up a few options, include "Save As." Click that.
  2. In the file list, find the file you want and right click it.
  3. From the right click menu, select Perforce, then "check out."
  4. Finally, cancel and save again. You've checked out the file.

It ain't pretty, and it's not as nice as source control integration, but it does work.

ItemMaker updates

I've been slowly working on the Arcana Evolved Item Maker. Very slowly.

So far I have tests for 4 different item types, but 3 of those need some refactoring. My current goal is to finish one kind of item and get that working in a UI. I've decided that the first Item type I want to tackle are single use items.

At a minimum in order to get an app together that does single use items, I need:

  1. Tested and debugged basic single use types --DONE
  2. Tested and debugged basic spells --DONE
  3. Code to load spells from disk
  4. Code to save single use items
  5. Code to load single use items
  6. A UI that doesn't suck


Extra stuff that would be cool:

  1. The ability to print items you've made in nice stat blocks
  2. The ability to sort spells by level, basic type (damage, buff, etc), descriptor, level, and alphabetically
  3. The ability to specify multiple sorts
  4. Some automated way to add new spells
  5. Images

And of course, other item types.

Ultimately, I'd like my item maker to be better than the existing one.

Right now I have code that loads the spells from an XML file, but it's pretty brittle. If an entry in the spell data is missing or not in the right order it croaks.

I really have to watch myself. I'm trying, unsuccessfully, to keep things simple. YAGNI. So far I've made a SpellWriter, which writes out spell data in the appropriate XML format. I don't need it. I wrote it to play with more of the .NET XML classes. Oh well, maybe I'll be able to use it for something else later on.