So, when I first started formally learning to write code, and do programming, we were taught the only and true method of it, a method now known as Waterfall.  It doesn’t work, and it causes more problems than it helps with.  I understand why it was done that way at one time, but with the way we use computers now, it doesn’t work at all.  With “waterfall” all the testing was done at the end of the project. There was some expected unit testing by the developer, but they were supported by the supposed safety net of QA at the end. They would do the real testing and go through that cycle.

That worked okay; the real problem with waterfall is that it took too long, the business would change in the interim, and the users’ needs and expectations would drift in the nine months it took to make a waterfall project.  Also, it depended on getting the user requirements right, and that’s actually the hardest part of any project.  Most users don’t know what they want until they see something that’s not quite that. Which, again, takes months in waterfall.

I started learning about Agile methods, which have faster cycles and different methodologies when I worked for a bank in Charlotte.  We were trying to do better, but most of us weren’t properly trained in it. We were never going to do some of the things (like pair programming) and so wound up primarily doing fast cycles and user stories, because we were the most comfortable with that.  As the Agile-guru of our team, I was trying to figure out how to implement it and get it working. I was pretty stoked by this idea about testing, and test-driven code, but I couldn’t wrap my head around it.

Some of it I got, certainly. I’d naturally come to a place where I worked backwards from outputs to inputs. This was mostly laziness, since I didn’t want to write the parts of the program that no one was going to use — let’s start with the end product and build things that make that. [One of the things that frustrates me about the C# development I’m doing at my current job is the amount of what feels like boilerplate and structural code that ‘has’ to exist. It feels like trying to do surgery with a mace.]

But there are things I didn’t get.  How do you start? How do you really test each function? How do you test UI elements (still don’t have a good idea about that.) I couldn’t figure out how to start.  Starting on code was easy, I could focus in on one thing and build it and it worked. Most of my private projects were small and I didn’t need to do much more than that. I probably wasn’t going to finish them anyway.

But with my focus on Making Things this year I want to finish things.  I want to share them, and some of the things — like an IF Parser– should be fairly testable. I mean, I can take a script and pipe it into tads and get the game script out.  At least at some level, that should be completely testable.  So I started up a nodejs project for my parser, Mydas, and set to work.

I knew that I would be having a set of command strings, and I wanted to isolate what were  verbs, direct objects, and prepositions, etc. So I had a parser object, that was going to have some private functions to  parse the syntax. I’d found pos.js which had been ported to Node by Darius Kazemi. I pulled the parts, stopped myself and said, “Wait, don’t I need to write some tests first?”

I started digging around with mocha, and seeing how to write the tests, but I couldn’t figure out how to test my code. I mean, I knew what I was going to call it with, and what I expected out, but it wasn’t working. Part of it, of course, was that I was trying to test a private function. It was private because I know after 20+ years that’s where it’ll wind up, it’s not a public API, it should be a private function.  But you can’t test it.

You can, actually, there’s ways listed on Stack Overflow if you look hard enough.  But you shouldn’t.

Because I was doing it all wrong.

Not completely wrong, of course, my instinct was to focus in on the hardest bit of code and see if I could pound that out, get it working.  But that code won’t exist in a vacuum. It’ll be called from somewhere, with a particular goal in mind.  The truth is, I didn’t know if I was right when I was so certain that I was going to need this f unction, that it was going to be private, etc.  Probably, but I didn’t know.

The only way to know was to start with some use cases/user stories.  What does this thing do, and for whom? Then to slowly back up into writing the needed functions as you moved from the outputs to the inputs.  And that private function? When there’s a test for the public function that calls it, then you can refactor it to a private one, because it will still be tested. Starting with private functions risks code that’s never tested, and that’s decidedly not the goal.

And of course this makes sense. Only write code for the uses that the program will be written for. Figure those out first, and then write the code that does that. And then that because another user of code, which calls back and back until you’ve got the whole processing chain written and tested.  And I realized that I had at least two different kinds of users in Mydas — we’ve got the player who I had been focusing on, but you also have the author who is writing code. All of this has to work for both of them, and what does that mean anyway?

But, again, the advantage of this project is that I can specify the whole thing. I can write the Author’s inputs, and the player’s inputs as text files (perhaps) and input them both to the program, and be completely certain of what the output should be.  And that’s where I should start writing my use cases. And there will be more detailed ones as I go and worry about the how, and the what.

For the first time I feel like I might know what I’m doing with this.  Of course defining the what is turning out to be a harder task than I thought at the time, which makes me glad I started on it.

There’s a deep part of me incredibly fond of text adventures. I remember waiting for my  Uncle’s TRS-80 to load (it took so long — I remember it as hours — to read that tape) and then to play for just a bit. To open the mailbox and see the house on the hill. To have the whole thing crash and have to be reloaded.  I spent several days with them that year and made no progress in the game.  Later, I got Diplomacy for my Apple ][c, and played Hitchhiker’s Guide on a friend’s Commodore.  I wasn’t really a gamer back then, games didn’t fascinate me the way they do now, but there was something about text adventures I liked.

In the past few years, I’ve played a few. I’ve watched the AIF community grow and wane and grow again with different types of “adult interactive fiction” games. I’ve played more point and click adventures in their renaissance than I ever played in their heyday. But while I like them, I don’t really play them. On the other hand I yearn to make them.  This seems contradictory to me, but there’s something about the possibility space of IF that fascinates and challenges me as a story teller.

So maybe it’s a bit of hubris that I think I can write a kind of game I barely play and tell an interesting story.  It’s definitely hubris that I think I can write a parser and make a JavaScript parser game designed to be played in a browser. I’ve done a bit of research and have found some partial projects, but nothing really developed. That probably means I’m the main audience for this as well. The truth is, I’d hoped that TADS3.0’s HTML implementation had been more like Twine’s, but it requires a working server to function.

And speaking of Twine, why not use and extend that?  Twine is pretty awesome, and it offers something really pretty amazing for people to create stories with.  I’ve thought about adapting my stories to that medium (and wrote 2 or 3 games for it last year).  But ultimately, I’m a programmer too, and just as I’m drawn to TADS’s object oriented structure over Inform’s more narrative structure, I’m drawn more to writing JavaScript that editing a wiki.

Inform does have a web-based exporter, IIRC, and it will be simple to find an interpreter for Inform that will run on just about anything.  That’s pretty cool of Inform, and is certainly worth anyone’s time.

So it’s hubris to think that this is needed; it’s hubris to just think I can do it and be successful at it.  But then, hubris is for this very reason one of the traits of a great programmer.

The project will be split into two pieces, much like TADS. One will be the parser/disambiguator (which figures out what verb/command you are giving, and which objects you are referring to. It figures out you are taking or putting and that it’s the red ball not the blue pencil that you are taking. I’m calling it Mydas because it touches every other part of the project, and because it’s the species name for the Green Turtle (Chelonia mydas).  The other part of the project is the library of objects which the parser uses and which authors will instantiate or override as part of their game creation.  It will be called Chelonia, for obvious reasons.

I’ve already started and had some missteps, which will be the subject of future posts.

So, long time readers of the blog may know that I try to do a plan for what I’m doing in the coming year, so that I have some idea of whether I’m doing the things I want to be doing.  Last year at this time, I couldn’t even manage to think about what I might want to do in 2014.  In January and February, I considered writing a post, but never got to it. My March or April, I just forgot about it, and tried to keep moving forward.

Some of this was settling into new work experiences — my job keeps me busier than any job ever before, and I’m learning (and, frankly, hating) C#.  But interspersed with that 70-90% of stuff I don’t like doing, i get to do some interesting JavaScript, HTML, and interactive sites and displays.  There are places in the world where I can stand in front of something I made and say I made this.  I wrote a video game for work; we did kiosks for a museum; we’re working on an iPad app as well.  So, that’s all good — but busy and draining.

I published no work last year. Few if any blog posts, no stories, no games, nothing. (Some of my work software shipped, so it’s not nothing, but it’s not what I want to do.)  Some of that was work related, but a lot of it has to do with some personal stuff that’s no one’s business by my own.  I’m mad about some stuff I can’t do anything about, and I’ve not been willing to let it go or change it so that the stuff I’m upset about goes away.  That sort of locked me into a cycle of non-creation that kept me from even making plans I knew I was going to fail at.

So for the first time in a decade, I’m making some New Year’s Resolutions.  Most people make bad ones, but I’m just committing to two operating principles.  The first is to Deal with My Rage.  I’ve got a lot of it (I always have) and I don’t handle it well.  So part one is to figure out how to manage it better.  Being angry takes energy, and all that energy going to stoke my fires is energy that’s not being put towards my other guiding principle:  Make More Stuff.  And by “Make” I mean, finish, publish, let people see. I’m a writer and I write all the time. I’m a programmer and I program all the time too.  But finishing has always been the problem, and it feels like you never make anything if it’s never actually done.

So, I’ve already started working on the anger stuff. There’s a little therapy. There’s some rebuilding some social groups so I have somewhere to talk about things. There’s this project, because projects are good.

I’m spending the month of December figuring out what sorts of things I want to Make next year.  I’ve got a novel/novella that I wrote some time ago in response to 50 Shades of Grey. The movie’s coming out, it might be good to get that in shape for when it does.  I’ve got a really cool and probably unnecessary JavaScript IF parser project that I really want to work on.  (I love writing in JavaScript. TADS and Inform? Not so much).  I’ve got a couple of game ideas to work on, and an interactive toy that I want to make. Then there’s the games website that needs making which points to the games I actually did make in 2013.  There’s a lot to do, probably more than a year’s worth of stuff.  So December is about working on one of these (because I can’t stop myself) and figuring out what takes priority over the next year.

Because I’m saner if I handle my emotions;  I’m saner if I make things and know I’m adding to the world.

This post is over a year overdue, but like the turtle in the story, we just keep plodding forward doing the best we can.

This post was prompted by The Extinction of Blogs and Prototypes for Blog Revival at  Chris Bateman’s Only a Game, as well as several other blogs related to it ( The Day the Music Died and Whatever Happened to Class? as of this writing)

I have a couple of large things to say about blogging, it’s role, and if it’s working/how to make it work better.  This post is just one of those things, and goes to my own history with blogging, which goes back to before there was the term “blogging”.

Back in ’95 we called them “Online Journals”

Something happened web-wise in 1995.  There was an influx of people who got web technologies. There were several free hosting platforms (Geocities and Tripod come to mind).  It became possible for a pretty much ordinary non-technical person to put up a website and stick the things they were thinking about up there.  I did it, and quickly joined a community of people who had nothing more in common than that they all posted their daily thoughts on a webpage somewhere.  Back then there was no software for it — I edited the index page, the current page and the previous page every day to maintain links and often screwed it up.

I did it enough that about a year into it I broke down and bought a domain and wrote my own platform for managing journals, then rewrote it when php5 came out and let my friends join it.  I didn’t incorporate usernames or anything that would allow the different users on my site to interact with each other — because I didn’t think anyone would want that. I also thought that the newest content should come at the bottom of the page, because it’s in chronological order, dammit.  I was pretty obviously wrong about that as well.

The community that I joined in 1995, though, had a problem.  Suppose I create a new blog and I want people to find out about it? How do I do that? You could submit yourself to the Yahoo Directory of online journals, and many of us did that, but really, how do you find people? Well that community had two ways. First we had a mailing list, and then we had a webring.  Webrings linked sites in a sequence so that if you clicked on the next and previous links on it you’d go through all the sites on the webring.  Ours was the Open Pages webring, and it still exists.

Then we went all Social

Eventually, a couple of things happened. First,posts became shorter and displayed all at once, and ‘weblogs” were born. Pretty quickly that was shortened to the unfortunate name of ‘blog’ and we’re where we are today with that.  The other thing that happened was LiveJournal. We didn’t call it that then, but let’s face it — LiveJournal is a social network.   You have an account, you can follow and friend people, and their posts come into your main page. You can comment, and it’s all tied to your identity. It was easy, supported some theming, and there you go — people migrated in droves.  The handful of friends I was supporting either stopped journaling or went to LiveJournal. Eventually I went too (and good thing, too, I met one of my wives there.)

And it starts all over again

Eventually, there was better software. WordPress, and other blogging software made it so someone with a few bucks to spend on a hosting plan that had PHP (almost all of them) and mySQL (ditto) could create their own blogs and do their own thing. LiveJournal was still there, and a lot of people still use it (like most SF Authors I know, with a few exceptions, many of whom just mirror the content onto a main site.)  Discoverability was still an issue, but we were back to a point where it was a few people, and there were tools for that as well.

You find a few like-minded blogs, you do linkbacks (Until those were perverted by spammers). You connect up with Technorati, and find more.   You use RSS and the social aspects of GReader to find more people with shared interests.  You comment on each other’s blogs, and you write blogs that reference theirs. For Gaming blogs, Corvus Elrod made the BoRT which guided some of the discussion, and let other people know who you were as well.

Then we slide back into social media again — twitter is great for sending links and having an open quick conversation about them. Facebook and Google+ do these things too.  The latter two have their own comment systems (and often you can pull those comments and identities into your hosted blog). I’ve started writing things that felt too light for a blog on G+, and I get more commentary.  People do take links for social media, they go and read, but they don’t comment.  (Not on a median site, anyway, some sites do just fine, but there’ the 1% of blogging).

So what’s next?

I get more responses on Twitter and G+ to what I have to say because the fluidity of  it is easier.  You’re logged in, your identity is there, and your voice is easily accessible.  For a blog, you’ve got a minimum to fill out: name, url, email, the comment itself If you want to post yoru own blog that’s an even higher hurdle. Does that mean that I think “Blogs are Dead” or that they’re over?

No, I think we’re at a point when they are at a lull. There’s something more needed– software of some kind — that is needed to push things over the hurdle. Right now our social media is fragmented, and while there’s more commentary there, it’s separate. RSS was largely maimed by Google Reader (and the the loss of social features there — GReader’s demise is probably good for RSS.)  Yet blogs have advantages over social networks — they are owner-controlled, they have some longevity (try to find a tweet from last year), they allow for longer-form, more thought-out writing.

Whatever software gets created will have to keep those advantages but incorporate the ease, identity and networks of the social sites. I suspect it’s going to be some technology that makes it easier to be who you are online, to carry your identity around, and participate in your networks and blogs at the same time.  That’s going to take a third party who is willing to merge these networks together into some new identity, and that’s going to be hard from a political/business standpoint, probably more than engineering of it.

 

Play my March Game, Prism, rorriM, Lz.  Yes, it’s supposed to look that way!

Commentary:

The One Game a Month prompt for this month was “Rogue.”  That leaves me with the idea of randomness, due to the generation of content in most rogue-likes.  I had some thoughts about that, but the game I was working on wasn’t going to be done in time, so I had some second thoughts.  My second thought was, what if you played a twine game, but didn’t know what the choices were? Or maybe the text itself?

That led to the idea of blocking out the text, and covering it with a gradient — a randomly generated one, but one which preserved the sense of it as a set of sentences.  I wanted the covering gradients to feel like words, with the variation in length English words have.  I wanted it to feel like sentences, so I wanted to keep the punctuation.  And since I wanted it to have a real textual feel, I needed to pull it from something that was written, something fictional so there would be conversation and differing length paragraphs.

I played with Google search a bit, but couldn’t figure out a good way to target the kind of text I wanted. I thought about using my abandoned novel, but I wasn’t happy with that. I realized my idea was kind of “glitchy” and that made me think of Alex (@aandnota) .  That led me quickly to think of Travis(@theautumnalcity).  His tweeter handle refers to Samuel R. Delaney’s Dhalgren, which I referenced in my January Twine Game.

I found a copy of the text online, and proceeded to strip out the first chapter, getting the text into ASCII only, and only using hte first part, which is called, “Prism, Mirror, Lens”.  That led me to the action of the three buttons below, one of which can widen the variation of the colors (prism), one which reverses them (“mirror”), and one which focuses them (‘lens”).  These are randomly placed, so the “gameplay” is just a slot machine. Still, I can get to the end after just a few clicks, and there’s a cheat method that I think is fairly obvious.

 

So, the lead designer of Borderlands 2 was talking about something that might have been a good idea.  Then he called it “girlfriend mode”.  There’s some problems with that, which revolve around the intersection of the ideas of women gamers, the typical market for a game like Borderlands 2,  and the culture of video games that allows that kind of attitude to exist.  It’s a problem, but you know what? People fuck up.  They make mistakes, they may not even know they made a mistake, so in this day and age, what is important is how you react to making a mistake.

And how did gearbox react? Pretty badly, if you ask me.  Here’s a sample quote:

There is no universe where Hemmingway is a sexist – all the women at Gearbox would beat his and anyone else’s ass. — Randy Pitchford, President of Gearbox Software (the company making Borderlands 2)

There’s so much wrong with this tweet that I don’t know where to start. Maybe we start at the end and work our way backwards.

So, he’s not sexist because the women at the company he works for would beat his ass.  Or, I guess, anyone who was sexist’s ass. Okay, that may be a deterrent from sexist acts, maybe, but it’s not really going to stop you from being one.   And anyway, this smacks of the “I’m not anti-X, I have friends who are X” kind of logic.   Well, good for you on the friends thing.  I’m glad they’re fairly tolerant of you, or whatever.  This logic was old when I was a kid, and that was a long time ago.

So maybe we should talk about the thing where there “is no universe” part.  You know the part that is naive, blind and just plain wrong.  We live in a sexist culture, and to borrow a metaphor from Mary Ann Mohanraj (whose posts on racism are pretty excellent), we swim in sexist culture crap, and it sticks to us.  We can’t help it, but we can acknowledge it.

To deny it completely is to be blind to it, to be unable to apologize when we inevitably make a mistake, and to be unable to fix it when we see it.  Because we have to know a problem is there, exists, and be able to identify it in order to make it go away.  It may never go away, but it can get better.  But only if we enter our world with open eyes and minds.

And it infuriates me that someone can be in our culture, and particularly in video games culture now, and not be able to see that it exists.  So, Randy Pitchford is either clueless or lying.  Either way, there is currently no universe where what he said is accurate.

 

I like to think that I”m a reasonably empathetic person.  That I can usually see where someone else is coming from and why they are doing what they are doing.  It doesn’t stop me from thinking they are ill advised or making mistakes when they do those things, but I can usually get it.  I do have my blind spots, I admit, but they aren’t that common.

But there’s a whole class of people acting in a way I just can’t understand.  I can’t wrap my mind around what would make them do the thing they are doing, whether they are lying or actually hold the beliefs they espouse, I just can’t get it. It’s alien to me, in the strongest sense of the world: it’s beyond my comprehension.

Okay, that’s vague, so let’s be specific.  And some of this should be marked with a Trigger Warning, although I don’t intent to link directly to that material, what I’m liking to, does.

There’s a woman, named Anita Sarkeesian.  She does a video series called Feminist Frequency.  I find her work to be intelligent, enlightening and entertaining. The series generally looks at the portrayal of women in the popular culture: movies, tv shows, and video games.  She is putting together a series on Video Game Tropes and is Kickstarting it.  (I donated to the project last night, which I’d meant to do earlier, so this controversy helped me remember).

From the moment she started the Kickstarter, she’s been harassed by gamers. There are game forums where the are organizing ways to harass her.  These harassments follow the typical entitled stupid male gamer methods threatening her physically and all the ways in which Courtney Stanton details from her experiences. The Border House had short blog on it, linking to some of the longer pieces by Sarkeesian about what has happened to her.

I get that geeks love things, and they don’t always understand why people don’t love the things they love.  I don’t quite get the idea that things that are loved are above criticism.  Kat has often told me that I complain more about the stuff I love being imperfect than the stuff I dislike being awful.  It’s because I want the stuff I love to be better, and it’s almost there. The flaws stand out more in the awesomeness like an Uncanny Valley of near-perfection.

And I’m really jazzed to hear what Sarkeesian has to say about video game tropes. I’ve probably heard most of it, and it needs saying.  Sure, there are people that don’t want to hear it, but I don’t get the motivation to silence someone. I don’t understand what set of motivations and desires compels someone to act in the way these men are acting.

I can’t wrap my head around it.

So I’ll keep saying things, and doing things like supporting the voices who are speaking out.  Yes, Sarkeesian is still doing this despite all this harassment, and that makes her of remarkable character and strength.  The thing is, you shouldn’t need to have remarkable character and strength to say these things.  But evidently you do, and maybe one day I’ll understand why.

 

When you get the Scoundrel as an ally, the game has forced you to have Leah with you as well.  The entire time the Scoundrel flirts with her in a way that’s obviously not wanted by Leah.  I quickly dumped him, and took the Templar back, but then I got this:

Templar:  I do not like the way he treats Leah!

PC(Female Wizard): He can’t help himself.

I can, somewhat, accept a character who is a scoundrel, who treats women badly.  But this however was jarring.  First, the obvious, where my character is made to excuse the Scoundrel’s remarks with, essentially, “Boys will be boys.”  The other for me, was the way it was voice acted, and the surrounding context that the Templar must by right of his White Knighthood protect Leah from this scoundrel.  (Never minding, of course, that Leah seems perfectly capable of taking care of herself.)

Sure, not all of the comments are problematic, and the game is delightfully fun. (And I’m aware you can like problematic things), but this in particular bothered me.  Last night I got to the Enchantress, and the Templar started going all bubbly on her.  I quit soon after because I was exhausted (and mainly just trying to fix my latency issues).  I’m a bit concerned about what happens next.

[I also want to play as a non-wizard and a non-female to see how these conversations play out, if it’s any different.]

I’m hoping to play some original D&D with the Riders of Lohan tonight, so I spent a very few minutes making a character.  This is an absurdly simple task in Dungeons and Dragons, which is good, because I think we should probably rename ourselves Strikeforce Morituri, if their previous adventures are any indication.  I used rolz.org for dice, which I’ve been using for my G+ Pathfinder game.  And thus Harry Barefoot, (of the Bigglesport Barefeet) was born:

Harry Barefoot

First, the stats. A quick repeat 5 3d6 on rolz.org, and I had the bad news: 11,12,10,14,14,7

Okay, maybe not so bad after all, there’s a couple of 14s in there, we can work with this. Only this is original D&D so that’s my DEX an CON.  My INT is 12, at least so I can read and write.  My WIS is 10, so I can find my ass with my hands, at least. And a STR 11 seems respectable for someone of the Halfling persuasion*.  I did note that halflings can only go to 8th level, but as I doubt I’ll survive that long, I think it’s probably irrelevant.

The DEX gives me an extra point of AC (or rather a lower one) and a +1 to missile attacks.  I guess DEX was always an overloaded stat in D&D.  Not complaining.

I get lucky and roll max hit points,  with a 14 CON I get a bonus point, giving me 7 total hitpoints.  Truly Harry is a halfGod among halfMen!  Next, I roll a 10 for 100gp, which means I even get armor too!

I got a short bow and 20 arrows; a sword, a backpack, a few torches, 50′ of rope (in case I need to be lowered into a pit) and some food.  Halflings always travel with food.

Harry’s family is really big in Bigglesport, but there was a minor (Seriously, it was no big deal!) scandal and Harry had to hi tail it out of town.  He met with someone who told him he was a Scion of the Cerulean Shrimp (and after beating the guy up for calling him small) moved on to wherever the adventure is awaiting, and joined it.  Treasure is good, right?

And here’s a link to Harry’s Character sheet.  Even back then they couldn’t fit the whole thing on one side of a piece of paper.

* By which I mean, someone who hides in a shadow and shoots arrows.

 

 

My daughter (aka Goddessdaughter) is lacking in certain important life skills.  She doesn’t know that you jump on Koopa Troopers so they won’t be able to attack you in Paper Mario. (And never mind that that lowers their defense so that your other attacks work better.)   She skips past dialog faster than any regular person could read it, and then wonders why we know stuff she doesn’t (when we haven’t been playing Paper Mario any longer than she has).  “You have to read that stuff,” I told her.

“I like it better when someone reads it to me,” she said.

“You don’t always get voice overs,” I said to her.  “Particularly in these older games.”

“Oh,” she said, looking dejected.

I play a lot of these jRPG style game, not so much lately as a few years ago.  Back then we had a roommate who played them even more than I did.  The Goddessdaughter always asked to play them, but we told her she had to be able to read to play them, but then she could play them all she wanted (well, within reason). Now she can read and doesn’t bother.

She wouldn’t last 5 seconds into Ultima Underworld.

I’ve recently started playing UU along with Corvus Elrod; we’re blogging about it on G+, and I’m generally having a good time with it.  We talked about doing this sometime last year, probably August or September, when I started playing through the entire Elder Scrolls line (I didn’t quite finish Arena, and “played” Oblivion mainly by watching Kat finish every quest in it.).  Ultimately, I want to think about how these games are similar and different, and what they do well.

The people who made UU went on to make some of my favorite games.  Their studio became Looking Glass Studios where they made my favorite stealth game, Thief  (which might also make for a nice playthrough, before Thief 4 comes out.)  I knew it was an older game, which comes with challenges.  Gog.Com took care of the primary one — getting it to run, but there’s a big difference, as I noted to my daughter, between modern games and the ones from the UU era.

There’s precious little voice acting in UU, and very very little hand-holding. I have hints about where I can go, and there’s no log of quests (or todo lists) for me.  I’ve got the basic one: find the princess by going deeper in the abyss.   But there’s notes everywhere, and little bits of dialog.  Everything is there to politely imply things, to make you think about the puzzles and environment in certain ways.   This led me to a bit of logical reasoning that simplified one jumping puzzle, and made me feel really smart.

Here’s the thing: UU hasn’t just abandoned me to figure things out, much like Arena did (where sometimes what you needed to do was go somewhere, find out about it, and then load a save game to prepare for it. see: Ice Wolves).  The information is there, but I’ve got to find it.  It’s often right in front of me but I have to look at it, I’ve got to read.

And reading is both literal and figurative here.  There’s lots to read: conversations with the denizens of the abyss; scrawls and plaques on the wall; notes left behind in haste.  There’s the map that fills in as you go, but doesn’t show you everything; and sometimes shows you things you didn’t (or couldn’t see).   This is a functioning world, moving on without you, much like TES.  You have to inform yourself about it, though, no one is going to just lay it all out for you.

I like this, it feels like I’m actually exploring, not just going to where there’s an arrow over someone’s head. I loved Skyrim, but sometimes I needed to just unfollow the quests so I could see the world without the games’ interpretation of it.  It was nice to turn that on, and do my todo list, but UU makes me pay attention.  I have to, to survive.

And when I do, it rewards me, and I feel smart, competent and capable.

I descend to the second level soon, where I hear things get that much harder.