Text disabled

Tuesday, September 27, 2016

Porting from RAGS to Inform 7

I started a game in the RAGS engine which showed, to my mind, a great deal of promise. It stalled for a number of reasons, most of them related to my personal schedule, and some of which were related to the RAGS engine itself. If you have never made a game with it, RAGS is a blessing for players and a nightmare for coders. The programming, or perhaps I should say scripting, is done through a cumbersome graphical interface; the code is not reusable from game to game; it is far from modular. Worse, at least to me, is a reliance upon a player GUI where art occupies >50% of the screen. RAGS and similar games breed a type of player that depends upon pictures and mouse clicks as a crutch to actual gameplay, problem solving, imagination, and understanding. The kind of game usually produced in RAGS is one where any player could randomly click on things until pictures of boobs appear. One not even understand the story, read the text, comprehend the intricate possibilities, know the choices presented, or pick a path with care.

There are advantages to a primarily visual interface and I do not mean to say there are no good games in that format. I merely observe that players who rely on a RAGS-like system to play a game are not challenging themselves. Perhaps this is acceptable in a game that is primarily for sexual satisfaction; the goal of such players isn't to be challenged but to have an uninterrupted build-up and climax. I'd rather have the intellectual experience of figuring out what to do, where to go, and what it all means. This presumes, of course, that the challenges are intentional and not merely obstacles of poor game design, bad writing, or buggy code that must be worked around.

Therefore, importing the game "Anything You Can Do" into Inform will create a great deal more challenge than existed before. My writing partner and I will be able to introduce more complications, more random events, more varied text, more outfits, more locations, and more artificial intelligence (albeit primitive) than was available in RAGS. Partly this is because I am switching to a language that handles such variations, conditional statements, and branches more gracefully. It's also because I am abandoning the need for art. The precious RAGS version had some 200 images of the player, in all four available races, with multiple hairstyles, with three different breast sizes, with and without makeup, and depicted wearing various combinations of clothing items. Now that I am switching to a text-only format, the complexity of the wardrobe can be much more easily multiplied — and the game itself is leaner and faster without all the image files hogging up memory.

I am sure some players will say "go back and finish it in RAGS." I will let others do that; I am going to make the game as I want it; and if someone wants to rebuild it in a clumsy visual format, they're welcome to it. I'll send you the code.

Monday, September 26, 2016

What the player wants

Like the old saying goes, you can have it cheap, quick, or correct; pick any two. Work that is inexpensive and fast is rarely of any quality; work that is fast and good usually comes with a high price; and work that is both correct and affordable will rarely be done by your schedule. Something similar applies to finding out what the player wants in his game. The author can ask the player an exhaustive list of highly specific questions, at some cost of time; or quickly breeze through a few questions, sacrificing either completeness or comprehension.

This is especially true when we are dealing with games that simulate social activities like flirting, relationships, and sex. Humans rarely ask for what we want; our social rules do not always allow us to. Sometimes what we want is for someone else to take charge, to not ask us what we want, like a handsome stranger who seduces the player despite her breathy protests to the contrary. Paradoxically, what we want is sometimes the very thing that it is impossible to ask for. In the real world we insist that no means no, but in a fantasy we might wish for no to mean yes.

In order to solve the problem of making a game where no can mean yes, I am writing an extension for Inform called Preferences. It allows the player to specify, in some detail, what is encompassed in his or her sexual fantasies, and to exclude that which is not. It's impossible to be complete in this endeavor, for every fantasy has myriads of sub-categories that would take infinite monkeys, splitting infinite numbers of hairs, to define. And we can't be entirely accurate in every fantasy, since what constitutes a fantasy is somewhat variable from person to person. But we can eliminate the time factor. Rather than have every game ask the same basic questions, Preferences will let the player define these things once, for all Inform games.

I will have more to say about the Preferences extension as I get closer to a release date. I do know that Body Thief will be the first game to incorporate it.

Friday, September 23, 2016

Body Thief

This is a short proof-of-concept game that I built to test a couple of simple things:
  • After you body-swap with a really stupid character, the text descriptions and your dialogue options get gradually simpler as you get dumber. Eventually, you forget your original identity.
  • The Dynamic Clothing extension needed a test drive.
You can choose MTF (start as a male and become a braindead sexy bimbo) or FTM (start female and become a meathead jock). Either way, you gradually lose intelligence. If you hang around with the person you body-swapped with, they'll deliver some quips as they gain in intelligence. Try to get to your friend in time to swap out of your new stupid body before your brain drains completely away!

Planned for future release: quips for being in Jake/DeeDee body while not in motion; changing the run-away text for DeeDee/Jake; create obstacles along the path from the Curio Shop to the Triple Cross (on foot); fill in descriptions for those rooms; create variable descriptions for all items that can be examined; add wear/remove clickable links to items in inventory screen; random text encounters for men in the club; routine for making out with DeeDee/Jake (only when you lose the bus pass); drunk variation on nightclub conversation as well as the conversation in the shop.

Release 10, under construction:

  • Fixed the bus dialogue so it only triggers when your companion is there. It was firing incorrectly.
  • Combined the walking-around text with the drunken-walk text into a single routine so they do not fire simultaneously. This had the consequence of removing the DeeDee/Jake drunk text. I will probably move the routine back to its previous place (the "report going" rules) so both sets of the text show up as an alternative, not in addition, to the normal going rules.
  • Added a hyperlink to exiting the area after DeeDee/Jake gloats and runs away.
  • Fixed the talk-to hyperlink for DeeDee/Jake in the Banquet Room. It was incorrectly using the hyperlink to examine.
Known issues: the additional rooms accessible by bus (Atlas Street, Front Street Bus Stop, etc) have no content and no descriptions in them. It is possible to leave the Banquet Hall while naked and be unable to return to finish the game. The proprietor has no description and no clothing.

Release 9, version 0.45
  • Conversation with DeeDee after entering the bus post-swap is mostly complete. You should be able to kiss DeeDee or flash your tits.
  • DeeDee and Jake will now have a comment about buying a drink if you make it back to the bar with them. At present it only appears the first time you return, but I want this to be expanded.
  • If you talk to Jake or Amanda after reaching INT<70, there should be a game-ending conversation node. I must test to see if this is working as intended.
  • Multiple-window interface and working hyperlinks throughout are implemented.
  • Going OUT while sitting on the bench on the Number 43 bus does not always make you attempt to exit the bus. I attempted a fix for this, which was not robust enough.
  • A hyperlink has been added to the conversation with DeeDee/Jake that leads you out of the Curio Shop.
  • A hyperlink for undressing has been added.
  • After asking your swap partner about getting a drink, the conversation ends (no more conversation suggestions appear).
  • Additional quips appear when you wander around the city in swapped condition. The purpose is to provide hyperlinks to help the player get (some of the way) back to the club. The player will not be given links all the way back to the club, as getting lost is an intended potential hazard; being told exactly what to do in each turn and being spoon-fed hyperlinks all the way to victory makes it too easy.
  • Walking around the city after being swapped leads to random, location-contextual text that appears. These only appear when the player is in motion.
  • When conversation is started with Ryan and Amanda, conversation suggestion now correctly appears.
Known issues: the additional rooms accessible by bus (Atlas Street, Front Street Bus Stop, etc) have no content and no descriptions in them. It is possible to leave the Banquet Hall while naked and be unable to return to finish the game.

Download:
Body Thief v9

Release 8, version 0.4
  • It is now possible to order drinks while swapped. This command does not yet have a hyperlink but it is ORDER A DRINK (if you are alone) or BUY A DRINK FOR [person] (if you are with somebody).
  • It is also now possible to drink too much. This is only possible after you have been swapped.
  • A bug with Jake's clothing not fitting has been fixed.
  • Also, a bug with Jake not being able to get out of the men's bathroom has also (I hope) been fixed.
  • Some buggy text removed from examining DeeDee's ass.
  • It is now possible to lose your bus fare (as Jake/DeeDee) if you have drunk too much.
  • Some additional color text has been added, only in DeeDee's body, only when in motion. More is planned.
Known issues: the additional rooms accessible by bus (Atlas Street, Front Street Bus Stop, etc) have no content and no descriptions in them. It is possible to leave the Banquet Hall while naked and be unable to return to finish the game. Going "out" while sitting on the battered green bench in Number 43 will not exit the bus, only the seat (this is corrected for future release).

Download:
Body Thief v8

Release 7, version 0.35
  • The range of player intelligence has been rescaled. Behind-the-scenes numbers: where before your INT began at 140, it now starts at 125. DeeDee/Jake has an INT of 60, and it was always possible to drain fully to that level if you simply wandered around doing nothing; but there was a threshold at which it was no longer possible to "win" (escape the body) because you forgot your old identity. Previously that threshold was 95; now it is 70. This means 1) the quips about decreasing intelligence appear sooner (at INT=121); and 2) the dialogue that kicked in at INT=80 and INT=70, which didn't kick in previously, will now do so.
  • The player has 5 [correction: 10] additional moves before losing identity.
  • Looking, examining, and taking inventory do not cost moves.

Known issues: the additional rooms accessible by bus (Atlas Street, Front Street Bus Stop, etc) have no content and no descriptions in them. It is possible to leave the Banquet Hall while naked and be unable to return to finish the game. Attempting to buy drinks while switched does nothing.

You will need an Inform 7 interpreter, such as Gargoyle for Windows or Spatterlight for MacOS.

Extensions

Inform 7 is my platform of choice, because it is modular. I can write an extension that can be re-used multiple times, without reinventing the wheel each time.

My current list of extensions under construction:

Weather [complete]. An extension to govern whether rooms are indoor, outdoor, or covered, and how they are affected by weather effects like rain, wind, heat, and humidity. Indoor rooms are defined by whether weather effects can be seen (such as lightning or rain on the windows), heard (like wind or thunder) or felt (like rain, snow, or cold). The author is allowed to define what weather effects are taking place, and when.

Dynamic Clothing [complete but being tested]. A complete model of the human body that can be defined by certain dimensions like height, muscle, breast size, shoulder and hip width, breast size, hair length and style; and other values calculated from them, such as inseam, waist size, cup size, shoe size, etc. Includes a layered clothing model where clothing is described based on what is visible; underlying hidden items are not mentioned unless there is reason to do so. For instance, wearing a black bra under a thin white shirt may be visible. The body model includes a 2-axis descriptor of skin tone, hair length in 3 regions, shaving areas of the body, pregnancy that affects waist size and cup size, presence of genitalia that is independent of the actor's gender, and more. Uses Weather (for rooms that are cold, nipples may be visible).

Basic Help [complete]. An expandable hint system that prints a table of commands that new players can refer to for assistance in Inform. The author can add new lines to the table for any custom new commands.

Body-Swapping [under construction]. An extension to automate the process of assigning a body to a specific actor. This can be used to assign a body, as when the player takes on an alternate form (such as Ranma Saotome's girl-form, or Mystique imitating someone); or to exchange the bodies of two characters; or to assign the player a specific predetermined body after a transformation (as with Jeykll and Hyde). Requires Dynamic Clothing.

Beautiful Faces [under construction]. Attempts to do for faces and makeup what Dynamic Clothing does for bodies.

Preferences [under construction]. An app and extension that allows the player to specify what kind of content he would prefer to avoid in Inform games. Authors who use the Preferences extension can read in the player's desires, and either accommodate them (that is, skip past content the player doesn't like) or warm him that such content cannot be avoided. Users can specify their preferences for many things, such as starting gender, starting name, post-transformation name, response to transformarion, and whether to allow content like unwilling sex, mind control, bodily fluids, breast enlargement, bondage, and many others. Requires Names.

Body Preferences [conception stage only]. A separate preference app to define the player's preferred starting form, and preferred post-transformation form, if any. Requires Dynamic Clothing.

Names [under construction]. An extension that contains thousands of common English names along with the appropriate formal, nickname, diminutive, and opposite-gender forms. For instance, Chris corresponds to Christopher, Chris, Chrissy, and Christine.

Links will follow (as well as code) when I get a moment to upload them somewhere.

Why a blog?

The website at TF Games Site is dedicated to games based upon transformation of various kinds, including gender. Why have a blog of my own?

1. I can talk about whatever I want on my own blog and post as often as I want to.

2. There isn't appreciably more feedback on the website than there is here — sometimes, none at all. There is thus no particular disadvantage to a low-traffic blog.

3. The kind of game engine I like to use, and the kind of games I make, involve actual writing: characters, themes, clues, challenges, branching paths, and making the player think. That doesn't always go over well with people who are only looking for a quick hit of image-dense porn that can be played with one hand.

4. I can post game links in addition to game code here.

Oh, I know: I can do many of those things on a website. But the biggest advantage is that this is a blog I can dedicate to the art of game design and creation, directed to other authors and people who actually play the games I make. By contrast, the TF Games website is mostly posts by fans, and mostly about games I'm not interested in, or that I don't play; or about RPing various fantasies while waiting for some game to update; or about issuing demands for more, better, or specific game content. Increasingly, the content of the website is just not interesting or engaging to me. If you love the site, good; I am not attempting to insult the site or its users. Rather, I applaud you for finding that which you enjoy.

Welcome

I like making games, especially interactive fiction. It is a form of collaborative storytelling, which I find fulfilling. As it happens, I also appreciate erotica, and specifically the erotic potential of a character that changes sex.

You might say, "So you're transgender, then?" No, not really — I have no intention or desire to transition. Strange as it might seem, I think it's sexy to imagine myself as a woman, but I have no interest in actually going through with it in real life. Sure, sure, I can hear it now: you're just in denial. Well, I say I'm not, and you're not in my head. So there.

You might also say, "So you're into transsexuals, then?" I didn't say that either.

It is called (by some, at least) autogynephilia. Some in the transgender community insist that it doesn't exist, because it doesn't comport with their own desires. Some others attack the term as being impolitic or medically inaccurate. I'm not going to rehash that debate here.

I'm just about making those games, boss.