7DRL 2014 – Day 5: In which parkour is performed in fancy shoes

Today was very productive; I finished the procedural generation of trinkets (for now, at least), improved the magic system, procedurally generated strangely worded descriptions of said trinkets, added new effects including knock-back and circular slide, and added all of the non-boss enemies, including the Abberant visible below:

Parkour shoes acquired!

Shown above is the non-procedurally-generated description of one of the coolest shoe types in the game (thus far, at least). These shoes allow you to run along walls, moving faster than enemies or even jumping over them.

I still have two more days left to go, and quite a bit still to do, including:

  • Plot
  • Victory conditions
  • Boss fights + Boss AI
  • Game balance
  • Prettier maps

7DRL 2014 – Days 3 and 4: In which trinkets are created

So, I’m about halfway through the week, but days 2-4 were all mostly occupied by other things, so the real productivity is just beginning. I’ve reworked the combat system to use the same generalized targeting/effect model as the spells. I’ve also changed trinket abilities to work on that model, divided trinkets into six types (hats, orbs, wands, cloaks, weapons, and shoes), which can be equipped and used for various nefarious purposes. I’ve started work on the procedural generation of trinkets, but there’s still a lot to do on that front, which will occupy the next day and a half, leaving me with a day and a half for enemies, plot, game balance, and a dungeon generator that isn’t stolen from the libtcod tutorial. That’s plenty of time, right?

Screen Shot 2014-03-12 at 11.36.07 PM
Weapons can now replace your bump attack with one or two spell casts. This one replaces your attack with two fire bolts, but they can also sunder defenses or daze and freeze enemies, among other things.
Screen Shot 2014-03-11 at 9.38.44 PM
Death Star? Death Star! DEATH STAR!
This is what happens when you procedurally generate names by picking two words from a list and concatenating them…


7DRL Competition 2014 – Day 1: In which a roguelike is begun

This year I’m participating in the Seven Day Roguelike Competition, a contest to make a game in the roguelike genre in a week. (For those not familiar with it, roguelikes tend to be dungeon-crawlers with procedurally generated words, permanent character death, and often old-school graphics. There are frequently some variations from this rough description.)

I’m making a game known as ‘Trinkets’ until I think of a better name. It is a game in which a wizard strapped for cash loots a pocket dimension, and everything goes horribly wrong. It will experiment with a nontraditional power progression; you become weaker, then strong again, rather than a constant power level or steady increase. There will be a plot and randomly generated Trinkets.

My time will be somewhat limited, as I am currently a college student, but after spending most of today programming I produced the following:

Screenshot of Trinkets
Taste the power, troll scum!

I’ve used some code from some past projects, specifically most of the data structures and UI code. I’m using python, with the libtcod library.

Current features:

  • Move around…
  • …on a procedurally generated map…
  • …and hit things…
  • …which hit you back, and can kill you if you’re not careful.
  • Look for trinkets…
  • …which have magic powers…
  • …which are simply not as powerful (at least for now) as your spells.
  • Speaking of spells, you have five (and will have six), which in combination make you nearly unstoppable…
  • …at least until I implement the ‘everything goes horribly wrong’ part.

Something I wrote back in March when trying out Draft

Late one night back in March I tried out a cloud-based editing platform that Nathan Kontny is putting together called Draft.  It’s designed to save various drafts of your writing and to facilitate getting feedback from others as you write.  I sat down and wrote one short thing and then didn’t get back to it (we packed up our farm and moved so Geek could go to college but still live at home (he’s 16) and I didn’t have time).

Today Nathan sent an email about some neat new features which prompted me to go take another look.  WOW!  He’s added a ton of interesting capabilities.  Anyway, I realized I hadn’t published the thing I wrote and while it started out as a “blank page! Yikes!” it did document some of what was happening then and some of my thoughts about the 1% (big in the news at the time) and the challenging economic times.  Since Draft doesn’t have a feature to host finished work (turns out it does: Draft SitesI thought I’d put it here so I don’t forget it:

So, it begins. Once again all thought stops when faced with a blank page. An open window through which only air and the sounds carried upon it pass. And light. And smells. Fresh spring smells and sounds.

Where exactly to begin? Do we start with the falling apart of the social fabric? Or maybe the seeming inability of a large percentage of the super wealthy to see that sucking all the money out of an economy is like sucking all the air out of a sealed space. A fatal result for those on the inside in both cases. Even good people get desperate when they can’t breath. Or don’t have enough food to feed their children.

Sent money today to a friend who’s regular weekly music gig got cancelled for good after twice being cancelled “just this weekend.” As a result he doesn’t have enough money for food despite living on bags of potatoes from CostCo which he adorns with left-over condiments from his friend who cleans vacation rentals. Said he saw a rat in his kitchen the other night and wonders if country rats carry much disease. “As a buddhist I don’t want to kill it but I’m a little scared it might carry disease and I can’t afford a visit to a doctor…” he told me.

Time to sleep so I can earn more money tomorrow.  Might get a call from another friend in need.


By the way, Nathan has a lot of great stuff on his blog about all kinds of things.  I especially liked:

Sorry about the crickets…

…but Geek decided to skip 12th grade and go to Reed College next year!  That sudden acceleration of him ending high school and starting college has caused a lot of scurrying around as we figure out logistics.  We currently plan on selling our 21 acre homestead and farm and moving into Portland near Reed so Geek can live at home the first year (he’s only 16).  As a result, we’ve been too busy to do much here on the blog.

We’ll be back!

Fix for: Older iPod Photo (4th gen) sync fails with iTunes 11

So I have an old iPod Photo (color) 60GB iPod that’s been working great for a long time now (since July 2005!) that I use for my office music while I work. I’ve just now finally run out of space on it and so I thought I’d use iTunes’ “Convert higher bit rate songs to…” feature to cram my growing collection onto the existing iPod. I’m on an iMac running 10.7.5 and I was connecting via a USB cable.

Nice idea but it always fails after  few hundred songs when I try to sync with this setting turned on.  Grrrr.

Tried turning off “Enable disk use” because there was always an error about the disk being unmounted improperly when it fails.  No dice.

Finally thought that maybe it was a USB issue and so tried connecting it via Firewire (which this older iPod Photo can do) and Bingo!  It seems to be working (4860 songs of 7839 copied so far without a problem).

Thought I’d write this down here so others could find it.  I should file a radar but I’m having trouble imaging Apple caring about this old device…  Could be an  underlying USB issue though…? Anyway.


A Conversation with our Cat

On a cold snowy day in Corbett…

Me: walking by cat on way to the house for lunch…

Cat: “Meow. Meow, Meow. Meow! MEOW!”

Me: “What?”

Cat: “Brrrr.  Inside cat?”

Me: “no”

Cat: “29 degrees!”

Me: “Fur!”

Cat: “SNOW + 29 degrees!”

Me: “5x pissing on bed == OUTSIDE CAT!”

Cat: “Surgery! Ow!”

Me: “Let you back in 2 years later & you beeline for a bed.  No!”

Cat: “meanie…”

Me:  walks away to write guilty blog post


FASA launches 1879 kickstarter – Geek & Dad doing computer version

From the FASA Games forums:

FASA’s 1879 Kickstarter is Live!

Postby FASA Games Admin » Mon Nov 26, 2012 11:14 pm

FASA’s 1879 Kickstarter is Live!It’s 1879. Queen Victoria’s armies march through the Rabbit Hole to lay claim to a new world, expanding the Empire so that multiple suns now shine upon it at all times.

These new lands are not given up easily. Descendants of the lost kingdom of Babylon fight for what they have mastered for millennia. Reptilian beings, as well, refuse to submit to the Crown without a fight.

It’s 1879, but this history is not the one you know. It’s the one you will help define.

FASA returns to the world of gaming with a bold new project, and we are launching it with an amazing Kickstarter effort that lets you become part of the story right from the beginning. With miniatures and an elegant set of rules, you can play out the key battles that will decide the fates of two worlds, and with the 1879 wargame app, you can carry the war of worlds with you everywhere! With the RPG, you can tell the stories of unique individuals who will tip the balance for all time!

Join FASA in heralding a new era of gaming, where multiple ways to play all tie into one fantastic story. Get in on the Kickstarter and help make the dream of FASA’s bold return to gaming come true!

As you may know, Geek & Dad spent this last summer building the prototype in Unity3d with art & animation by local artist/animators.  If the Kickstarter generates sufficient funds we look forward to turning this prototype into a polished game for iPad (and for other platforms, as funding permits).  We hope you’ll consider chipping in and helping us make this happen.  Thanks!

Non-Profits and donation solicitation

I do a fair amount of donating to non-profits that are doing good work in the world and it’s always maddening when they then take this as permission to send me a bunch of email solicitations for donations (even worse, some send paper mail thereby wasting the money I sent them).  I have a friend who hates this so much he either doesn’t donate or drives to the post office to get an anonymous postal money order to make his donation by mail anonymously so he doesn’t get so much paper junk mail sent to him!
Today I replied to one such email appeal and asked why they felt that my donation was permission for them to send me an email asking for more money once a week.  In their reply they said:
Unfortunately, no one donates unless we ask them to, and the people most likely to donate are those who have donated before.  If we don’t email our donors, we go out of business and can’t do the work people donate to us for.  If we do email our donors, some percentage will never donate to us again.  It’s a catch-22 that every non-profit

An interesting dilemma.   To me there’s some interesting psychology at work here and figuring out the optimal strategy is a fascination problem.

My quick off-the-cuff idea for a starting point to then iteration upon and refine:
  •  Send out a receipt for every donation made, by all means.
  • Do NOT send out things that are only a request for money.  Such an email has nearly zero value to the recipient (unless the recipient has asked you how often you like to make donations and if you’d like a reminder at that frequency or around a particular time of year).
  • Do send out an infrequent newsletter about great work your organization is doing with the funds I and other have donated.  Experiment with Weekly, bi-weekly, monthly & quarterly rates of newsletters to different random subsets of your donors and determine the optimal sending rate (I’m guessing it’s monthly).
  • At the bottom of each newsletter include two lines:
    •  first line:  Number of months since recipient’s last donation and a “donate now!” link
    • second line subscription option links:  Receive our newsletter:
      weekly  |  every two weeks  | monthly | quarterly | never
Then make sure the links are hooked up to a metrics engine so you can do good statistics on which newsletter frequencies produce the most donations.  Experiment with reversing the order of the two lines at the bottom to see if it matters, changing the order of the subscription options (where never appears in particular), and changing font sizes, colors, etc etc.
Tune for maximal donations now that you have data on which to base those tuning decisions.
There are probably better ways to do this, but this seems like the kind of thing that might apply to more than just non-profits.