devolution

Author Topic: General Discussion  (Read 3821249 times)

0 Members and 36 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5250 on: July 25, 2015, 07:47:49 AM »
It's a general knowledge about sex. It should be used in situations when we don't have a specific sex skill. You can call it in gui whatever you want, and you can change it in the code as long as you rewrite all the checks by yourself (items, schools, interactions)  :D

Pfff... :(

Ok, we agreed to place all those weird skills under oral I think...

What is a good combination of tags to get our former "blowjob" + "Bukkake" combination? Is it now called "after sex"?
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5251 on: July 25, 2015, 07:49:46 AM »
I cannot start the game even with your testing rpy.

Try changing it to: rchars.keys()

My current testing file requires more buildings code I think...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5252 on: July 25, 2015, 07:52:01 AM »
No. That's not enough variety for my checks if I use oral everywhere. Especially in the case of lesbian action.
Bukkake has it's own tag in groups and bdsm, cum covered. After sex is when there is a lot of, well, white stuff, but you cannot say what happened or even how many partners she had. So yeah, if you think that 1 man can do bukkake (I personally think you need several men), then after sex is a valid option too.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5253 on: July 25, 2015, 07:53:48 AM »
*gb tag is a pure bukkake in groups. bc is cumcovered in bdsm.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5254 on: July 25, 2015, 08:03:51 AM »
Still no. 
Quote
File "game/script.rpy", line 220, in script call
    call testing
  File "game/library/testing.rpy", line 2, in script
    python:
  File "game/library/testing.rpy", line 57, in <module>
    for girl in char.values():
NameError: name 'char' is not defined
Well, I can't do anything without a working game  ::)

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5255 on: July 25, 2015, 08:24:47 AM »
chr should be char
char should be chars
rchar should be rchars

Only if they throw errors.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5256 on: July 25, 2015, 08:30:11 AM »
I need rts function to return what it selected (either trait or general occupation). I won't be able to make what I wanted without it, when there are different outcomes for different conditions.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5257 on: July 25, 2015, 08:36:35 AM »
* mean it should work with both traits and occupations like SIW, my post is kinda vague  :D

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5258 on: July 25, 2015, 09:06:41 AM »
Just pushed limited update to jobs, my testing file attached.

I gtg now. Pretty much all interactions helper functions would have to be rewritten if you need rts to return specific trait. That function evaluates strings as well as checks for traits directly. Former is far more common. That plainly means that rts does not know which traits it deals with because it evaluates other functions such as co, ct and cgo and just gets True or False never knowing what traits were checked.

Can you tell me exactly what you need and most impotently to what purpose. Maybe there is a better way...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5259 on: July 25, 2015, 09:32:08 AM »
Let's begin our lection!  8)

As you (hopefully) know, rts function was developed to select randomly one of conditions and then randomly select one of the lines for that condition. Initially it was made to work with traits only, but using constructions like "cgo('SIW')" you can make it work with occupations too. Perhaps it could work with any conditions at all, I never tried, but I might soon enough.

It was developed because elif+dice constructions couldn't provide a proper level of randomness for big amounts of checks.

Now, one thing is when you just want a 100% random line. But what if you want to do something after showing a line, like check cleaning skill if Server occupation was selected by rts or check sex skill if Nymphomaniac trait was selected by rts? And then based on those checks do something? Well, the answer is that you cannot do it because currently you don't know what rts selected.

Strictly speaking, we don't HAVE to use rts for such cases. Another function could be created for cases when you need not just line. What I need is a function that will select randomly one of several conditions (like occupation, trait or even stats) and then will execute an arbitrary code made for that selected condition. Note that is should select only from those conditions which are true. Also rts has "default" condition that works if none of conditions is true.
« Last Edit: July 25, 2015, 01:20:07 PM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5260 on: July 25, 2015, 01:03:09 PM »
Let's begin our lection!  8)

As you (hopefully) know, rts function was developed to select randomly one of conditions and then randomly select one of the lines for that condition. Initially it was made to work with traits only, but using constructions like "cgo('SIW')" you can make it work with occupations too. Perhaps it could work with any conditions at all, I never tried, but I might soon enough.

It was developed because elif+dice constructions couldn't provide a proper level of randomness for big amounts of checks.

Now, one thing is when you just want a 100% random line. But what if you want to do something after showing a line, like check cleaning skill if Server occupation was selected by rts or check sex skill if Nymphomaniac trait was selected by rts? And then based on those checks do something? Well, the answer is that you cannot do it because currently you don't know what rts selected.

Strictly speaking, we don't HAVE to use rts for such cases. Another function could be created for cases when you need not just line. What I need is a function that will select randomly one of several conditions (like occupation, trait or even stats) and then will execute an arbitrary code made for that selected condition. Note that is should select only from those conditions which are true. Also rts has "default" condition that works if none of conditions it true.

Is there really a point in writing a func for this? Especially if you want to do it in real time? One decent solution may be to labelnames to rts instead of text! Than if you want a simple answer, like one line of text, you add one line of text. If you want a complicated answer, you add a label name and make sure such label is there so you can call it. This way you do not need anything from me at all...
Code: [Select]
        $ line = rts(char, {
        "Athletic": ["rts_athletic_choice"],
        "Manly": ["She gives you a lection how to build your muscles properly. You feel a bit offended, but keep your cool.", "She casually remarks that you should exercise more often, and gives you some advices."],
        "default": ["You chat for some time."]
        })

For example, then:

Code: [Select]
if renpy.has_label(line): # We call a label (or jump if that is more appropriate)
    call expression line
else:
    "[line]" # We interpolate the line

    # Rest of code

so if you have:

Code: [Select]
label rts_athletic_choice:
    char.say "I'll race you to the cafe! "
    extend "There is a reward for you if you win!"
    if hero.agility > char.agility:
        "You can in first!"
    else:
        "You just wasn't fast enough..."

     return

I think this is an excellent compromise where you're in complete control.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5261 on: July 25, 2015, 01:27:19 PM »
Yeap, look like it works like you described. Excellent.

I'm also thinking about using hidden flags for interactions, something like what AA has, but less complex. In AA the game remembers in details absolutely everything you and other characters do. In our case I want to create flags that will remember in general what did you do within interactions.
Thus, not only disposition, but also flags will matter when we check something. The more you flirt for example, the less disposition you will need for a lover status (within reasonable limits).

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5262 on: July 25, 2015, 01:44:24 PM »
I'm also thinking about using hidden flags for interactions, something like what AA has, but less complex. In AA the game remembers in details absolutely everything you and other characters do. In our case I want to create flags that will remember in general what did you do within interactions.
Thus, not only disposition, but also flags will matter when we check something. The more you flirt for example, the less disposition you will need for a lover status (within reasonable limits).

Well, I think that what you are doing now, maybe paired with moar groups than just the friends and lovers will do fine, maybe even until 1.0 release. There is so much other stuff to do... We lack in NPCs department, we lack quests, general story line and so on.

It feels like this should be a module... but I can also see it working well as you describe. If you do this or do it partially, please make sure that every flag starts with int_ or interaction_ (and second part clearly describes the flag). This way, if we ever create a module for this, I can write a bridge from flags to the module without issues.

===
Ia m going to put 20 more mins into jobs and disappear for an hour or two again, then work into the night until I fall asleep. If I can finish even just the WhoreJob adaptation today, I'll just need a stripclub or waitress jobs so I can start working on the deeper, cooler loop/business/manager logic :) I just need a working jobs dealing with a single and multiple clients :)
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #5263 on: July 25, 2015, 02:23:17 PM »
If you want npcs, they actually should have a class. Because we'll need it at some point anyway, and the more npcs we made now without a class, the more we'll have to change after such a class will be created.
At very least they need all used in BE stats and disposition.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #5264 on: July 25, 2015, 05:25:13 PM »
If you want npcs, they actually should have a class. Because we'll need it at some point anyway, and the more npcs we made now without a class, the more we'll have to change after such a class will be created.
At very least they need all used in BE stats and disposition.

Agreed, it's very, very easy to arrange (I am not even sure if we need a special class for NPCs, prolly not). We should also rewrite all NPCs as proper characters!

There are two questions:

1) Do we want jsons for NPCs? For clear and convenient data structure or should we just instantiate them with Python?

2) Would it be too much of a bother to extend our tagging system to all characters (maybe excluding mobs). I can add default as a combat picture for male characters (arena fighters) and vnsprite for NPCs (instead of profile). This would be a solid first step towards unification of tag systems and maybe even a decent first step towards multiple sexes in the game (which can only happen is someone adds gender interpolations to interactions/girlsmeets texts). But at least it will be possible to make packs right of the bat and jobs are not that hard to adapt.

3) Anyway, even if we postpone this, I think that at least NPCs should work with the normal tagging system.
Like what we're doing?