Hammy

Our hamster died tonight.

She was about two years old, so I’d been kind of expecting this. She didn’t appear to be sick or anything; it seems she just ran out of lifespan.

Hammy was a Syrian hamster. She had lovely brown fur and bright black eyes. She was so smart and energetic that it wouldn’t have surprised me to discover that she snuck out of her cage at night to fight crime while we were asleep.

It’s a shame she won’t get to come to Dallas with us. I’m going to miss her.

Missing Cat

Almost three weeks ago, right before Thanksgiving, our cat Figaro ran away.

I’m pretty sure he didn’t mean to do it; he just wanted to poke around outside for a while, the way inside cats do. But he darted out late at night and wouldn’t come back no matter how much my older daughter Megan (who is effectively the Keeper of the Cat) cajoled him.

I fully expected him to come back the next day, but he didn’t. He apparently got lost in the wilderness near our apartment. Days passed and we couldn’t find him, partially because we didn’t have a flashlight and night is the best time to look for a missing cat.

I was certain after a week that we’d never see him again. But Megan refused to give up, going out night after night to look for him.

A few nights ago Jamie and I were at the store and we remembered to pick up a flashlight. That night Jamie and Megan went out and thought they saw a cat that looked like Figaro, but they couldn’t get close to him.

Then, Saturday night, Megan went out again to look for him with the flashlight.

She returned sobbing with joy, Figaro in her arms. He was thin as a rail but otherwise unharmed.

We are all very happy to have our cat back for Christmas.

Um, Hi.

Hey.

Um.

Sorry about not updating for a while. Things have been slightly crazy.

Crazy AWESOME!

In our last episode, I mentioned that I had finally found a way home for myself and my family. ‘Twas a terrible thing to leave you guys hanging without the rest of the story, and I’m sorry. So here it is!

First, I was just amazed at how well the move worked out financially. Aspyr was willing to front us our move allowance, and a recent payment for my work on Fargoal 2 (still in development!) helped a lot too. (Thanks, Jeff!)

The move itself was straining, though. I’ve now moved cross-country three times and it’s been a harrowing experience each time. But there were no accidents or thefts or anything else untoward. Did get pulled over once but the cop let me off with a warning. (Thanks, cop!)

I’d been back to Austin twice, both times for job interviews. I could see that the city had changed a bit in the five years we’d been gone. Einstein’s Arcade on the Drag is gone for good. The Broken Spoke, a famous honky-tonk, is now sandwiched between two apartment buildings. Indeed, there’s been a lot of housing construction, most of it in the big-city “trendy apartments with storefronts on the bottom floor” type. Dunno how much I like that, but even before I left the city planners had announced that they wanted to turn Austin into a “24-hour city” so it’s not that surprising.

But I was still worried. Was it just a nostalgia filter? Or would living in Austin really be better than Florida?

Oh, yes.

triforcecar

In case you can’t make that out (because I Are Not A Photographer), it’s a car with a window decal of the Hyrule Royal Crest on it.

I saw this within the first two weeks back. I didn’t really want to get back to Austin because it’s a beautiful city (even though it is) or because it’s got wonderfully quirky shops (even though it does) or because it’s got excellent food (even though it does does does does).

It’s because I wanted to be back among like-minded people.

And now I am.

And it’s made me happy.

(does)

Goin’ Home

Guess what?

I’m moving back to Austin.

Like, next week.

About a month ago I had an opportunity to interview at Aspyr Media. Yes, the same company that laid me off. They have since backed and filled, shedding unprofitable original titles to return to what they do best – ports. It was nice to hear this because I didn’t really harbor the company any ill will.

Now, I wanted to nail this interview so I did a lot of prep. I bought books on programming interview questions and did countless exercises to remind myself what the difference between public and private inheritance is. In the end, I thought I did okay in the interview, but I didn’t know if a) they’d hire me and b) if we’d be able to work out the mechanics of the move back.

But then they contacted me and told me they wanted me and…it was just the sweetest thing. The heavens parted and light streamed down. Of course, there was a lot of other considerations that might impede our progress back, and I worried that I might have to go back myself and bring the family back later.

But then stuff started to work out. And then it continued to work out. And then it continued to continue to work out.

And now the lease is signed, the truck is rented and we’re starting to pack in earnest. By next Wednesday (God willing) we will be back in Austin, and we will never leave again.

I’d like to publicly thank Ian Bullard for his help; he was the one who told me about the opportunity at Aspyr. My younger children will finish growing up in Texas where they belong and my older daughter will now have access to the greater opportunities a larger city (with a major university) provides.

More updates as the day approaches!

On This Day, Twenty Years Ago…

On this day, twenty years ago, my wife Jamie Salter and I were married in the Justice of the Peace’s office in Austin, Texas. It wasn’t a shotgun wedding; I’d already decided I wanted to marry Jamie. But it was…hurried along by the news that our first child, Megan Salter was on the way.

Any regrets I have about the last twenty years are purely on myself. I regret getting overweight and the resulting health problems it caused. I regret moving to Michigan; it turned out to be a disaster for my family. I regret that even though things are getting better, we’re still not completely financially secured and we’re still not where we feel we belong.

Jamie has been at the root of everything great that has happened to me over the last twenty years. She brought me out of my painfully introverted shell. She made me believe a woman could care about and love me. She gave me the experience of being a father. She is the reason I was able to work for Origin Systems, both because she had a contact in Origin’s HR department and because she continually encouraged me to apply when I was sure I had no chance. She gave me two more children, both of which have been blessings, and has stuck with me through thick and thin.

I love you, Jamie Salter. I always have and I’m not stopping any time soon.

Jacqueliene J. Benton Little

My grandmother, and my children’s great-grandmother, passed away on Wednesday, April 23, 2014.

I do not have a single negative memory of my grandmother. We called her “Nanny”. Traveling from our home in Macon, Georgia to visit her in Warner Robins was always one of the highlights of my youth. While she didn’t have a lot of toys, she had a big backyard and, better yet, bordered the local high school outdoor football field.

My mother would tell me stories about how she and her sisters would go out there after games and crawl around under the bleachers looking for dropped money. My sister and I never found any ourselves but it always felt adventuresome to crawl around in that enclosed space looking for treasure and sneaking into the control tower.

Huh. And this was years before I started playing D&D…

Nanny was a very traditional Southern woman. Even after she divorced her husband and began working for herself she still made a lot of time for her family, especially us grandkids. She was old enough and respected enough to earn the title “Miss Jackie” in the community. She loved to cook, and many of my favorite memories of her involve eating the copious amounts of treats she made for us. And when Thanksgiving came around, wow.

After my family moved from Macon to Virginia Beach, VA, I fell out of touch with my grandmother. I can give all kinds of excuses – life was hard, I was working two jobs and going to school, I’m a male and thus have trouble expressing my feelings, etc. But I shouldn’t have let it happen.

And then I took my solo trek to Austin and became even more self-centered as survival became my priority. I hardly thought about Nanny, much less talked to her.

When my oldest child was very young, I took my entire family back to Warner Robins to catch up with everyone. Nanny seemed to be slowing down but was still in her right mind. She loved meeting Megan and she told me that she was proud of me.

I would only speak to her again briefly until our move from the accursed Michigan to Florida. On our way down we made time to visit her in her home. By now I had three children, and the oldest was almost eighteen. Nanny loved seeing them again, but I could tell from her difficulty getting around and the fact that one of her daughters had moved in with her to care for her that she might not last much longer.

And last Wednesday she breathed her last. I’m just very grateful I got to see her one more time and that she got to see three of her seven great-grandchildren.

Goodbye, Nanny. I will miss you.

Borderlands 2

So! A while back I mentioned Saints Row 4 and how much I enjoyed it. Since then a lot of DLC has been released for it and while I haven’t bought all of it, I have paid attention.

And that’s how I saw this.

Now, despite laughing at the trailer, I had no idea who that girl was or what “Hey Ash, Whatcha Playin'” was. So I went to the Tubes of You to find out. And that’s how I found out about Anthony and Ashly Burch.

And then I ran across an episode of HAWP (gotta use the acronym to prove I’m hip, dontcha know) where Anthony talked about writing Borderlands 2.

Which reminded me that I’d picked up Borderlands 2 during the Steam summer sale and never touched it.

So I touched it.

For about thirty hours.

Borderlands 2 is a great game and I’m very, very sad I didn’t play it sooner. I should have just dumped that pretentious, jumped-up Bioshock Infinite and gone for this. It’s fun, it’s funny, and it’s got one of the best villains in recent gaming memory with Handsome Jack.

I actually bought another copy for my daughter and she convinced her friends to buy it and it’s like Catan where it’s always good but at its peak when you’ve got four people.

(I think I may have mentioned in the past that I think co-op multiplayer is the only good kind of multiplayer? Yeah, this game proves me right. Again.)

So if you like FPS games and/or you like to laugh and/or you like playing games with your friends, definitely check it out.

DK2 Continues to Corrupt

So! Last night I’m playing Dungeon Keeper 2 when my younger daughter walks in.

(Longtime fans of this blog will be sensing deja vu right about now.)

After explaining the concept of the game and showing her the gameplay, she became fascinated by the “dungeon construction” aspect of the game.

(On a side note, I need to start working on Star Kittens, for crying out loud.)

While she was playing I asked if the voice of the Evil Mentor sounded familiar “No…” she said. “Have you ever seen Peppa Pig?”

She got it. “That’s Peppa’s dad’s voice! Except evil!”

My daughter, master of pattern recognition.

The Littlest Game Dev

For the last couple of months my eight-year-old, Jewel, has been asking me questions about how game development actually works. I told her about C++ and coding, and how everything that moves and interacts in the game is considered an object with its own little bit of code.

She also kept pulling down my books on game development and looking at them. I don’t know exactly how much she gets out of leafing through Game Programming Gems 6, but she likes to do it.

And then, over the long weekend, she asked if there was any way she could make a game with me.

Now, I was not going to pass this up, but I wasn’t really prepared for such a request. I’d heard about game making software, though, and thought I might be able to teach her something using one of them.

The most famous of these is, of course, GameMaker, so I downloaded it. I knew it was potentially powerful because Daniel Remar uses it for everything he does. The free version is very limited but I figured it would be enough for our purpose. I’d also heard you could do simple stuff without coding, which is good. I got it installed and running.

And then I made a game with my eight-year-old daughter.

We followed a simple tutorial to make a game called Catch the Clown, where you click on a fast-moving clown that bounces around the screen. She quickly picked up on the concept of creating resources in the resource tree, making game objects, and having multiple instances of the same game object. GameMaker uses an event/action system that is mostly graphical – you click on an event on the left side and then drag actions to associate them with the event on the right side. Most actions only have a few parameters, so they’re easy to understand. Since I was learning along with her, it went a bit slowly, but she was mighty tickled at the result – and she had done a significant bit of the work herself. She was a little disappointed that she couldn’t put the resulting game online (the free version doesn’t support that) but after I left to go do something else she fired it back up and started making changes on her own.

One of which was to go into my shared music folder and select Gangnam Style as the new background music for the game.

She also started pulling in resources from my games Inaria and Planitia and decided that instead of catching the clown by clicking on it, she wanted to move another character around on the game screen using the WASD cluster. I quickly figured out the “key down/key up” events and showed her how to do it for one key and she had the rest of the keys fixed and up and running in no time.

Now, I don’t know how far she’s going to take this. As much as I’d like her to follow in my footsteps, if she doesn’t it’s okay. Because I’ll always have the weekend where my daughter and I made a game together.

And if she does stick with it, in just a few years she’ll be ready for Unity.

JRPGS (Jewel’s RPG System)

I ran a game for my youngest child, Jewel, this weekend. She’s eight, and in the second grade.

Now, just like her older sister, she has been immersed in Dungeons & Dragons and roleplaying concepts in general for her whole life. Hitpoints, mana, elves, orcs, swords, sorcery – she’s seen it all in video games and movies. Ever since she saw me buy the D&D Basic Set for her older sister Megan, she’s been asking if she could play Dungeons & Dragons.

And I’d been putting her off, for two reasons. First, she couldn’t do the math. Second, she really didn’t have the attention span.

Now that she’s eight I felt she was ready to experience roleplaying in some fashion, but I still didn’t want to let her play Dungeons & Dragons. Why? It’s just too heavy and confusing for a young roleplayer. In order to play that particular game she’d need to be able to read and do math at a much higher level than she can now.

But I felt that she was more than ready for the roleplaying experience itself, especially since she would have her older sister helping her along. What I needed was a simple, easy-to-understand roleplaying system. My goals were:

* Based on 2D6; I didn’t want to introduce polyhedral dice yet
* Low modifiers to make the math easier
* Fast-playing. I mean, really fast-playing. No charts or tables for the players.

Now, I had written up what I thought was a pretty good system based on the old Traveller rules. It had rules for buying stats and skills and general task resolution. I asked Megan to read it and she said something brilliant. She noted that high stats gave bonuses and low stats penalties when buying skills, and asked the question, “Why are there skills at all? Why don’t we just add or subtract those stat bonuses when we’re trying to do something related to that stat?”

“Well,” I huffed, “it would mean that someone with a high Intelligence, for example, would be able to do everything Intelligence-related well. They’d be able to program a computer, solve a Rubik’s cube, do theoretical physics…”

“Oh, please,” she retorted. “You effectively pick what you’re good at when you pick your class. If you’re trying to do something very different from your class description then you’d get a penalty. There isn’t any real reason to have skills; they just make things more complicated.”

I’d already had a nagging suspicion that the system I was coming up with was more complicated than it needed to be, and buying skills was one of the worst parts. Megan’s one question allowed me to greatly reduce the complexity of the system without it being any less fun. She is definitely my daughter.

I hereby present the system for your perusal and critique.

JRPGS (Jewel’s RPG System)

Characters

Characters consist of five stats – Strength (STR), Dexterity (DEX), Intelligence(INT), Endurance (END) and Personality (PER). Stats range from 2 to 12. Characters start with 7 (an average score) in each stat and players take away and add points to stats until they’re happy with what they have. Every point of a stat above 7 gives a bonus and every point below 7 gives you a penalty. Characters have (END * 3) hitpoints and (INT * 3) mana points to begin with.

Examples:

I asked Jewel what kind of character she wanted to play and she said a wizard (of course). To make things even easier, I asked Jewel what two stats she felt would be most useful to her character and she picked Intelligence and Personality, surprising me. Then I asked her what two stats she wanted to give up; she chose Strength and Endurance. So I simply gave her a +2 for the ones she picked and a -2 for the ones she gave up. I gave her three times her Intelligence in mana and three times her Endurance in hitpoints so, she ended up with this:

Name: Nyan
Race: High Elf
Class: Wizard

STR: 5 (-2)
DEX: 7
INT: 9 (+2)
END: 5 (-2)
PER: 9 (+2)

Hitpoints: 15
Mana: 27

Her sister Megan wanted to play a rogue, and she juggled her numbers herself to get this:

Name: Dahlia
Race: Half-Elf
Class: Rogue

STR: 7
DEX: 10 (+3)
INT: 4 (-3)
END: 5 (-2)
PER: 9 (+2)

Hitpoints: 15

Task Resolution

The basic throw to succeed at a task is 8+ on two six-sided dice. Based on the type of task you are resolving, you will add or subtract whatever stat bonus or penalty the DM thinks is relevant to that task.

For instance, Jewel’s spellcasting would pretty obviously be an INT-based task, so in order to successfully cast a spell she would roll two dice, add her +2 INT bonus and try to roll 8 or higher.

The GM can make tasks more difficult two ways – they can assign penalties or they can have tasks be opposed. Penalties are fairly obvious, so let’s talk about opposed tasks.

An opposed task is one where another character is trying to stop you. A good example would be attempting to lie to someone convincingly. You would roll a Personality task to do so – if you roll 8+ then you have spoken well and there’s a chance the other character will believe you. But then they roll against their Intelligence. If they also roll 8+ then your attempt fails – they’re too smart for you.

Combat

I initially thought about having all combat rolls be opposed – a player would roll a Dexterity task to see if they hit, then the enemy would roll a Dexterity task to see if they could dodge the attack. I realized this would be slow and frustrating (I could hear Jewel saying “But I hit!” in my mind).

So melee attacks are Dexterity tasks; succeed and you hit. A basic attack does 1d6 worth of damage. If you have a Strength bonus, you add that bonus to your damage. Damage can be reduced by wearing armor; one point of armor negates one point of damage from each attack.

Magic

This required the most work and imagination on my part. I absolutely did not want a huge list of spells with their effects cluttering up everything so I gave Jewel a basic attack spell and a sleep spell and went from there.

What I did was allow her to tell me what she wanted to do, and then based on how effective that task was I would assign it a mana cost of 1, 2 or 3. (If I felt it was too game-breaking, I didn’t allow it at all.)

She would then roll an Intelligence task to cast the spell. Her attack spell would do the same damage as a weapon attack – 1d6 – plus however much mana she used to cast it.

Armed with this system, I was ready to run Jewel’s first roleplaying session. Since this is already a bit long, I’ll save that for the next post…