Text disabled

Show all posts
Showing posts with label Dynamic Clothing. Show all posts

Thursday, December 1, 2016

Extension: Dynamic Clothing

This is the first release. It can do the following:
  • Contains a dynamically-described body model for the player and other characters which can be defined by certain base characteristics. A list of such statistics and their ranges is given below.
  • Many elements of the body model are calculated from the base statistics. For instance, the total breast size is calculated from natural breast size, implants, fatness, and whether the character is (or ever was) pregnant.
  • Characters in the game (including the player) can be described automatically based upon their body statistics and their current attire. The automated description routine can be overridden completely if the author wishes to have a special text all his own.
  • When a character has implants, the breasts may be described differently depending on whether the breasts are mostly natural, mostly implant, etc.
  • Characters can be pregnant. This affects only the description of the character, his/her clothing sizes, and breast size (in a small way — currently pregnant characters and characters who have been pregnant have slightly larger breasts than they would normally have had). Pregnancy is rated by # of days/months as well as by the number of gestations (eg, twins).
  • Sexual characteristics are not gender-specific. Both male and female characters can have defined breast sizes, cock sizes, or pregnancy.
  • When the player uses a command like EXAMINE BOB, the character of Bob is given an overall description. This description is automatically prioritized by whatever is interesting about Bob — that is, whatever is outside the norm for eye color, hair color, hair styles, musculature, height, whether it is an old character with a too-young hairstyle, and so on. (Yes, the author does get to decide what "normal" is in his world if he doesn't like my value ranges — he could set a game in Japan where being Japanese is so common, it's not mentioned.) If the character has a classically ideal figure, the description will also make a comparison to a person with similar proportions (eg, from Marilyn Monroe to Brigitte Nielsen to Scarlet Johansson).
  • The author can write an introductory phrase (such as "Bob is a good friend of yours that you've known since your time together in the Navy") which precedes the automated description. If there isn't an introduction, the description will just give something generic (eg, "Bob is a tall man with...").
  • The player can examine individual body parts, including ARMS, LEGS, BACKSIDE, CHEST, and CROTCH, of any character. Body parts may be automatically described or, at the author's option, given a manual description instead. Multiple input terms are accepted (eg, for LEGS it will accept leg, legs, foot, feet, calf, calves, thigh, thighs, etc). If the player tries to examine certain body parts which the character doesn't have (eg, breasts, cock, pussy), the description will be slightly surprised, as if you expected to find such a thing and did not. For instance, in the sample game, try typing EXAMINE MY COCK.
  • A large number of simple types of clothing have been pre-defined. Garments have standard layers, such that items like underwear are always worn beneath trousers. Also, different types of garment cover different regions of the body. Only the uppermost layer of garments is described.
  • Clothing can also be defined by size: at the chest, waist, hips, bust, and inseam, where appropriate. Some garments (such as hats and socks) are exempt from sizing. Dimensions can be displayed in imperial or metric, although since sizes in both the UK and US are given in inches, body dimensions are usually given in inches. (This is easy to change, however.) The author can specify clothing sizes during creation by adding adjectives, like so: The pair of torn jeans is a hip-32 inseam-30 pair of trousers
  • Pronouns are defined not by whether a character is[ male or female, but whether the character looks male or female, based upon body statistics and gendered clothing (eg, somebody with long hair and wearing a dress will get extra feminine appearance points). Pursuant to this feature, both brassieres and underpants can be stuffed to give the appearance of the opposite sex. However, if the character is defined as one the player recognizes (i.e., the player knows the true identity), then the pronoun will be the correct male/female pronoun.
  • Also, upper garments have a certain amount of concealment; they can make breasts look smaller than they really are (if you have a female character that wants to appear to be a man). There is also a garment defined as a chest-bandage whose specific purpose is to conceal breasts. There is a limit to how much a pair of breasts can be concealed; natural breasts are easier to conceal than implants.Some upper garments can be described as overfilling, meaning that you can wear them, but if your boobs are too big you will spill out; if it's a shirt or a blouse, it won't button.
  • Sometimes nipples will be visible, depending on many things: how cold the room is, what kind of fabric the top is made of, how many layers there are, and how big the breasts are. When there is a chest-bandage or a stuffed brassiere in place, this doesn't occur (naturally).
  • If the character is not wearing a bra, this may be described, depending on how many layers there are.
  • Clothing is also defined by a number of possible colors and fabrics, with different characteristics. These can change the description in predictable ways. For example, a dark-colored bra worn under a light-colored thin-fabric shirt may be visible, provided the character has light-colored skin. Also, a pair of pantyhose will not conceal an ankle tattoo
  • Did I say tattoos? Yes, I did. A special type of garment, present at the level of the skin, is available. By default this is a tattoo, but it can be twiddled a bit to become a scar. Tattoos and scars will be visible if the character isn't wearing any clothing that obscures that region.
Body Statistics the Inform 7 Author Can Define:

  • HEIGHT. From 148 cm to 206 cm, or about 4'10" to 6'9".
  • MUSCULATURE. From 5 to 30. Roughly, muscles as a % of body weight.
  • FATNESS. From 5 to 30. Roughly, fat as a % of body weight.
  • MASCULINITY. From 3-6 (on males) and from 1-4 (on females). How broad the shoulders and upper body are.
  • FEMININITY. From 1-4 (on females) and usually 0 (on males). Determines how much wider hips are than waist.
  • NATURAL BREAST VALUE. From 0-63. Determines how sizeable breasts are. This is not a 1:1 correspondence to cup size; at the lower levels it is +2 for every cup size; then +3 for every cup size, +4, etc. Cup sizes are calculated from none to AA cup to HH cup.
  • IMPLANT VALUE. If you want silicone breasts described differently.
  • COCKSIZE. Size of genitals. The default is 0 cm for females and 15 cm for males (a nice real-world average value). There is no defined maximum.
  • HAIR-GROWTH-TOP, HAIR-GROWTH-SIDES, HAIR-GROWTH-BACK: a height (in cm) for the length of the hair in various areas.
  • CURRENT HAIR COLOR. Acceptable values are faded white, salt-and-pepper white, steely gray, bleached blond, platinum blond, strawberry blond, honey-blond, auburn, chestnut, cinnamon brown, chocolate brown, coppery red, fiery red, jet black, inky black, violent green, electric blue, hot pink, and neon orange.
  • HAIR ANGULARITY. How straight or curly the hair is. Acceptable values are (from least to most tightly curled) straight, wavy, curly and helical.
  • HAIR STYLE. Acceptable values are null-style, long, ponytail, flip, shag, bobbed, chopped, braids, French braid, pompadour, center-parted, side-parted, mullet, pageboy, pixie, pro, spiked, mohawk, buzz, afro, flattop, cornrows, moptop, ringlets, buzzpro, bald-wings, aging-hippie, bald-pated, tonsure, comb-over, and queue.
  • EYE-COLOR. Note hyphen. Acceptable values are e-blue-gray, e-blue, e-gray, e-brown, e-hazel, e-gray-violet, e-green, e-gray-green, and e-black.
  • SKINTONE. Hue. Acceptable values are (from most red to most yellow) Red2, Red1, Yellow1, Yellow2.
  • SKINVALUE. Lightness and darkness. Acceptable values are (from lightest to darkest) Light2, Light1, Dark1, and Dark2.
  • ETHNICITY and NATIONALITY. What kind of genetic makeup the character has; also, where the character might be from. Acceptable values are Caucasian, American, Black American, European, English, Irish, Canadian, Australian, German, Danish, Swedish, Norwegian, Dutch, Portuguese, French, Italian, Greek, Slavic, Russian, Polish, Hungarian, African, Ethiopian, Somalian, Kenyan, Asian, Japanese, Korean, Chinese, Hongkongese, Vietnamese, Cambodian, Filipino, Thai, Latin, Mexican, Puerto Rican, Jamaican, Cuban, Brazilian, Hawaiian, Polynesian, Native American, Jewish, Israeli, Middle Eastern, Persian, Moroccan, Egyptian, Lebanese, and Indian.


Not yet functional:

  • Dynamic descriptions of the face will go in a different extension, which is already mostly built.
  • Ensembles are not yet built.
  • Beards are not yet included in the description routines.
  • Clothing can have patterns and fabric types, but these are not mentioned in the descriptions.
  • Description of the chest does not also include description of the belly when it is noteworthy (eg, when the character is fat and/or pregnant).
  • It is possible to define both a natural hair color and a current hair color (if hair is dyed); this, however, does not affect the description (yet).
  • Commands to DRESS and UNDRESS all at once are not defined.
  • It should be possible to introduce wigs as a disguise element. I will try this at some point.


Later planned expansions:

  • Expansion 1. Clothing details: breaking strain of different fabrics; bursting out of clothing and describing damaged clothing; describing wetness and translucent wetness; clothing drying out over time; describing body/clothing features based on local conditions (such as dresses that ruffle in the wind or what a white T-shirt does out in the rain).
  • Expansion 2. Evaluation of the character's outfit. Identifying whether colors or patterns match or clash.

And here is a sample of what Dynamic Clothing can do. All of the descriptions of the characters are generated procedurally by the extension. The game itself merely defines the characters and what each of them is wearing.

Please note that the characters in this download do not DO anything. You cannot have sex with anybody, explore your body, or get seduced. This is not a game, this is a proof-of-concept for automated character descriptions. The only thing you can do is EXAMINE things and try on clothing.

When I have time, I'll post the completed extension.

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.

Friday, September 23, 2016

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.