Sunday, October 25, 2015

Announcing Roodylib 4.1.1 - the "Information" release!

So, a couple months ago, I had recently added a donation button to this blog.  A generous soul jumped on that right away.  I decided the best way I could pay him back was to improve the Roodylib documentation so people wouldn't have to dig through "roodylib.h" for all of the hidden features.

It took much longer than I had predicted, but I like to think that the final product is nicer than I originally foresaw, too.  Plus, writing the documentation led to a couple updates in Roodylib itself, so all in all, I'd say this was a good deal!

Download Roodylib 4.1.1 here

or...

Download the latest Hugo Notepad++ bundle

Changelog stuff

        * updated - BeforeRoutines, AfterRoutines, RepaintScreen, DoInventory
* some additional HugoFix object tree organization, a HugoFix recording playback helper, $mp tweak
* made automatic-door-opening look nicer
* if a key_object is set quiet, it won't automatically open a door until after it has been explicitly used
* USE_SCOPE_REACT for checking react_before/after of scope objects
* changed PreParseError to BeforeParseError
* changed USE_SMART_PARENTS to SMART_PARENT_DIRECTIONS
* attachable behavior improved, especially with regards to pushable things
* USE_JUKEBOX, USE_CONFIG_SYSTEM added
* better DescribePlace configuration support
* cleaned up some rollable-objects code
* reworked how some FORMAT & LIST_F and indentation stuff works
* updated documentation

Sunday, October 18, 2015

Games That Never Were

So, this post is a little late, as I've been meaning to write it for at least a week or so as followup gratitude for the last donation.  Roodylib documentation is almost done- just some section introductions to write here and there and make some final decisions on text formatting (early shout-out to Paul Lee for proofreading!).

Anyhow, I figure reading about game-ideas-that-died can be a fun read so I'll write about a couple collaboration ideas that met untimely demises.

Uncanny Valley (collaboration with Robb Sherwin)

quick description:  Deadline-on-a-spaceship

In Uncanny Valley, you would play a female officer on a big spaceship with a large crew comprised of both humans and human-looking androids.  Some murders happen.  You investigate.  The possibility is raised that some of the androids are going crazy.  Some tense almost-killed-by-androids scenes happen.  Turns out they were programmed by that evil dick captain (or somebody. I forget what we decided)!

I think we wanted to do a Deadline that played a little more fair- having time-sensitive scenes that were largely clued by game events or triggered by player knowledge.  Robb had previously brought to my attention that Suspect pretty much had the best manual ever* (despite not being a very exciting game itself), and we wanted to contribute to the legacy of those games.

* I will always laugh at mentions of "Good evening, I'm Charles Edwards. I'm an emergency room surgeon. Have you ever been in an emergency room on Saturday night?".

Plus, I've always wanted to do something with Hugo's character scripting, and it seemed like androids were especially good for that.

We were also big fans of Jason Scott's The BBS Documentary and we wanted to do a shout-out to BBS culture, so the ship was going to have a BBS-based inter-ship communication system.  The player would read through hundreds of mostly-humorous messages, many from crew members you never meet in the game.

The ship BBS would be split into multiple sections, one where everybody has to post as themselves and one where people can use handles.  As the game progressed, you'd figure out this or that person was this or that handle, and there'd be ways to unlock hidden boards on the BBS, too.

This was my proof-of-concept of the computer system, where the top window would show the protagonist's thoughts as she learned important bits of information.

I was excited about writing about a female protagonist, too, as that's something I've never done.

I had a vision for the game that when the game starts, your character would look out a porthole and see a bunch of ASCII stars, setting a desolate mood in a nicely retro way.

My star-printing proof-of-concept
I even considered writing the randomly-generated stars to arrays so if the player changed the window size, the same configuration would be printed again.

Why It Didn't Happen and What Came of It

Most importantly, UV was a break from other projects and we never really committed 100% of our attention to it.  Eventually, we were distracted by the next project I'm going to talk about in this post.

Interestingly, Christine Love's Digital: A Love Story came out within the next several months, and while I didn't play it until much later, it also did the fake-BBS-society thing that I had loved in the 1988 adventure game, "Neuromancer" (and manages to do it in an enjoyable, concise way even) and was somewhat what we had aimed to replicate (and truthfully, I wasn't super excited to write all of the computer entries the game idea deserved).

What I did notice is that two space-based AIF games came out within the following year with similarities to our idea (one murder mystery with computers and one had a similar ship layout to what I had imagined), and that also made me less excited about ours.

My star-printing code helped inspire some of the random stuff in The Next Day eventually.

getting sleepy
dreaming

Loose Cannon (collaboration with Robb Sherwin and J. Robinson Wheeler)

quick description: comedic homage to 80s cop show/movie tropes

The first PAX East attracted a bunch of us IF enthusiasts, rallied together for a screening of Jason Scott's latest documentary, Get Lamp.

A few of us made a side trip to check out Infocom's old headquarters (and I'm wearing a jacket- I wasn't trying to bring flannel shirts back!)
I had the great pleasure of meeting a bunch of awesome people for the first time but also got to see some great people again like Robb Sherwin and J. Robinson Wheeler.  At one point, somebody suggested that we all do something together.

It was going to be set in that same sort of seedy, near-future of films like "Robocop."  As you probably would have guessed, you'd play the kind of character at whom a police captain screams, "You're a loose cannon!".  There was going to be a main villain who kills your partner.  I was even looking forward to doing a sort of slow-motion-presented-textually scene where the player could earn easter egg points by typing >NOOOOOOOOO    >OOOOOOOOOO over several turns; this would have been a challenge both in properly cluing to the player and handling on a parser level in Hugo, but I was looking forward to both.

Then we were going to team up the player with an android cop, a plot point that I wasn't entirely happy with (I thought Rob already had enough androids in his games!), but hey, I really wanted to give the first partner a death scene!

I wanted each section to begin with what looks like a torn piece of paper from script- didn't perfect the effect before the game was abandoned

Several scenes were going to rely on a particular game mechanic.  There was going to be a shooting gallery shootout, a car chase, and so on.  I even wanted to do a scene in a strip club with the protagonist sitting at the bar with only the strippers' legs within game scope.

Robb wanted the score to be sort of meaninglessly insane, where you can get hundreds or thousands of points at a time.  Since Hugo integers can only go to 32767, this involved coding a special scoring system.

What little we did also inspired some updates to one of my conversation extensions (long since put on the backburner in favor of Roodylib but I'll be quite happy with it when it's done).

you can't really *see* the cool things the conversation system does here but they're there!

Why It Didn't Happen and What Came of It

I think early on it became clear that we didn't all have the same vision for it, and communication and attention to it fell away and everybody went back to their own projects.

In 2013, J.J. Abrams produced a buddy cop tv show called "Almost Human" where the protagonist gets partnered with an android.  When I first heard of it, I joked that Abrams had hacked our e-mails (Abrams is also an Infocom fan, strangely enough).

I felt some elements of this game idea showed up in J. Robinson Wheeler's 2015 work, Moonbase Indigo, so if that sounds appealing to you, you should go check that out!

Later that year (2011), Robb released Cryptozookeeper.  You can help his latest WIP get Steam Greenlit here!

Saturday, October 3, 2015

Trizbort! Maps!

So, first off, I had another super awesome donation to the blog, and this particular person loves maps so I thought I'd do a map-themed post.  The timing for it is great because Trizbort, the IF mapping program, recently added a feature to export maps straight to Hugo code!

One of my Trizbort maps.  Recent versions of Trizbort have the ability to declare groups of rooms as "regions," giving them whatever color you choose.  I'd like to make my old maps even prettier one day but picking colors and such is always such a headache.
Drawing a map can be a great way to get a head start on coding a game so I'm quite psyched that Hugo-code support has been added!  I tried the code export tonight; I did find some problems, but the release notes made it clear that is expected and I look forward to sharing my notes with Jason about the problems and a couple other suggestions!

Unfortunately, my map-loving patron has an Apple computer so she can't make Trizbort maps herself.  Maybe I'll try to map another, smaller game and make it as pretty as possible for her donation!

Documentation Update

Been making a lot of progress on the Roodylib documentation lately.  It's taken longer than I expected, but I'm pleased with how it's coming together and it has already resulted in some making-things-more-intuitive changes to Roodylib (with a couple more planned).  If I keep up this pace, I may have it done within a couple weeks, and Roodylib (and the Hugo notepad++ distribution) should both get official updates soon after!