Thursday, February 16, 2012

Keeping it Warm

Another busy semester is in progress. I did get a recent jonesing for pen-and-paper D&D, though. Specifically, I started sketching out an interesting half-orc wizard concept, but I had no way to squeeze him into my schedule. Then I thought of trying some play-by-post--you know, just a few minutes a day as a player--and thus found The Tangled Web.

I've been lurking here for a while, particularly watching this Arval Prison game. But, though I started a digital character sheet, I haven't gotten the time to actually finish it. If I can't even do that, there's no sense joining a game.

But, this brief foray back to D&D also brought me back to Zilch. I've actually been poking at that on and off for the last couple weeks, tidying things up here and there. It's still rather quirky in spots, but I like it, even after a long break. So I'm keeping that warm and we'll see what happens.

I've got a few programming, TA, and course projects building up, though, so it looks like I'll need to put the RPGing back down again for a while. Damn, there's just not enough time in the day anymore!

Monday, January 16, 2012

cRPG: Running Diablo 1 on Windows 7

There's a fair amount of scattered, occasionally-conflicting information about running Diablo 1 (the first Diablo game) under Windows 7. (If you found this post, you've probably already seen some of this info.) Here are my experiences.

Out of the Box:
Diablo 1 will install and run under Windows 7. However, the original unpatched version of the game stores multiplayer character files in the WINDOWS directory. This means you have to run the game as Administrator. (Running the game from the CD automatically prompts you to do this.) If you don't, you won't be able to create a new multiplayer character or see any of the multiplayer characters you created during previous sessions. (I haven't messed with single player.)

Connecting to results in a long pause with the message "Searching for the fastest server...", which eventually times out after about 1 minute with a "Could not connect" error message.

It is also not possible to play multiplayer across a LAN using IPX because Windows 7 no longer supports IPX. I installed Windows XP Mode with Virtual PC. While this allows for IPX, it is not a solution because DirectX will not work under XP Mode. This means the game won't even start under virtual XP.

Instead, I went back to Windows 7 and used IPXWrapper. You just need to copy the 3 provided .dll files into your Diablo directory to do this. (This code seems safe. I skimmed the source, which is well-formatted, and I didn't notice anything obviously strange. I haven't had any strange new processes or network connections made since running it, either.)

I was trying to play Diablo between a Windows 7 and a Windows XP machine. Note that IPXWrapper is tunneling IPX over UDP, so you can't play using IPXWrapper with a machine that is natively running IPX. All the machines involved need to be using IPXWrapper. But using IPXWrapper is actually easier than installing and configuring IPX on Windows XP anyway, so this is not a hardship once you know about it.

Having to run Diablo as Administrator annoyed me somewhat. I was also curious if I could get to work. (It is no longer listed even on the Classic site).

Installing the latest patch to 1.09 means Diablo will now save multiplayer characters in the diablo/ game directory. Thus, running as Administrator is no longer required. Also, I could now connect to a server. (I did not bother actually creating an account and logging on, though.)

Bad/Broken Colors:
Patching breaks the color palette, though. This is obvious in the opening Blizzard animation and in the game itself (though the pre-game menus look fine). Some have reported luck with the Compatibility settings, but none of the combos I tried worked for me. (For example, setting the mode to Win98 or earlier meant the game couldn't find the CD-ROM anymore.)

The weird trick some have reported of opening the Windows Screen Resolution settings window and leaving it open in the background also did not fix this for me.

(2014-06 Update: The explorer-based fix below no longer works on my system. However, see Mary's comment on this post about a simple registry fix from Blizzard that solves this problem.)

What did work was: start Diablo, Alt-Tab and open the system Task Manager, and kill explorer.exe. Then Alt-Tab back to a correctly-colored Diablo. (Weird, I know.) When you're done with the game, you can return to the task manager and File -> New Task (Run...) -> explorer.exe again to bring back your task bar, etc.

As reported elsewhere, you can automate all this with a simple batch file. Save the following into a file named diablo.bat in your Diablo game directory:

taskkill /f /im explorer.exe
start explorer.exe

You can now change your start menu shortcut to point to diablo.bat instead of diable.exe. You just have to hit any key in the console window after you quit Diablo bring back explorer. (Annoying side-effect: this closes any open Windows Explorer windows too.)

All told, unless you are running into some of the game bugs fixed by the patch or want access, it's probably easier to just set the original unpatched version to run with Administrator priviledges. Also, if you do patch, all games must be patched to the same level to play over IPX.

On a related sidenote, Diablo 2 runs fine for me out of the box under Windows 7.

cRPGs: The best solo play solution?

It's been a long time. I spent the summer finishing up my dissertation, and then I started another degree in the fall. The combination of teaching, taking classes, and trying to do research consumed me. I haven't had any time for gaming in months--and that sucks.

The last project I worked on during the summer was a playing-card-based dungeon-generation system. The idea is to quickly generate rooms, encounters, features, etc. I've been browsing a few other card-based approaches, and even found a Sudoku-based approach.

My idea here is that a gaming/generation system that allows for solo-play would also allow for GM-less group-play. But the trick here is balancing random generation with pre-stacking the deck and interpreting the results. Too much randomness sucks, producing a stale or discordant dungeon experience without a decent story behind it. Too much interpretation requires the player(s) to be rather schizophrenic, switching between omniscient DM and world-ignorant character.

So what's the best blend here for solo play?

Random generation: Dungeon-generation tables have been around for decades, and now numerous online apps will do all the tedious rolls and lookups for you. However, I find the results to be exactly that: random, discordant dungeons that you have to grind through. They usually lack structure--both narratively in terms of the quest/story and logically in terms of architecture and monster assortment. Simply replacing a dungeon generation die-roll table with cards won't improve this random flavor at all. There needs to be some way to tweak or interpret the cards--either beforehand or during the game--to produce a coherent emergent structure.

Solitaire systems: This is includes Choose Your Own Adventure books, gamebooks, solitaire adventure scenarios, etc. These have a pre-authored plot, and so the quality is better than random generation. But your options tend to be rather limited here to a couple options at a time. More than this and you need to start DMing in order to keep the story moving along its designed path. But DMing requires knowledge of the story, which brings us back to the schizophrenic scenario of solo DM/player.

Balance: So, again, how to balance author-provided quality with user choices and the openness of random generation?

For a little more money, there's a lot of board-game-like dungeon games out there which shoot for this. They provide a quest structure and then board-game rules for playing out the encounters along the way. Indeed, these were the original inspiration for my home-brewed zilch/card-generation system.

But there's another genre out there that does this even better: computer games! Aren't these the perfect solo RPG experience? Rich immersive multimedia experience, randomly generated content for maximum replay value, all with an authored storyline laid over it. Why not just play cRPGs then?

I've already started this exploration. I'm looking at NetHack, Diablo, DiabloII, and NWN. I already know that there's something different about a solitaire table-top RPG vs a cRPG experience, but I'd like to try to nail down just what that is.

I'll let you know what I find out...

Monday, August 15, 2011

DRYH: Car Ride Session [backlog]

In July 2010, three of us played a little Don't Rest Your Head on a long car ride. Mechanically, this worked very well, as there's not much overhead. I used a cup to hold and roll the mini-dice I created previously. I GMed from the back seat. I didn't have a preset story and just planned to improvise.

My two players created some very interesting characters.

Brett: John Hannigan
Surface: Homeless war vet: scraggly, scars, limpy, quiet. 15 years since the war. Has a shopping cart. Carries a book from/by sister Laura (about 28 years old) which he also uses as a sort of journal. It has old letters stuck in among the pages.
Beneath: Memory is slipping away. Feels vague guilt over the death of his brother Tom (fled?). Laura's letters stopped coming recently.
Insomnia: Nightmares about Tom's face. Sees bright/flashing lights while awake. Recently saw a "nice lady" too.
Path/Goal: Find Laura and explain (to her?) about Tom.
Just Happened: A bright light while crossing the street, now shopping cart is gone. Only book remains.
Exhaustion talent: Heightened Senses
Madness talent: Draw something in his book and it becomes real
Respones: 1 fight, 2 flight.

Becky: Eli Fox
Surface: Upper-middle class white architect. Attractive in his business suit. Early 40s. Drives into city for the week. Works long hours. Married for 8 years. (Wife?) married young.
Beneath: Distrusts wife. Has been drinking a lot and has a coke habit. Wants to kill wife and lover. Bought a gun recently.
Insomnia: Walked in on wife and another man (a stranger).
Path/Goal: Revenge and closure on infidelity
Just happened: Hit someone with his car, and ran, taking his gun with him.
Exhaustion talent: Persuasive/smooth-talking
Madness talent: Endurance/resistance/strength
Responses: 2 fight, 1 flight

I was impressed by these characters, but I found it hard to bring them together. They started separately, after Eli crashed through John's shopping cart. John followed a wandering PaperBoy into an old gas-lit subway entrance. Eli got picked up one of Tock's clockwork patrolmen.

Improvising as I went, I had a very hard time bringing these two characters back together. Even after a long roadside break and some pondering, the story never really picked up again. I had some ideas that Eli would get involved with the Ladies-in-Hating--probably through one that looked like his wife--and possibly dealing with Mother When. Mother When would also work for John's story of loss--possibly reached through lost Mad City children and the Finishing School. I also had some interesting custom nightmare thoughts for John: a War Monger and a number of Leaf Tenants (play on the word Lieutenants, in light of the British pronunciation, "leaving", and tenements.) that burn in horrible conflagrations. This would somehow tie into John's war experience.

But these ideas never really picked up steam. I eventually got Eli and John together using a previously conceived nightmare/local of my own design: Benjamin "Button" Bridges, who runs a small warehouse of buttons, each imbued with a different memory or dream experience. As I recall [it's been over a year now], Tock's men came knocking on the warehouse door and John and Eli fled. I think things ended there, because I hadn't yet managed to give them a solid hook to tie them together and drive them into a story.

The main reason I'm blogging all of this now is as a reminder to myself of the agony of improvised GMing. I still think I had some rich characters, willing players, and some decent general ideas here. But I just couldn't pull it all together in time on the fly. Any GM-improvising system/tool should help with this sort of problem: not just generating ideas, but pulling them together too.

Another lesson is a variation on that old chestnut: "Never split the party." In this case, I think starting with the party together and firm goal would have helped a lot. Bouncing narration back and forth between two storylines sucks.