Friday, October 23, 2020

RLV 2.9.28.2

Hi !


Here is a new version of the RLV with a few bug fixes, including a couple more "loopholes" that people told me about.

 

- fixed : A way to move the camera even while @camunlock is active (thank you Chloel3n for the heads-up).

- fixed : A way to teleport during login (thank you Svart Kjeller for the report). 

- fixed : When under @editobj=UUID (prevented from editing a particular object), we could not open the Build window either with Ctrl-B or with the Build button on the UI. It still worked with Ctrl-3. Thank you Sylkis Jenipe for the report.

- fixed : We still couldn't add an item to an attachment while sitting and restricted from sit-tping, despite the fact that the cursor was no longer blocked. It was half fixed, now it should be fully fixed.

- known issue : Clicking on a landmark in the Places window the first time after having opened it, scrolls the window down and loses the focus. This is problematic because it could lead you to TP where you didn't mean to (happens to me all the time). This bug is not an RLV one as it is present in the SL viewer too. See https://jira.secondlife.com/browse/BUG-229428).

- known issue : Moving the camera beyond the radius of a light makes that light shine brighter on surfaces which specular color is not white. This is an SL bug, not an RLV one. See https://jira.secondlife.com/browse/BUG-229436.



You can download the Windows version from http://www.erestraints.com/realrestraint/

The MD5 hash for the Windows version is :
62ef8984d5b0770f6d804eb6f981d6b9

The Linux and Mac versions are proposed by Chorazin at this address :
https://sourceforge.net/projects/kokua.team-purple.p/files/RLV/


Have fun !

Marine

Thursday, October 22, 2020

Fourth update to the Police Collar

Hi there,


Yep, this is yet another update to the Police Collar ! After nearly two years of not touching it. This one is about adding two features to satisfy some popular requests I've gotten during this year while working on other stuff : the ability to mix the two position monitors (relative to captor and absolute) with an AND or with an OR, and the ability for the captor to zap the sub without having to click on the collar first.

These sound easy but they were tricky to implement because the former required a substantial rewrite of the monitoring code, while the latter involves a new Police Collar Remote HUD.

 

Before you read further, if don't know how to update your collar please follow these instructions :

First you need to go to one of these locations :

My Little Shop
Chorazin's store
Roper's Dark Playground
Dark Wishes


Once there, click on the updater and follow the instructions. You need to choose "REPLACE" for this one as the Zapper plugin has been cut in two and has a second slave script now, and the HUD has been added to the collar so the updater cannot provide you those changes without a replacement. Don't forget to save your times. If you do not get a "REPLACE" option, contact me (Marine Kelley) to get a manual replacement.


Position monitors mixing

Until now, if the Relative position monitor (i.e. force the sub to stay close to their captor) and the Absolute position monitor (i.e. force the sub to stay close to a fixed point in a region) were both active, the sub was punished whenever she was outside the bounds of either of these monitors. This meant that if the captor was too far from the absolute area, the sub could not be in both areas at the same time and was constantly punished, so the captor had to turn the Absolute position monitor off before taking the sub for a walk. Not really practical.

This update provides you with a new "OR" switch (or "union" switch if you're into math) that is ON by default. When ON, the monitors will motivate the sub to stay either within the Absolute area or within the Relative area (if both are active). When OFF, the monitors will make the sub stay within both areas, like before, with the risk of constantly punishing her if the areas do not intersect.

Please note that although I write "area" I mean "volume" because the distances are 3D, but you get the point. "Area" works too because most of the time we move horizontally anyway.

Here is how you turn this switch on and off. Go to the Relative Position menu and click on "OR Abs.", or go to the Absolute Position menu and click on "OR Rel.", both buttons set that same "OR" switch. You can also go from one menu to the other by clicking on "Abs. Pos..." or "Rel. Pos..." respectively, as a shortcut.


Yes, I know, this "OR" switch is technically an "AND" switch since when it is ON, the monitors punish the sub when she is outside BOTH areas at the same time. But I find it easier to call it an "OR" switch as the sub is expected to stay inside the Absolute area OR the Relative area, not necessarily both at the same time. From the captor's and the sub's points of view, the sub has to stay either in one area OR in the other in order to avoid being punished.

This is pretty much it for this new switch, but it required to rewrite a good part of the monitoring code, which led to adding a new slave script named "CheckTargetPos" which is fully in charge of the monitoring now. This was needed because the original Zapper plugin was close to memory exhaustion, and the two features contained in this update required a lot of additional code which would have made the original script explode. Hence the need for a replacement.


Police Collar Remote

This is a new object provided along with the Police collar and you will find it by clicking on the new "Get Remote" button in the Zapper plugin menu (lower left corner) :


Once you get the Police Collar Remote object, wear it and you see this HUD :


Please note : If you do not see the blue text right away, right-click on the HUD to refresh it. I don't know what causes it but it seems to be a viewer issue.

Click on "TARGET" to set the target, either "NONE", "ME" (that's you), or any of the names that appear in the target menu if you are not alone. Those are not necessarily wearers of a Police Collar, they're just the 10 people closest to you within a 30 m radius around yourself. Choose one of them who is wearing a Police Collar preferably, ideally your own sub.

Please note : The communication only goes from the remote to the collar, there is no feedback the other way around.

Once a target is set, you see their display name (or at least the printable characters in it, I know some of you guys like to include bizarre Unicode characters in your display names ; well those certainly won't show on the remote) followed by their user name. If the text is too long to fit on the 24 characters of the display, it scrolls.

The remote itself is pretty easy to understand and to use. Here is what every button does.

- TARGET : Set a new target among the people around you, or yourself, or clear the target.

- MENU : Opens the menu of the Zapper plugin of the person set as the target. If their Zapper is not active, you see either "ACTIVATE" (if the target is yourself or if the Zapper is simply switched off) or "ASK" (if the Zapper was not activated by the sub manually first).

- SWITCH : Switches the monitoring on and off. This is different from the initial activation that the sub has to do manually in order to use the Zapper, even if it looks very similar. Internally, this is treated like a temporary deactivation that allows anyone, not just the sub, to reactivate the Zapper. Of course, if the sub clicks on "DEACTIVATE" in their own Options menu, then the Zapper is totally deactivated as if it were brand new, and will have to be reactivated again. This switch is useful when you want to take your sub on a walk and don't want her monitored and punished automatically, but you still want to be able to use the Zap buttons (which are out of reach in the menu since you have to click on "ACTIVATE" first to get access) to punish them manually.

- ZAP 1 to 3 : Immediately delivers an electric shock to the sub. This is exactly like clicking on "Zap low", "medium" or "high" respectively in the Zapper menu. These buttons work whether the Zapper is switched on or off, but not if it is completely deactivated by the sub.

- Title bar : This hides and shows the HUD to make room when needed.


The HUD is Copy/No-mod/Transfer so you can pass it along if you want, but only the person holding the key to the collar can control it through the remote. Unless the key is available, in which case anyone can control it.

You do not have to set the target every time you wear the Remote, and you do not need to get a new Remote every time you log on or whatnot. Once you have gotten this Remote, you can just keep using it.

Also, please note that this remote functions only if you are in the same sim as your target, it does not do cross-sim messages.


Have fun !

Marine




Monday, October 12, 2020

Update to all the MdlM Latex outfits

Hi !


Here is an update that was long overdue !

As you may know, the Maison De La Marquise Latex Catsuits, Bodysuits and Socks+Gloves were initially made for Maitreya only. Only later were they extended to work with any Omega-capable mesh body. However, at the time, Maitreya wasn't able to change the tint of a layer nor its Environment and Intensity values, only its Glossiness value. Nevertheless, the Catsuits and Bodysuits contained an interesting accessory in the form of a neck piece, to make the outfit cover the neck as well, giving them a kinkier and classier look.

At the same time, I also added boots to the Catsuits and Socks, which means another accessory.

Those accessories (neck piece and boots) were supposed to work seamlessly with the outfits, so they imitated their capabilities, which were... limited because of Maitreya.

But in the beginning of 2020, Maitreya released Version 5 which added a whole lot of new features, including the ability to change the Environment and Intensity values of the shine on a layer, as well as tinting said layer, either the base texture or the shine, making your latex much more versatile now. So the MdlM latex accessories were lagging behind in terms of features, since they did not support those.


So after all this time, here is (finally) a standalone HUD to control the tint and shine on the accessories, to make them completely assorted with your outfits, no matter how you like your latex. Here is what it looks like :


The layout of the sliders is not random : it is designed to imitate that of the Advanced Panel of the Layers tab of the Maitreya V5 HUD. The accessories HUD is the same width, and the sliders are the same dimensions :

It is made this way so that you can easily reproduce what you see on your Maitreya V5 HUD to your MdlM Accessories HUD because the sliders are aligned. It even behaves exactly the same way (click on a slider or the color swatch, drag and release to validate). The tints are HSL instead of RGB to make it easy to reproduce Maitreya's tint as well.


Here is how to use it.

Wear either accessory or both (neck and boots, but don't wear both boots items at the same time, you would look silly) and wear your Accessory HUD. Click on the Neck button to activate or deactivate commands to the neck, same things for the shoes with the Shoes button. Here is a picture with an explanation of (almost) each button :



Everything you click on, except for the Neck, Shoes, Tex and Gloss buttons, applies the current parameters you see on your HUD, to the currently selected accessory (or accessories). If you need to repeat the parameters to an accessory you've worn after having tweaked them, just click on the "Re-apply" button. If you need to go back to default (that's Gloss 150, Intensity 100% and Environment 0, as well as Visible On and Mask Off), click on the "Default" button.

If you need to change the tint, drag and release on the color swatch and on the luminosity swatch, and tweak more finely with the six arrows.

That's pretty much it, the rest is rather self-explanatory. If you don't know what a button does, click on it to find out. You can always go back to the default parameters anyway.

Please note that the communication only goes from the HUD to the accessories, not the other way around. An accessory will not update your HUD when you wear it because it does not "talk" to the HUD, it only listens to it.

Also note that non-updated accessories will not work with this new HUD, obviously. You can still hide and show the old accessories, as well as change their mask mode, via the applier HUD that you already know. Those buttons on the applier HUD also work on the updated accessories.


How to update

Simple. Either rez the updater contained in your folder (the one that was delivered to you by the Marketplace the day you bought it) and you will get your update automatically, or request a redelivery on the Marketplace website.


Have fun !

Marine

Tuesday, October 6, 2020

Some insight into Xulabarthath

Hi there,

I don't know about you, but sometimes I feel like Xulabarthath is a bit random in his activities... I know it's not, but I have a hunch his way of "thinking" is not immediately obvious to the player, and that's an understatement. It is true that I have been voluntarily vague in the main blog post.

This is why I'd like to give a little bit if insight about how he functions and how he chooses what to do next. I don't want to spoil but I don't want people to think the AI is bogus and he just acts randomly because he really doesn't. I've heard that concern only once though, it's not like everybody feels that way, maybe I'm just getting ideas.

Also, I don't want the game rules to be too opaque. You need tools to start thinking ahead of the game and to get the monster do to you exactly what you want, after all. This sort of "meta-game" is a game in itself.

If you prefer to ignore everything about how the AI functions, I recommend you stop reading here, nobody will blame you.

But if you're curious, read on.


Needs, Responses, Activities, Level

These are the most important data that the AI uses to figure out what to do next, what I call "Activities".

The Needs are the fundamental objectives that Xulabarthath must fulfill during a session. The Responses are updated each time you click on a dialog button. When you do, the response depends on what's going on at the time. For example, if you respond positively to being pleasured, then your "pleasure" response goes up.

Needs, Responses and main Activities have the same names. You even see that in the HUD's "activities" button (the one with a clock), the first eight buttons are those exact activities. The ones below them are sub-activities, simpler bricks the activities are built with. For example, the "gag" sub-activity is used by the "Bind" activity, while the "fuck pussy" sub-activity is part of the "Pleasure" and "Abuse" activities, and so on.


There are 8 Needs/Responses/Activities :

- Pleasure : The monster pleasures you mostly by teasing or fucking your pussy until you cum. He may also fuck your ass at the same time. If he needs to penetrate you, he will take care of pleasuring you first.

- Tease : The monster hugs or pleasures you but will be careful NOT to let you cum ! He will often tease you to the brink of orgasm then leave you wanting. Hehe.

- Breed : That one is pretty straightforward, the monster will fuck your pussy until he cums and impregnates you.

- Drug : The monster will put his tentacle in your mouth and either make you suck it or he will fuck it until he cums in your mouth. He may also fuck you in the ass at the same time. If you're already drugged enough, he will fuck your pussy instead.

- Pain : The monster may spank your ass, slap your pussy (if the tentacle is close enough because he is lazy), or even electrify you (provided you're not too pregnant as the monster does not want to hurt his baby).

- Abuse : This one is all about humiliating you and using you as his fuck toy. He will make you suck him, or fuck your mouth, or fuck your pussy (in which case he won't care if you cum, and if you are being punished, he won't even bother pleasuring you before penetrating you), or even force you to go through multiple orgasms !

- Bind : There are several ways to bind you. Find a more restrictive pose, coil more tentacles around your body, gag you, blindfold you... If the session ends and you are tightly bound, the monster will decide to toy with you a little more before releasing you.

- Strangle : The left leg tentacle coils up around your neck and strangles you until you yield, or if you're gagged by a tentacle over your mouth and nose, it will suffocate you instead. This activity can be chosen by itself without being a punishment for the moment, but this may change in the future.

As you may have noticed, half of the needs (hence activities) is positive ones while the other half is more suited for punishment. This is how the monster functions too. When you need to be punished, you can be sure one of the last four activities will be chosen to correct you. "Drug" is also one of the possible punishments. Some punishments are contextual, meaning they depend on what the monster wanted to do to you, or simply on where his tentacles are at the moment. For example, if you refuse to suck his cock, he will most likely strangle you. If you refuse to open your legs, he will most likely slap your pussy.

Between two activities, the monster may withdraw some tentacles to go back to a stable state.

There are plenty of cases where things won't or can't go as expected. For example, he can't drug you if you're gagged, he won't penetrate you if your gestation is too advanced, etc. When such a case arises, he switches to some contingency plan or another. This is where the AI shines, it adapts to the situation.

To calculate the final value of a Need (hence how many times it will be chosen as an activity), the AI adds the Need to your corresponding Response, factored by your Level.

I have hinted in the main blog post that your Level influences the way your own Responses were taken into account. To keep it simple, your Level is positive if it is Lady or above, negative if it is Heathen or below. Since your Responses are multiplied by your Level, this means a negative Level will make Xulabarthath have less need for activities that you responded positively to, and more need for the ones you responded negatively to. If your Level is positive, your Responses affect the monster's Needs the way you would expect and the monster will favor doing to you things that he knows you like. This is why keeping a good standing with the monster is important :)

The exception to this is the Response you give when Xulabarthath asks you what you want to avoid (that's the third question after starting a game). Any other choice than "Nothing" means the corresponding Response is considered to be a hard limit and the monster will not choose it because it inhibits the matching Need. For example, if you chose "Suffocation", you should never be strangled during this session even if the monster has a need for it (and even if strangulation was supposed to be chosen as a punishment). This inhibition does not depend on your Level either because a hard limit is a hard limit.

 

Begging

I have been very vague in the main blog post about this feature, which may lead to it being incorrectly used or not used at all (and in software development, a feature that is not used does not exist). But to explain it, you must know about Needs and Responses so here we are.

When you click on "Beg" on the book's menu during a game (you can't beg the monster if he's not here, right ?), you are presented with a menu with 8 buttons plus "nothing". Each of these 8 buttons corresponds to a Need/Response/Activity.

If you choose one which the monster has a high Need for, then the monster will appreciate you more, otherwise he will appreciate you less. And his appreciation is actually your Level. Please note that I wrote "has", not "had". This means that if you're begging to be made love to and the "Pleasure" Need is now low because it has been soothed, the monster will be irritated that you're so needy. It doesn't matter what the "Pleasure" Need was set to initially, what matters is its value at the time you beg.

Attention, each time you beg, the corresponding Need decreases a little so you will find out that begging for the same thing repeatedly is counter-productive since eventually your Level will take a hit. Better beg once for an activity you think the monster has a Need for. To guess that needs practice but if you read the descriptions of the activities above carefully, you will learn to recognize what the monster is doing at the time. Knowing that a Need is soothed (partially or completely) only when the activity ends, this helps you know when to beg and what to beg for.

In all cases, your chosen Response is increased by begging, as if you had responded positively to a dialog. In other words, begging is your way of making the monster ask you how you respond to the activity of your choice.

 

Choosing the next activity

When Xulabarthath must choose the next activity after the previous one has ended (or he must choose the first one), he looks at all his Needs, compounded by your Responses and Level and picks one of them randomly, weighted by the values of each Need (so a higher value has more chance to be chosen than a lower one).

Then he starts the corresponding activity, plays with you and then his Need is soothed, more or less depending on what happened and how you responded. When a Need is completely soothed, no matter your Response to it, it will no longer be chosen during this session.

When all the Needs are soothed, the session ends and Xulabarthath releases you. With the notable exception of being tightly bound, which will make the monster play with you a little more, because the "bind" need gets soothed progressively during the game (meaning the monster restrains you a little more, then does other things to you, then binds you further, etc). It would make no sense to end the game right after reaching the most restrictive bondage, right ? You want to enjoy it a little, I'm sure, so he takes advantage of you for a moment while you squirm in bondage.


Templates

When you start a game with the monster (not with the babies), a template is chosen. This template simply attributes values to the needs and this is what decides what will happen during the game. Some Needs are set higher than others to ensure they have a good chance of being chosen first. Likewise, other Needs are set lower than others to ensure they have a good chance of being chosen last. For example, the "breeder" template has a low (but not null) value in Breed, meaning the monster will do all kinds of things to you before going for the jackpot.

At the time of this writing, there are only a handful of templates and the choice is completely random, it does not depend on your Level. That's weak because one of the templates will make the monster be sadistic with you, which makes no sense if you're high Level.

So I'm currently working on it and will update this section once it's done. I want to add more templates and to make the monster choose one of them depending on your Level. It will still be random, but it will be a controlled random this time. Stay tuned.


I hope with all these explanations, you will no longer believe that Xulabarthath acts randomly anymore :)

Have fun !

Marine


PS : I repeat, I use the term "AI" loosely here. Technically the monster follows complex scripts (not in the LSL sense). There are a lot of "if we're in this situation then do this, and if it fails then do that instead, and if everything fails then here is the backup solution" instructions in the behavior trees. This is really like a video game AI, it is programmed exactly the same way. It is absolutely not a "I know the girl's pleasure is low and I want to make her cum, so let's examine my options" kind of AI. Let alone a "last time I punished her for being a brat, it went well so since she is a brat right now, let's punish her again" kind of AI.

In other words, this is a procedural AI instead of a declarative AI or a learning AI (except for the Responses which are taken into account, so there is a little bit of learning here). It is however still way beyond what we can do with a functional language like LSL (or even C#, C++, Python etc), because to write this sort of AI we need a language with a structure that is adapted for it, this is the structure we call "behavior trees".

Friday, October 2, 2020

RLV 2.9.28.1

Hi there,

I have noticed two ways of cheating through the vision spheres in the latest RLV (2.9.28) so here is a version (2.9.28.1) with the hotfixes ! Yes it has been an emergency, imagine all the clever subs being able to see through non opaque blindfolds. We don't want that, do we ? ;)


You can download the Windows version from http://www.erestraints.com/realrestraint/

The MD5 hash for the Windows version is :
5ffa1fa427481e9897d5587b7865c729

The Linux and Mac versions are proposed by Chorazin at this address :
https://sourceforge.net/projects/kokua.team-purple.p/files/RLV/


Have fun !

Marine

Thursday, October 1, 2020

RLV 2.9.28

Hi !

Here is the latest version of the RLV, which is up to date with the latest version of the SL viewer (6.4.9 with the new rendering changes and fixes). Aside from being updated to match the SL viewer, there are a few quality of life changes for those who spend a lot of time blindfolded, as well as a couple fixes.


Here is the list of changes :

- changed : Updated to be based on the SL viewer v6.4.9 with the "Love Me Render" improvements and fixes (https://releasenotes.secondlife.com/viewer/6.4.9.549455.html).

- changed : Now you can highlight invisible (pressing Ctrl Alt T to see invisible surfaces in red) even while vision-restricted, but when you do that the inner vision sphere becomes opaque to prevent from cheating.

- changed : Now you can edit an object and see its outline even while vision-restricted, but when you do that the inner vision sphere becomes opaque to prevent from cheating if "Show Selection Outlines" is active (which is the default).

- changed : When wearing several attachments that restrict your vision, if their vision spheres are of different colors, the mix is no longer an HSL one (which could lead to bizarre results sometimes) but a simple multiply, meaning the more restraints the darker. It's more intuitive that way.

- fixed : IM commands such as @version, @list etc should no longer be executed when sent by someone you have blocked.

- fixed : When none of the vision restriction spheres was opaque and either black or white, looking somewhere without rendering the avatar (i.e. either the avatar is a cloud or it is behind the camera and preferably behind a wall too) would render the spheres differently and in a less restrictive manner. The fix makes it so that when you do that, the inner sphere becomes fully opaque now.

- fixed : Now you can add and delete an item to an attachment's inventory while sitting on something and restricted from sit-tping.

- known issue : Moving the camera beyond the radius of a light makes that light shine brighter on surfaces which specular color is not white. This is an SL bug, not an RLV one. See https://jira.secondlife.com/browse/BUG-229436.

Please be aware of the last point, the known issue. There is still a rendering bug in the SL viewer that made its way into the RLV (see the link) and I'm waiting for LL to fix it. Hopefully it will not take too long.

You can download the Windows version from http://www.erestraints.com/realrestraint/

The MD5 hash for the Windows version is :
d67ace1c66a27d3a9a96fe6b3fd33639

The Linux and Mac versions are proposed by Chorazin at this address :
https://sourceforge.net/projects/kokua.team-purple.p/files/RLV/


Have fun !

Marine